[Varnish] #1228: Accessing req.backend.healthy in vcl_deliver with sick backend makes varnish crash

Varnish varnish-bugs at varnish-cache.org
Fri Nov 9 11:33:41 CET 2012


#1228: Accessing req.backend.healthy in vcl_deliver with sick backend makes
varnish crash
----------------------+-------------------
 Reporter:  lkarsten  |      Owner:
     Type:  defect    |     Status:  new
 Priority:  normal    |  Milestone:
Component:  build     |    Version:  3.0.3
 Severity:  normal    |   Keywords:
----------------------+-------------------
 Reading req.backend.healthy in vcl_delivery, when a backend is
 unavailable, makes Varnish assert.

 Given the following VCL:
 {{{
 # non-existing backend
 backend default { .host="127.0.0.1"; .port="12345"; }

 sub vcl_deliver {
     set resp.http.x-foo = req.backend.healthy;
 }
 }}}

 Produces the following assert on any request:

 {{{
 Child (15080) Panic message: Assert error in VRT_r_req_backend_healthy(),
 cache_vrt_var.c line 539:
   Condition((sp->director) != NULL) not true.
 }}}
 Full backtrace added as an attachment.

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




More information about the varnish-bugs mailing list