On 9/7/06, Pranav Desai <pranavadesai@xxxxxxxxx> wrote:
On 9/6/06, Henrik Nordstrom <henrik@xxxxxxxxxxxxxxxxxxx> wrote: > ons 2006-09-06 klockan 18:54 -0700 skrev Pranav Desai: > > > 64-bit. > > Then I have no idea. Have 64-bit Squid's being many GB in size.. > Ok thanks. Let me try to find some more information.
I just tried a small calloc loop to find out if there is any system imposed limitation. This program can increase in mem size much higher that 1G, at which squid seems to fail. while (1) { fprintf(stdout, "allocating %d\n", i++); if ((p = calloc(1, atoi(argv[1]))) == NULL) { fprintf(stdout, "calloc failed ... %d\n", i); perror("calloc"); return -1; } usleep(atoi(argv[2])*1000); }
From the error string and related code in utils.c it looks like that
calloc is failing. Can someone help me debug this further. I dont know how to debug things like malloc, so I kindof stuck here. The other thing I found is in the strace. Last brk() before it failed. It seems like some 24bit limit. Any ideas ? brk(0x40000000) = 0x3ffff000 socket(PF_FILE, SOCK_DGRAM, 0) = 13 fcntl(13, F_SETFD, FD_CLOEXEC) = 0 connect(13, {sa_family=AF_FILE, path="/dev/log"}, 16) = 0 sendto(13, "out of memory [1785]", 20, MSG_NOSIGNAL, NULL, 0) = 20 write(4, "FATAL: xmalloc: Unable to alloca"..., 105) = 105 I would appreciate any help I can get ... Thanks -- Pranav
-- Pranav > Regards > Henrik > > > -- ------------------------------ http://pd.dnsalias.org
-- ------------------------------ http://pd.dnsalias.org