Date: Tue, 26 Oct 2004 12:55:06 -0500 From: "James R. Van Artsalen" <james@jrv.org> To: obrien@freebsd.org Cc: freebsd-amd64@freebsd.org Subject: Re: two 4GB mallocs => SEGV Message-ID: <417E8F7A.70009@jrv.org> In-Reply-To: <20041026173005.GA2984@dragon.nuxi.com> References: <20041026115041.GE2841@sivokote.iziade.m$> <20041026173005.GA2984@dragon.nuxi.com>
next in thread | previous in thread | raw e-mail | index | archive | help
David O'Brien wrote: >malloc.c:map_pages() calls brk(2) and this is where it goes to la-la land. > > > The brk() kernel call is probably failing due to ulimit being exceeded and not anything mysterious. A few months ago I posted this bug in the libc brk(2) code - the stack is not balanced if the kernel returns an error. I'm not running current code at the moment but see if you brk.S has a stack issue at the err: label. Stick in this pop if so and report if malloc(3c) then returns NULL instead of crashing, then up your ulimit and try again and see if all works without error. --- lib/libc/amd64/sys/brk.S.~1~ Sat May 24 12:35:23 2003 +++ lib/libc/amd64/sys/brk.S Fri Apr 9 02:02:22 2004 @@ -78,6 +78,7 @@ popq %rdi ret err: + popq %rdi #ifdef PIC movq PIC_GOT(HIDENAME(cerror)),%rdx jmp *%rdx
Want to link to this message? Use this URL: <https://mail-archive.FreeBSD.org/cgi/mid.cgi?417E8F7A.70009>