On Fri, Dec 04, 2015 at 09:18:38AM +0100, Bernd Helm wrote:
> On 12/03/2015 06:53 PM, Willy Tarreau wrote:
> >Maybe we're facing a bug where the buffer wraps at the end or something
> >like this. Bernd, if you still have the core, could you please issue
> >"print *b" while in buffer_insert_line2() ?
> yes, i still have the core.
> 
> (gdb) frame 1
> #1  0x0000000000413349 in buffer_insert_line2 (b=0x1e47a70,
>     pos=0x1e47acb "ntent-Type: text/html; 
>     charset=UTF-8\r\nTransfer-Encoding: chunked\r\n\r\n1b9\r\n<!DOCTYPE 
>     html PUBLIC \"-//W3C//DTD XHTML 1.0 Transitional//EN\" 
>     \"http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd\";>\n<html"..., 
> str=0x513979 "Connection: close",
>     len=17) at src/buffer.c:126
> (gdb) print *b
> $1 = {p = 0x0, size = 822083584, i = 64, o = 2818572288, data = 0x1e47a84 
> "z\344\001"}
> 
> if you need more information, let me know. thank you.

The buffer was corrupted :-(
I guess it was corrupted just before doing this buffer_insert_line2(),
causing it to crash. Buffers are manipulated a lot, so it must have
been still good a few nanoseconds before calling this. I'll review the
code in this area in case I can find any hint relevant to your config.

Thanks,
Willy


Reply via email to