[Varnish] #812: crash in HSH_Purge

Varnish varnish-bugs at varnish-cache.org
Wed Nov 10 10:29:32 CET 2010


#812: crash in HSH_Purge
----------------------+-----------------------------------------------------
 Reporter:  sky       |       Owner:  phk  
     Type:  defect    |      Status:  new  
 Priority:  normal    |   Milestone:       
Component:  varnishd  |     Version:  trunk
 Severity:  major     |    Keywords:       
----------------------+-----------------------------------------------------
 When calling VRT_purge with 0 ttl and 0 grace from vcl_miss sometimes we
 crash under heavy load.

 {{{



 sub vcl_recv {
   if(req.request == "PURGE") {
     set req.hash_ignore_busy = true;
   }

   set req.grace = 3600s;
   return(lookup);
 }


 }
 sub vcl_miss {

   if (req.request == "PURGE") {
     C{ VRT_purge(sp, 0, 0); }C
     error 200 "Ok";
   }


 }}}

 {{{
 hild (30735) died signal=6
 Nov 10 04:31:02 varnish-s1 varnishd[2831]: Child (30735) Panic message:
 Assert error in HSH_Purge(), cache_hash.c line 539:
 Condition((oc)->magic == 0x4d301302) not true.
 errno = 11 (Resource temporarily unavailable) thread = (cache-worker)
 ident = Linux,2.6.35.3-intel-
 novirt,x86_64,-sfile,-sfile,-sfile,-hclassic,epoll
 Backtrace:   0x426188: /usr/sbin/varnishd [0x426188]
 0x41f42a: /usr/sbin/varnishd(HSH_Purge+0x22a) [0x41f42a]
 0x7f4cb526a577: ./vcl.iQQD1J50.so [0x7f4cb526a577]
 0x42b083: /usr/sbin/varnishd(VCL_miss_method+0x43) [0x42b083]
 0x413adc: /usr/sbin/varnishd [0x413adc]
 0x415cb5: /usr/sbin/varnishd(CNT_Session+0x3a5) [0x415cb5]
 0x427938: /usr/sbin/varnishd [0x427938]
 0x427d0b: /usr/sbin/varnishd [0x427d0b]
 0x7f7adeff5a04: /lib/libpthread.so.0 [0x7f7adeff5a04]
 0x7f7ade8c0d4d: /lib/libc.so.6(clone+0x6d) [0x7f7ade8c0d4d]
 sp = 0x7f4c93902008 {   fd = 41,
 id = 41,
 xid = 217661109,
 client = 127.0.0.1 48959,
 step = STP_MISS,
 handling = deliver,
 err_code = 200,
 err_reason = Ok,
 restarts = 0,
 esis = 0
 ws = 0x7f4c93902080 {      id = "sess",
 {s,f,r,e} = {0x7f4c93902cd8,+600,(nil),+131072},   },
 http[req] = {
 ws = 0x7f4c93902080[sess]       "PURGE",
 "/index.php?title=Par_Vollen",
 "HTTP/1.1",
 "TE: deflate,gzip;q=0.3",
 "Connection: TE",
 "Host: dragonage.wikia.com",
 "User-Agent: HTCP Purger",
 "X-Logged-In: 0",
 "X-Timer: S1289363459.012102365,VS0",
 "X-Forwarded-From: varnish-s1-SJC",
 "X-Forwarded-For: 127.0.0.1",
 "X-Origurl: /wiki/Par_Vollen",
 "X-Transformed-URL: 1",
 "X-Set-Vary-URL: 1",   },
 worker = 0x7f48190f9e20 {     ws = 0x7f48190f9fa0 {        id = "wrk",
 {s,f,r,e} = {0x7f48190d1dc0,+24,+131072,+131072},     },
 }}}

-- 
Ticket URL: <http://www.varnish-cache.org/trac/ticket/812>
Varnish <http://varnish-cache.org/>
The Varnish HTTP Accelerator




More information about the varnish-bugs mailing list