[Varnish] #162: Varnish trunk dies with assert error in SES_Delete()

Varnish varnish-bugs at projects.linpro.no
Wed Oct 31 11:37:50 CET 2007


#162: Varnish trunk dies with assert error in SES_Delete()
---------------------------------------------------------+------------------
 Reporter:  anders                                       |        Owner:  phk  
     Type:  defect                                       |       Status:  new  
 Priority:  high                                         |    Milestone:       
Component:  varnishd                                     |      Version:  trunk
 Severity:  normal                                       |   Resolution:       
 Keywords:  varnishd core dump SES_Delete cache_session  |  
---------------------------------------------------------+------------------
Comment (by anders):

 Trying 1.2 branch up to date to commit 2221, it happens still:

 {{{
 Child said (2, 41871): <<Assert error in SES_Delete(), cache_session.c
 line 338:
   Condition((sp->obj) == 0) not true.
   errno = 9 (Bad file descriptor)
 >>
 Cache child died pid=41871 status=0x86
 }}}

 Backtrace:

 {{{
 (gdb) bt
 #0  0x0000000800d1148c in thr_kill () from /lib/libc.so.7
 #1  0x0000000800d9b63b in abort () from /lib/libc.so.7
 #2  0x000000080066ec7f in lbv_assert (func=Could not find the frame base
 for "lbv_assert".
 ) at assert.c:58
 #3  0x000000000041b9e1 in SES_Delete (sp=0x1483051008) at
 cache_session.c:338
 #4  0x0000000000408618 in vca_kev (kp=0x7fffff5fb500)
     at cache_acceptor_kqueue.c:112
 #5  0x0000000000408874 in vca_kqueue_main (arg=0x0)
     at cache_acceptor_kqueue.c:151
 #6  0x0000000800a98958 in pthread_getprio () from /lib/libthr.so.3
 #7  0x0000000000000000 in ?? ()
 Cannot access memory at address 0x7fffff5fc000
 (gdb) frame 3
 #3  0x000000000041b9e1 in SES_Delete (sp=0x1483051008) at
 cache_session.c:338
 338             AZ(sp->obj);
 (gdb) print *sp
 $1 = {magic = 741317722, fd = -1, id = 137, xid = 1644751350, restarts =
 0,
   wrk = 0x7ffff3fa0ae0, sockaddrlen = 16, mysockaddrlen = 128,
   sockaddr = 0x1483051670, mysockaddr = 0x14830516f0,
   addr = 0x1483051770 "85.19.80.226", port = 0x148305177d "10420",
   srcaddr = 0x1483f63980, doclose = 0x0, http = 0x14830511c8,
   http0 = 0x1483051410, ws = {{magic = 905626964, id = 0x433588 "sess",
       s = 0x1483051770 "85.19.80.226",
       f = 0x1483051b25 "ction:Date: Wed, 31 Oct 2007 09:24:13 GMT", r =
 0x0,
       e = 0x1483055770 '¥' <repeats 200 times>...}},
   ws_ses = 0x1483051783 "GET", ws_req = 0x1483051aed "", htc = {{
       magic = 1041886673, fd = 137, ws = 0x1483051070, rxbuf = {
         b = 0x1483051783 "GET", e = 0x1483051aed ""}, pipeline = {b = 0x0,
         e = 0x0}}}, t_open = 1193822653.0887063, t_req =
 1193822660.2855403,
   t_resp = nan(0x8000000000000), t_end = 1193822653.0887063, step =
 STP_FETCH,
   cur_method = 0, handling = 32, wantbody = 1 '\001', err_code = 200,
   err_reason = 0x0, list = {vtqe_next = 0x1483ab8008,
     vtqe_prev = 0x1482aef120}, backend = 0x800f16140, bereq =
 0x14820f7000,
   obj = 0x81d1e0000, vcl = 0x1481f03b20, mem = 0x1483051000, workreq = {
     list = {vtqe_next = 0x0, vtqe_prev = 0x0}, sess = 0x1483051008}, acct
 = {
     first = 1193822651.7635725, sess = 1, req = 3, pipe = 0, pass = 0,
     fetch = 2, hdrbytes = 999, bodybytes = 4387}, nhashptr = 6, ihashptr =
 4,
   lhashptr = 48, hashptr = 0x1483051af0}
 }}}

 For more data, see:

 Varnishlog:
 https://ssldist.fupp.net/ticket-162-cache10-2007-10-31/varnish.log.bz2

 Tarball of build dir:
 https://ssldist.fupp.net/ticket-162-cache10-2007-10-31/varnish-1.2-branch-2221.tbz

 Core dump:
 https://ssldist.fupp.net/ticket-162-cache10-2007-10-31/varnishd_2007-10-31_10-30-00.core.bz2

 Tarball of installed package:
 https://ssldist.fupp.net/ticket-162-cache10-2007-10-31/varnishd_2007-10-31_10-30-00.tbz

-- 
Ticket URL: <http://varnish.projects.linpro.no/ticket/162#comment:17>
Varnish <http://varnish.projects.linpro.no/>
The Varnish HTTP Accelerator


More information about the varnish-bugs mailing list