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

Varnish varnish-bugs at projects.linpro.no
Thu Oct 25 10:18:37 CEST 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  |  
---------------------------------------------------------+------------------
Changes (by anders):

 * cc: des at linpro.no, taa at linpro.no (added)

Comment:

 Running FreeBSD 7.0-BETA1 (using SCHED_ULE) and varnish 1.2 branch up to
 date to commit 2170, this still happens:

 {{{
 Child said (2, 1793): <<Assert error in SES_Delete(), cache_session.c line
 339:
   Condition((sp->vcl) == 0) not true.
   errno = 2 (No such file or directory)
 >>
 Cache child died pid=1793 status=0x86
 }}}

 Backtrace:

 {{{
 (gdb) bt
 #0  0x0000000800d1048c in thr_kill () from /lib/libc.so.7
 #1  0x0000000800d9a63b in abort () from /lib/libc.so.7
 #2  0x000000080066dc7f in lbv_assert (func=Could not find the frame base
 for "lbv_assert".
 ) at assert.c:58
 #3  0x000000000041aed4 in SES_Delete (sp=0x14842b9008) at
 cache_session.c:339
 #4  0x0000000000408588 in vca_kev (kp=0x7fffff5fb300)
     at cache_acceptor_kqueue.c:112
 #5  0x00000000004087e4 in vca_kqueue_main (arg=0x0)
     at cache_acceptor_kqueue.c:151
 #6  0x0000000800a97958 in pthread_getprio () from /lib/libthr.so.3
 #7  0x0000000000000000 in ?? ()
 Cannot access memory at address 0x7fffff5fc000
 (gdb) frame 3
 #3  0x000000000041aed4 in SES_Delete (sp=0x14842b9008) at
 cache_session.c:339
 339             AZ(sp->vcl);
 (gdb) print sp->vcl
 $1 = (struct VCL_conf *) 0x1481f03b20
 (gdb) print *sp->vcl
 $2 = {magic = 1946600713, backend = 0x1481f04078, nbackend = 1,
   ref = 0x1481f03060, nref = 84, busy = 155, nsrc = 2, srcname =
 0x1481f03ae0,
   srcbody = 0x1481f03af0, nhashcount = 3, priv = 0x800f3a080,
   init_func = 0x1481e02210 <_init+2800>,
   fini_func = 0x1481e02270 <_init+2896>, recv_func = 0x1481e01940
 <_init+544>,
   pipe_func = 0x1481e01cc0 <_init+1440>,
   pass_func = 0x1481e01cf0 <_init+1488>,
   hash_func = 0x1481e01d20 <_init+1536>,
   miss_func = 0x1481e01df0 <_init+1744>, hit_func = 0x1481e01ea0
 <_init+1920>,
   fetch_func = 0x1481e01f60 <_init+2112>,
   deliver_func = 0x1481e02180 <_init+2656>,
   timeout_func = 0x1481e021b0 <_init+2704>,
   discard_func = 0x1481e021e0 <_init+2752>}
 }}}

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


More information about the varnish-bugs mailing list