[Varnish] #139: Varnish 1.1 dies with assert error in cnt_done upon PURGE

Varnish varnish-bugs at projects.linpro.no
Fri Aug 3 12:35:17 CEST 2007


#139: Varnish 1.1 dies with assert error in cnt_done upon PURGE
-----------------------------------------+----------------------------------
 Reporter:  anders                       |        Owner:  phk
     Type:  defect                       |       Status:  new
 Priority:  high                         |    Milestone:     
Component:  varnishd                     |      Version:  1.1
 Severity:  major                        |   Resolution:     
 Keywords:  varnishd core dump cnt_done  |  
-----------------------------------------+----------------------------------
Comment (by anders):

 I guess I should note, that my VCL for relevant parts looks like this:

 backend foo {
         set backend.host = "80.91.1.1";
         set backend.port = "80";
 }
 backend bob {
         set backend.host = "80.91.1.2";
         set backend.port = "80";
 }
 backend foobar {
         set backend.host = "80.91.1.3";
         set backend.port = "80";
 }
 backend bar {
         set backend.host = "80.91.1.4";
         set backend.port = "80";
 }

 acl mypurge {
         "80.91.1.5";
 }

 sub vcl_recv {
         if (req.http.host ~
 "^(foo.aftenposten.no|bar.aftenposten.no|baz.aftenposten.no)$") {
                 set req.backend = foo;
         } elsif (req.http.host ~ "^(bob.aftenposten.no)$") {
                 set req.backend = bob;
         } elsif (req.http.host ~
 "^(foobar.aftenposten.no|barbar.aftenposten.no|bazbaz.aftenposten.no)$") {
                 set req.backend = foobar;
         } elsif (req.http.host ~
 "^(www.bar.no|bar.no|www.baz.no|baz.no)$") {
                 set req.backend = bar;
         } else {
                 error 403 "Access denied. Contact
 cacheadmin at aftenposten.no if you have problems.";
         }

         if (req.request == "GET" || req.request == "HEAD") {
                 if (req.http.Expect || req.http.Authenticate ||
 req.http.Cookie) {
                         pass;
                 } else {
                         lookup;
                 }
         } elsif (req.request == "PURGE") {
                 if (client.ip ~ mypurge) {
                         lookup;
                 } else {
                         error 405 "Not allowed.";
                 }
         } else {
                 pass;
         }
 }

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


More information about the varnish-bugs mailing list