Assert error in VRT_r_req_backend_healthy()

Lasse Karstensen lasse.karstensen at gmail.com
Thu Nov 8 10:32:24 CET 2012


Simon Lyall:
> I have just upgraded a couple of my caches from version 2.1 to 3.0.3
> ( using centos5 RPMs).
> I notice that I'm getting a lot of crashes (about twice an hour on a
> lightly loaded machine) when previously I had none.
[..]
> Nov  7 20:21:13 harvest varnishd[3290]: Child (5139) died signal=6
> Nov  7 20:21:13 harvest varnishd[3290]: Child (5139) Panic message:
> Assert error in VRT_r_req_backend_healthy(), cache_vrt_var.c line
> 539: Condition((sp->director) != NULL) not true. thread =
> (cache-worker) ident =
[..]
> # vcl_deliver Body
[..]
> # Create temp variable header
> if (req.backend.healthy) {
>         set resp.http.Backend-Healthy = "yes" ;
> } else {
>         set resp.http.Backend-Healthy = "no" ;
> }

I believe this is caused by using req.backend.healthy in vcl_deliver.

Suggest you either remove this debug header entirely, or use req.backend.healthy 
in vcl_recv to set some other req.http header that can be checked on in vcl_deliver.

-- 
Lasse Karstensen
Varnish Software AS
http://www.varnish-software.com/



More information about the varnish-misc mailing list