[Varnish] #173: Varnish dies with assert error in vca_kev

Varnish varnish-bugs at projects.linpro.no
Tue Jan 29 13:21:58 CET 2008


#173: Varnish dies with assert error in vca_kev
----------------------------------------+-----------------------------------
 Reporter:  anders                      |        Owner:  phk     
     Type:  defect                      |       Status:  reopened
 Priority:  high                        |    Milestone:          
Component:  varnishd                    |      Version:  trunk   
 Severity:  major                       |   Resolution:          
 Keywords:  varnishd core dump vca_kev  |  
----------------------------------------+-----------------------------------
Comment (by anders):

 Happened again, with trunk/2344. Varnish ran for a couple of hours,
 collecting illion objects before it crashed:

 {{{
 Child said (2, 72853): <<Assert error in vca_kev(),
 cache_acceptor_kqueue.c line 207:
   Condition(sp->fd == kp->ident) not true.
   errno = 2 (No such file or directory)
 >>
 Cache child died pid=72853 status=0x86
 }}}

 Backtrace:

 {{{
 (gdb) bt
 #0  0x0000000800d16fec in thr_kill () from /lib/libc.so.7
 #1  0x0000000800da0c5b in abort () from /lib/libc.so.7
 #2  0x0000000800673d1f in lbv_assert (func=Could not find the frame base
 for "lbv_assert".
 ) at assert.c:58
 #3  0x0000000000408b38 in vca_kev (kp=0x7fffff5fb520)
     at cache_acceptor_kqueue.c:207
 #4  0x0000000000408efe in vca_kqueue_main (arg=0x0)
     at cache_acceptor_kqueue.c:263
 #5  0x0000000800a9ea88 in pthread_getprio () from /lib/libthr.so.3
 #6  0x0000000000000000 in ?? ()
 Cannot access memory at address 0x7fffff5fc000
 (gdb) frame 3
 #3  0x0000000000408b38 in vca_kev (kp=0x7fffff5fb520)
     at cache_acceptor_kqueue.c:207
 207             assert(sp->fd == kp->ident);
 (gdb) print *sp
 $1 = {magic = 741317722, fd = -1, id = 591, xid = 0, restarts = 0, esis =
 0,
   wrk = 0x0, sockaddrlen = 16, mysockaddrlen = 128, sockaddr =
 0x148f57e670,
   mysockaddr = 0x148f57e6f0, addr = 0x148f57e770 "80.239.23.142",
   port = 0x148f57e77e "4822", srcaddr = 0x0, doclose = 0x0,
   http = 0x148f57e1c8, http0 = 0x148f57e410, ws = {{magic = 905626964,
       id = 0x438848 "sess", s = 0x148f57e770 "80.239.23.142",
       f = 0x148f57e783 "", r = 0x148f580783 "", e = 0x148f582770 ""}},
   ws_ses = 0x148f57e783 "", ws_req = 0x148f57e956 "", htc = {{
       magic = 1041886673, fd = 591, ws = 0x148f57e070, rxbuf = {
         b = 0x148f57e783 "", e = 0x148f57e783 ""}, pipeline = {b = 0x0,
         e = 0x0}}}, t_open = 1201608132.8032956, t_req =
 nan(0x8000000000000),
   t_resp = nan(0x8000000000000), t_end = 1201608132.8032956, step =
 STP_DONE,
   cur_method = 0, handling = 128, wantbody = 0 '\0', err_code = 0,
   err_reason = 0x0, list = {vtqe_next = 0x148dfb0008,
     vtqe_prev = 0x148ef2e120}, backend = 0x0, bereq = 0x0, obj = 0x0,
   vcl = 0x0, mem = 0x148f57e000, workreq = {list = {vtqe_next = 0x0,
       vtqe_prev = 0x0}, sess = 0x148f57e008}, acct = {
     first = 1201608130.8505447, sess = 1, req = 6, pipe = 0, pass = 0,
     fetch = 0, hdrbytes = 1056, bodybytes = 0}, nhashptr = 6, ihashptr =
 4,
   lhashptr = 48, hashptr = 0x148f57e958}
 (gdb) print *kp
 $2 = {ident = 591, filter = -1, flags = 0, fflags = 0, data = 518,
   udata = 0x148f57e008}
 (gdb) print kp
 $3 = (const struct kevent *) 0x7fffff5fb520
 (gdb) print sp
 $4 = (struct sess *) 0x148f57e008
 }}}

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


More information about the varnish-bugs mailing list