[Varnish] #561: Restarting 400 Bad request causes an assert error

Varnish varnish-bugs at projects.linpro.no
Tue Sep 29 11:20:25 CEST 2009


#561: Restarting 400 Bad request causes an assert error
----------------------+-----------------------------------------------------
 Reporter:  mikko     |       Owner:  phk
     Type:  defect    |      Status:  new
 Priority:  normal    |   Milestone:     
Component:  varnishd  |     Version:  2.0
 Severity:  normal    |    Keywords:     
----------------------+-----------------------------------------------------
 The issue can be reproduced with following VCL:


 sub vcl_error {
         if (req.restarts < 5) {
                 restart;
         } else {
                 set obj.http.Content-Type = "text/html; charset=utf-8";
                 synthetic {"<h1>"} obj.status " " obj.response {"</h1>"};
                 return (deliver);
         }
 }

 When this VCL is active and Varnish receives an invalid request it results
 to the following assertion error:

 Sep 26 23:19:58 dev varnishd[9411]: Child (9412) Panic message: Assert
 error in Tcheck(), cache.h line 648:#012  Condition((t.e) != 0) not true.
 thread = (cache-worker)sp = 0x7ffcc3e03008 {#012  fd = 7, id = 7, xid =
 870505299,#012  client = ::1:40256,#012  step = STP_PIPE,#012  handling =
 pipe,#012  err_code = 400, err_reason = (null),#012  ws = 0x7ffcc3e03078 {
 #012    id = "sess",#012    {s,f,r,e} =
 {0x7ffcc3e03808,,+23,(nil),+16384},#012  },#012    worker = 0x7ffcbfdf6be0
 {#012    },#012    vcl = {#012      srcname = {#012        "input",#012
 "Default",#012      },#012    },#012},#012


 Tested with Varnish 2.0.4.

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


More information about the varnish-bugs mailing list