Subject: Re: signal 11 in make
To: None <netbsd-help@netbsd.org>
From: Jeremy C. Reed <reed@reedmedia.net>
List: netbsd-help
Date: 10/04/2007 16:40:47
On Thu, 4 Oct 2007, David Laight wrote:

> On Thu, Oct 04, 2007 at 04:10:28PM -0500, Jeremy C. Reed wrote:
> > 
> > Program terminated with signal 11, Segmentation fault.
> > #0  0xbbb92bfa in memmove () from /usr/lib/libc.so.12
> > (gdb) bt
> > #0  0xbbb92bfa in memmove () from /usr/lib/libc.so.12
> > #1  0x08056c67 in ParseGetLine (flags=0, length=0xbfbfcc1c)
> >     at /opt/src/usr.bin/make/parse.c:2130
> > #2  0x080576b1 in Parse_File (name=0x80624c3 "Makefile", fd=3)
> >     at /opt/src/usr.bin/make/parse.c:2307
> > #3  0x08053b88 in ReadMakefile (p=0x80624c3, q=0x0)
> >     at /opt/src/usr.bin/make/main.c:1199
> > #4  0x0805460a in main (argc=2, argv=0xbfbfdaf4)
> >     at /opt/src/usr.bin/make/main.c:979
> 
> It might just be out or memory, try changing ulimit -d


Maybe. The highest I can go is:

$ ulimit -d -S                     
3145728

My hard limit is:

$ ulimit -d -H    
3145728

By the way, I was only able to get it that high with:

sysctl -w proc.$$.rlimit.datasize.soft=3221225472

But when using ksh, it fails with when setting limit that high (taking in 
consideration of kilobytes versus bytes). For example:


(I tried many others and found 2097151 was my max when using ulimit, but 
could use sysctl to set higher.)
$ ulimit -d -S 2097152             
ksh: ulimit: bad limit: Invalid argument
$ ulimit -d -S 2097151 
$ ulimit -d -S         
2097151
$ ulimit -d -H
3145728

Why is ksh say bad limit?

Also what can we do to get make(1) to complain instead of core dump?

And why is gmake work? Why is it more efficient in this instance?

By the way, the memory on this system is little:

total memory = 97852 KB
rbus: rbus_min_start set to 0x20000000
avail memory = 88004 KB

(Should be 128MB. I don't know why it is 97852 KB -- maybe video.)

Memory: 46M Act, 4028K Inact, 1008K Wired, 19M Exec, 7076K File, 19M Free
Swap: 411M Total, 191M Used, 220M Free


  Jeremy C. Reed