[Varnish] #161: Varnish trunk dies with assert error in VBE_UpdateHealth()

Varnish varnish-bugs at projects.linpro.no
Fri Sep 21 12:02:05 CEST 2007


#161: Varnish trunk dies with assert error in VBE_UpdateHealth()
----------------------+-----------------------------------------------------
 Reporter:  anders    |       Owner:  phk                                              
     Type:  defect    |      Status:  new                                              
 Priority:  high      |   Milestone:                                                   
Component:  varnishd  |     Version:  trunk                                            
 Severity:  major     |    Keywords:  varnishd core dump VBE_UpdateHealth cache_backend
----------------------+-----------------------------------------------------
 I am running Varnish trunk (up to date to commit 1975) in FreeBSD
 6.2-RELEASE/amd64, on Intel hardware.

 Soon after starting Varnish and loading a few pages, it dies:

 Sep 21 11:48:13 cache10 kernel: pid 48887 (varnishd), uid 0: exited on
 signal 6 (core dumped)

 On the console:

 {{{
 Child said (2, 48887): <<Assert error in VBE_UpdateHealth(),
 cache_backend.c line 319:
   Condition((vc) != NULL) not true.
   errno = 0 (Unknown error: 0)
 >>
 Cache child died pid=48887 status=0x86
 }}}

 My VCL:

 {{{
 backend default {
              set backend.host = "192.168.0.3";
              set backend.port = "80";
         }
 acl purge {
         "192.168.0.4"/32;
 }
 sub vcl_recv {
         if ((req.http.host ~ "^(cache.finn.no|finn.no|www.finn.no)$") ||
 (req.http.host == "banner.finn.no" && req.url ~
 "^/(jsp2|finn/gojsp|daily|board|auximg/papirfly|finn/cacheable|crossdomain.xml)"))
 {
                 if (req.request == "GET" || req.request == "HEAD") {
                         lookup;
                 } elsif (req.request == "PURGE") {
                         if (!client.ip ~ purge) {
                                 error 405 "Not allowed.";
                         }
                         lookup;
                 } else {
                         pipe;
                 }
         } else {
                 error 403 "Access denied. Contact cacheadmin at finn.no if
 you have problems.";
         }
 }
 sub vcl_miss {
         if (req.request == "PURGE") {
                 error 404 "Not in cache.";
         } else {
                 fetch;
         }
 }
 sub vcl_hit {
         if (req.request == "PURGE") {
                 set obj.ttl = 0s;
                 error 200 "Purged.";
         } else {
                 deliver;
         }
 }
 sub vcl_fetch {
         if (obj.ttl < 86400s) {
                 set obj.ttl = 604800s;
         }
         if (obj.http.Cookie) {
                 remove obj.http.Cookie;
         }
         if (obj.http.Set-Cookie) {
                 remove obj.http.Set-Cookie;
         }
         insert;
 }
 }}}

-- 
Ticket URL: <http://varnish.projects.linpro.no/ticket/161>
Varnish <http://varnish.projects.linpro.no/>
The Varnish HTTP Accelerator


More information about the varnish-bugs mailing list