Re: [squid-users] FATAL: xcalloc: Unable to allocate 1 blocks of 4112 bytes!

From: Pranav Desai <pranavadesai@dont-contact.us>
Date: Fri, 8 Sep 2006 15:55:04 -0700

On 9/7/06, Pranav Desai <pranavadesai@gmail.com> wrote:
> On 9/6/06, Henrik Nordstrom <henrik@henriknordstrom.net> 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
Received on Fri Sep 08 2006 - 16:55:07 MDT

This archive was generated by hypermail pre-2.1.9 : Sun Oct 01 2006 - 12:00:03 MDT