Package: squid3
Version: 3.1.20-2.2
Severity: normal

I noticed that squid would occasionally restart its worker process.
Looking into system logs I discovered that it would die by signal 6
about twice a week. That doesn't make a useful bug report, so I set
ulimit -c unlimited in the init script and voilà there is a core file.

Here is a traceback of the assertion:

(gdb) bt full
#0  0x00007f8b41f38475 in raise () from /lib/x86_64-linux-gnu/libc.so.6
No symbol table info available.
#1  0x00007f8b41f3b6f0 in abort () from /lib/x86_64-linux-gnu/libc.so.6
No symbol table info available.
#2  0x00007f8b43e1b5bc in xassert (msg=<optimized out>, file=<optimized out>, 
line=<optimized out>) at debug.cc:556
No locals.
#3  0x00007f8b43ed6c68 in commHandleRead (fd=14, data=0x7f8b3f2265c8) at 
comm.cc:302
        ccb = 0x7f8b3f2265c8
        retval = <optimized out>
#4  0x00007f8b43e19d59 in comm_select (msec=<optimized out>) at 
comm_epoll.cc:307
        i = <optimized out>
        fd = 14
        num = <optimized out>
        F = 0x7f8b3fb294a0
        hdl = 0x7f8b43ed6b30 <commHandleRead(int, void*)>
        cevents = 0x7f8b3f0e3010
#5  0x00007f8b43ed9a1e in CommSelectEngine::checkEvents (this=<optimized out>, 
timeout=<optimized out>) at comm.cc:2688
        last_timeout = 1371590470
#6  0x00007f8b43e2f571 in EventLoop::checkEngine (this=0x7fffec6c8810, 
engine=0x7fffec6c87d0, primary=<optimized out>)
    at EventLoop.cc:50
        requested_delay = <optimized out>
#7  0x00007f8b43e2f7f5 in EventLoop::runOnce (this=this@entry=0x7fffec6c8810) 
at EventLoop.cc:124
        sawActivity = <optimized out>
        waitingEngine = 0x7fffec6c87d0
#8  0x00007f8b43e2f8d8 in EventLoop::run (this=0x7fffec6c8810) at 
EventLoop.cc:94
No locals.
#9  0x00007f8b43e7eb33 in SquidMain (argc=<optimized out>, argv=<optimized 
out>) at main.cc:1418
        signalEngine = {<AsyncEngine> = {_vptr.AsyncEngine = 0x7f8b442078f0}, 
loop = @0x7fffec6c8810}
        store_engine = {<AsyncEngine> = {_vptr.AsyncEngine = 0x7f8b44207930}, 
<No data fields>}
        comm_engine = {<AsyncEngine> = {_vptr.AsyncEngine = 0x7f8b44209d10}, 
<No data fields>}
        mainLoop = {errcount = 0, last_loop = false, engines = {capacity = 16, 
count = 4, items = 0x7f8b45eadae0}, timeService = 
    0x7fffec6c87e0, primaryEngine = 0x7fffec6c87d0, loop_delay = 1000, error = 
false, runOnceResult = false}
        time_engine = {_vptr.TimeEngine = 0x7f8b442094f0}
#10 0x00007f8b43ddc89b in SquidMainSafe (argv=<optimized out>, argc=<optimized 
out>) at main.cc:1176
No locals.
#11 main (argc=<optimized out>, argv=<optimized out>) at main.cc:1168
No locals.
(gdb) 

According to the source the particular assertion being triggered from
commHandleRead is this one:

    assert(commio_has_callback(fd, IOCB_READ, ccb));

We already see that fd is 14 above, but what is ccb?
(gdb) print *ccb
$1 = {type = IOCB_READ, fd = 14, callback = {p_ = 0x0}, buf = 0x7f8b59589eb0 
"¶\002", freefunc = 0, size = 2, offset = 0, 
  errcode = COMM_ERR_CLOSING, xerrno = 0}
(gdb) 

Not sure whether this is already enough to track the issue down. Can I
provide anything else of interest? I am keeping the core around for some
time in case you have specific questions about it. I will also try to
collect a few more cores to see if it is always the same assertion.

Helmut

-- System Information:
An wheezy amd64 system.


-- 
To UNSUBSCRIBE, email to debian-bugs-dist-requ...@lists.debian.org
with a subject of "unsubscribe". Trouble? Contact listmas...@lists.debian.org

Reply via email to