Date: Tue, 26 Oct 2004 14:47:06 +0200 From: Willem Jan Withagen <wjw@withagen.nl> To: Georgi Guninski <guninski@guninski.com> Cc: freebsd-amd64@freebsd.org Subject: Re: two 4GB mallocs => SEGV Message-ID: <417E474A.1000401@withagen.nl> In-Reply-To: <20041026115041.GE2841@sivokote.iziade.m$> References: <20041026115041.GE2841@sivokote.iziade.m$>
next in thread | previous in thread | raw e-mail | index | archive | help
Georgi Guninski wrote: > on a freebsd amd64 box with more than 8GB swap i experience the following: > > amdkotef64# uname -a > FreeBSD amdkotef64.localdomain 5.3-BETA6 FreeBSD 5.3-BETA6 #0: Sat Sep 25 > 21:49:38 UTC 2004 root@fanboy.samsco.home:/usr/obj/usr/src/sys/GENERIC > amd64 > amdkotef64# > > amdkotef64# cat test.c > #include <stdlib.h> > > int main(int ac, char **av) > { > char *a, *b; > size_t siz; > siz=4L*1024L*1024L*1024L; > printf("%lx\n",siz); > a=malloc(siz); > printf("%lx\n",a); > b=malloc(siz); > printf("%lx\n",b); > } > amdkotef64# gcc test.c > amdkotef64# ./a.out > 100000000 > 503000 > /: write failed, filesystem is full > Segmentation fault These 2 lines stem from the fact that the program is being dumped and there is not enough space to dump the full size core of that program. what does swapinfo tell you during the the run of the program??? I ran malloc tests in 4Gb with 5Gb of swap, which it nicely completely filled, and then in faulted, because there was no more space. This behaviour can be set, I think. Check man 5 malloc.conf, and check /etc/malloc.conf to see if you've got the X-flag on. I have malloc.conf-> aj, and the program terminates in 3 seconds because it does not zero the memory. So pick and choose the behaviour you want. --WjW > amdkotef64# df -h > Filesystem Size Used Avail Capacity Mounted on > /dev/ad0s3a 3.8G 3.7G -236M 107% / > devfs 1.0K 1.0K 0B 100% /dev > /dev/ad0s3d 4.7G 34K 4.3G 0% /home > amdkotef64# du -h a.out.core > 2.5G a.out.core > amdkotef64#
Want to link to this message? Use this URL: <https://mail-archive.FreeBSD.org/cgi/mid.cgi?417E474A.1000401>