Skip site navigation (1)Skip section navigation (2)
Date:      Tue, 03 Sep 2002 08:18:52 -0700
From:      Peter Wemm <peter@wemm.org>
To:        ak03@gte.com
Cc:        Dag-Erling Smorgrav <des@FreeBSD.ORG>, current@FreeBSD.ORG
Subject:   Re: alpha tinderbox failure 
Message-ID:  <20020903151852.7CB452A7D6@canning.wemm.org>
In-Reply-To: <20020903075918.269e2aa1.kabaev@bellatlantic.net> 

next in thread | previous in thread | raw e-mail | index | archive | help
Alexander Kabaev wrote:
> On Tue, 3 Sep 2002 04:23:39 -0700 (PDT)
> Dag-Erling Smorgrav <des@FreeBSD.ORG> wrote:
> 
> > ===> usr.bin/getconf
> > Virtual memory exhausted in `operator new'
> > *** Error code 1
> 
> This one I can reproduce. Will fix soon.

Here's a clue:
peter@beast[8:06am]~-130> cat foo.c
int main(int ac, char *av[])
{
        char *a = new char[10000];
}
peter@beast[8:07am]~-131> c++ -o foo foo.c
peter@beast[8:07am]~-132> ./foo
peter@beast[8:08am]~-133> c++ -static -o foo foo.c
peter@beast[8:08am]~-134> ./foo
Abort

peter@beast[8:09am]~-147> ktrace ./foo
Abort
peter@beast[8:09am]~-148> kdump
 34729 ktrace   RET   ktrace 0
 34729 ktrace   CALL  execve(0x11fff947,0x11fff758,0x11fff768)
 34729 ktrace   NAMI  "./foo"
 34729 foo      RET   execve 0
 34729 foo      CALL  readlink(0x12000a154,0x11fff628,0x3f)
 34729 foo      NAMI  "/etc/malloc.conf"
 34729 foo      RET   readlink -1 errno 2 No such file or directory
 34729 foo      CALL  mmap(0,0x2000,0x3,0x1002,0xffffffffffffffff,0,0)
 34729 foo      RET   mmap 1610612736/0x160000000
 34729 foo      CALL  break(0x120030000)
 34729 foo      RET   break -1 errno 12 Cannot allocate memory
...

versus dynamic:
peter@beast[8:10am]~-152> ktrace ./foo
peter@beast[8:11am]~-153> kdump | more
 35056 ktrace   RET   ktrace 0
 35056 ktrace   CALL  execve(0x11fff947,0x11fff758,0x11fff768)
 35056 ktrace   NAMI  "./foo"
 35056 ktrace   NAMI  "/usr/libexec/ld-elf.so.1"
 35056 foo      RET   execve 0
 35056 foo      CALL  mmap(0,0x1590,0x3,0x1000,0xffffffffffffffff,0,0)
 35056 foo      RET   mmap 1610792960/0x16002c000
 35056 foo      CALL  munmap(0x16002c000,0x1590)
 35056 foo      RET   munmap 0
 35056 foo      CALL  __sysctl(0x11fff478,0x2,0x16012ccf8,0x11fff488,0,0)
 35056 foo      RET   __sysctl 0
 35056 foo      CALL  mmap(0,0x8000,0x3,0x1002,0xffffffffffffffff,0,0)
 35056 foo      RET   mmap 1610792960/0x16002c000
[.. lots of ld.so stuff trimmed ...]
 35056 foo      CALL  sigprocmask(0x3,0x16012d158,0)
 35056 foo      RET   sigprocmask 0
 35056 foo      CALL  readlink(0x16024204c,0x11fff628,0x3f)
 35056 foo      NAMI  "/etc/malloc.conf"
 35056 foo      RET   readlink -1 errno 2 No such file or directory
 35056 foo      CALL  mmap(0,0x2000,0x3,0x1002,0xffffffffffffffff,0,0)
 35056 foo      RET   mmap 1611612160/0x1600f4000
 35056 foo      CALL  break(0x120014000)
 35056 foo      RET   break 0
 35056 foo      CALL  break(0x120018000)
 35056 foo      RET   break 0
 35056 foo      CALL  exit(0)

ie: we have this which works:
 35056 foo      CALL  break(0x120014000)
 35056 foo      RET   break 0
vs:
 34729 foo      CALL  break(0x120030000)
 34729 foo      RET   break -1 errno 12 Cannot allocate memory

It doesn't appear to be a resource limit though:

peter@beast[8:17am]~-172> cat foo.c
char buf[1000000];

int main(int ac, char *av[])
{
        char *a = new char[10000];
}
peter@beast[8:17am]~-173> c++ -o foo foo.c
peter@beast[8:17am]~-174> ktrace ./foo
peter@beast[8:18am]~-175> kdump | grep break
 36947 foo      CALL  break(0x120108000)
 36947 foo      RET   break 0
 36947 foo      CALL  break(0x12010c000)
 36947 foo      RET   break 0

How strange..

Cheers,
-Peter
--
Peter Wemm - peter@wemm.org; peter@FreeBSD.org; peter@yahoo-inc.com
"All of this is for nothing if we don't go to the stars" - JMS/B5


To Unsubscribe: send mail to majordomo@FreeBSD.org
with "unsubscribe freebsd-current" in the body of the message




Want to link to this message? Use this URL: <https://mail-archive.FreeBSD.org/cgi/mid.cgi?20020903151852.7CB452A7D6>