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

Varnish varnish-bugs at projects.linpro.no
Mon Oct 8 14:03:46 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  |  
---------------------------------------------------------+------------------
Comment (by anders):

 Got a new assert, after updating to trunk/2090 - now trying on a similar
 (same OS release and processor type) system but which has 8 cores:

 {{{
 Child said (2, 22376): <<Assert error in vca_kev(),
 cache_acceptor_kqueue.c line 91:
   Condition((ss[j]->obj) == 0) not true.
   errno = 9 (Bad file descriptor)
 >>
 }}}

 The child process was attached to gdb, where I got:

 {{{
 Program received signal SIGABRT, Aborted.
 [Switching to Thread 0x540e00 (LWP 100250)]
 0x0000000800c3273c in thr_kill () at thr_kill.S:2
 2       thr_kill.S: No such file or directory.
         in thr_kill.S
 Current language:  auto; currently asm
 (gdb) bt
 #0  0x0000000800c3273c in thr_kill () at thr_kill.S:2
 #1  0x00000008009a469f in _thr_send_sig (thread=0x540e00, sig=6)
     at /usr/src/lib/libthr/thread/thr_kern.c:91
 #2  0x0000000800999ff8 in _raise (sig=6)
     at /usr/src/lib/libthr/thread/thr_syscalls.c:357
 #3  0x0000000800ce4216 in abort () at /usr/src/lib/libc/stdlib/abort.c:69
 #4  0x0000000800677ba9 in lbv_assert (func=0x42ddc8 "vca_kev",
     file=0x42dd69 "cache_acceptor_kqueue.c", line=91,
     cond=0x42de1d "(ss[j]->obj) == 0", err=9) at assert.c:58
 #5  0x00000000004082d0 in vca_kev (kp=0x7fffff5fb570)
     at cache_acceptor_kqueue.c:91
 #6  0x00000000004087bd in vca_kqueue_main (arg=0x0)
     at cache_acceptor_kqueue.c:151
 #7  0x000000080099cc71 in thread_start (curthread=0x540e00)
     at /usr/src/lib/libthr/thread/thr_create.c:246
 #8  0x0000000000000000 in ?? ()
 Error accessing memory address 0x7fffff5fc000: Bad address.
 (gdb)
 }}}

 Switching to frame 5, I check ss[j]->obj:

 {{{
 (gdb) frame 5
 #5  0x00000000004082d0 in vca_kev (kp=0x7fffff5fb570)
     at cache_acceptor_kqueue.c:91
 91                              AZ(ss[j]->obj);
 (gdb) print ss[j]->obj
 $1 = (struct object *) 0x80a626000
 }}}

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


More information about the varnish-bugs mailing list