Re: assertion failed: BodyPipe.cc:261: "!theConsumer"

From: Alex Rousskov <rousskov_at_measurement-factory.com>
Date: Wed, 16 Nov 2011 12:05:35 -0700

On 11/16/2011 10:12 AM, Peter Smith wrote:

> I've received 2 different types of this error on 3 different boxes
> within the past 24 hours. Do I need to create two separate bug
> reports? Please see the following.

Hi Peter,

    Please file one bug report with two full traces. Please also add the
following gdb info for each full trace:

    set print pretty

    frame 3
    print this
    print *this

    frame 4
    print this
    print *this

    frame 9
    print this
    print *this

From the looks of it, a server-side cleanup forces the client-side code
to call BodyPipe::expectNoConsumption() while the server-side is still
consuming. The interesting bits (frames 4-7) are not yet available.

Please do not forget to specify your exact Squid version.

> The two different traces look like this, mostly. They seem to diverge at frame #9.
>
> #0 0x00007f5d9ef3c905 in raise (sig=<value optimized out>) at ../nptl/sysdeps/unix/sysv/linux/raise.c:64
> #1 0x00007f5d9ef3e0e5 in abort () at abort.c:92
> #2 0x00007f5da179a658 in xassert (msg=0x7f5da193988b "!theConsumer", file=0x7f5da1939789 "BodyPipe.cc", line=261) at debug.cc:556
> #3 0x00007f5da179427b in BodyPipe::expectNoConsumption (this=0x7f5e3e2b6a48) at BodyPipe.cc:261
> ...
> #8 0x00007f5da17c18f3 in RefCount<FwdState>::operator= (this=0x7f5e2af97a00, p=...) at ../include/RefCount.h:66
> #9 0x00007f5da1853da0 in ServerStateData::~ServerStateData (this=0x7f5e2af979c8, __vtt_parm=0x7f5da1be5348, __in_chrg=<value optimized out>) at Server.cc:84
>
> and
>
> #0 0x00007f4470d3e905 in raise (sig=<value optimized out>) at ../nptl/sysdeps/unix/sysv/linux/raise.c:64
> #1 0x00007f4470d400e5 in abort () at abort.c:92
> #2 0x00007f447359c658 in xassert (msg=0x7f447373b88b "!theConsumer", file=0x7f447373b789 "BodyPipe.cc", line=261) at debug.cc:556
> #3 0x00007f447359627b in BodyPipe::expectNoConsumption (this=0x7f463fb27778) at BodyPipe.cc:261
> ...
> #8 0x00007f44735c38f3 in RefCount<FwdState>::operator= (this=0x7f44f45e8470, p=...) at ../include/RefCount.h:66
> #9 0x00007f44735c0740 in FwdState::retryOrBail (this=0x7f44f45e8448) at forward.cc:555
>
> Thanks,
> Peter
>
> Note: Related to http://bugs.squid-cache.org/show_bug.cgi?id=3117

Are you using Squid 3.1? IIRC, bug 3117 is for a very old Squid v3.1
exception. The bug you are reporting above is with a very new code. I
suspect these are two different bugs. I recommend treating them as such
for now.

HTH,

Alex.
Received on Wed Nov 16 2011 - 19:06:04 MST

This archive was generated by hypermail 2.2.0 : Thu Nov 17 2011 - 12:00:04 MST