[Varnish] #214: Varnish crashes on assert error in EXP_Touch, cache_expire.c line 189

Varnish varnish-bugs at projects.linpro.no
Mon Feb 25 19:19:08 CET 2008


#214: Varnish crashes on assert error in EXP_Touch, cache_expire.c line 189
-----------------------------------------------------+----------------------
 Reporter:  anders                                   |        Owner:  phk  
     Type:  defect                                   |       Status:  new  
 Priority:  high                                     |    Milestone:       
Component:  varnishd                                 |      Version:  trunk
 Severity:  blocker                                  |   Resolution:       
 Keywords:  varnishd crash EXP_Touch cache_expire.c  |  
-----------------------------------------------------+----------------------
Comment (by anders):

 Commenting out line 189 in cache_expire.c, I get another crash:

 {{{
 Child said (2, 93540): <<Assert error in EXP_Touch(), cache_expire.c line
 199:>>
 Child said (2, 93540): <<  Condition((pthread_mutex_unlock(&exp_mtx)) ==
 0) not true.>>
 Child said (2, 93540): <<  errno = 32 (Broken pipe)>>
 }}}

 Backtrace:

 {{{
 (gdb) bt
 #0  0x0000000800d17fec in thr_kill () from /lib/libc.so.7
 #1  0x0000000800da1c5b in abort () from /lib/libc.so.7
 #2  0x0000000800674f92 in lbv_assert (func=Could not find the frame base
 for "lbv_assert".
 ) at assert.c:65
 #3  0x000000000040fc9b in EXP_Touch (o=0x1489b00000,
 now=1203963271.9050417)
     at cache_expire.c:199
 #4  0x000000000040c058 in cnt_deliver (sp=0x468d860008) at
 cache_center.c:156
 #5  0x000000000040e664 in CNT_Session (sp=0x468d860008) at steps.h:42
 #6  0x000000000041940d in wrk_do_one (w=0x7ffe41612ae0) at
 cache_pool.c:194
 #7  0x0000000000419c1a in wrk_thread (priv=0x800f11200) at
 cache_pool.c:248
 #8  0x0000000800a9fa88 in pthread_getprio () from /lib/libthr.so.3
 #9  0x0000000000000000 in ?? ()
 Cannot access memory at address 0x7ffe41613000
 (gdb) frame 3
 #3  0x000000000040fc9b in EXP_Touch (o=0x1489b00000,
 now=1203963271.9050417)
     at cache_expire.c:199
 199             UNLOCK(&exp_mtx);
 (gdb) print *exp_mtx
 $1 = <incomplete type>
 (gdb) print exp_mtx
 $2 = 0x806276c90
 }}}

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


More information about the varnish-bugs mailing list