httpd-dev mailing list archives

Site index · List index
Message view « Date » · « Thread »
Top « Date » · « Thread »
From Jeff Trawick <traw...@attglobal.net>
Subject Re: [PATCH] ab.c: check for invalid value for concurrency
Date Wed, 17 Mar 2004 18:15:08 GMT
Mathihalli, Madhusudan wrote:
>>-----Original Message-----
>>From: Jeff Trawick [mailto:trawick@attglobal.net]
> 
> [SNIP]
> 
>>Mathihalli, Madhusudan wrote:
>>
>>>Hi,
>>>	If the "-c" option is given a arbitrarily huge value, 
>>
>>ab dumps core.
>>
>>>(Try: ab -c 2147483647 http://foo.com/)
>>
>>why does it dump core?  malloc says sure I can give you 2GB 
>>but then we 
>>segfault trying to access the pages?  or something else?
>>
> 
> 
> Here's the stack trace:
> 
> (gdb) r -c 2147483647 http://foo.com/   
> [...]
> 
> Breakpoint 1, test () at ab.c:1606
> 1606        con = calloc(concurrency * sizeof(struct connection), 1);
> (gdb) p con
> $1 = (struct connection *) 0x0
> (gdb) c
> 
> Program received signal SIGSEGV, Segmentation fault (si_code: 2).
> 0x40000000000a14a0:1 in test () at ab.c:1686
> 1686            con[i].socknum = i;
> (gdb) bt
> #0  0x40000000000a14a0:1 in test () at ab.c:1686
> #1  0x40000000000a55d0:0 in main (argc=4, argv=0x9ffffffffffff400) at ab.c:2215
> (gdb) p con
> $1 = (struct connection *) 0x0
> (gdb) p i
> $2 = 0
> 

heap allocation failed...  I just wanted to know ;)

okay, so your max of 20000 sounds reasonable (plenty generous) to me...  with 
63K or so max ephemeral ports, you're not going to go far unless connections 
are long-lived


Mime
View raw message