[Varnish] #156: Varnish 1.1 branch dies with assert error in WS_ReleaseP
Varnish
varnish-bugs at projects.linpro.no
Mon Sep 3 19:55:08 CEST 2007
#156: Varnish 1.1 branch dies with assert error in WS_ReleaseP
----------------------+-----------------------------------------------------
Reporter: anders | Owner: phk
Type: defect | Status: new
Priority: high | Milestone:
Component: varnishd | Version: 1.1
Severity: major | Keywords: core dump WS_ReleaseP
----------------------+-----------------------------------------------------
I am running Varnish 1.1 branch (up to date to commit 1929) in FreeBSD
6.2-RELEASE/i386, on Intel hardware.
Soon after starting Varnish through valgrind (valgrind-352_6 from ports),
varnishd core dumped:
Sep 3 19:38:48 cache2 kernel: pid 20542 (varnishd), uid 0: exited on
signal 6 (core dumped)
On my console, I get:
Child said (2, 20542): <<Assert error in WS_ReleaseP(), cache_ws.c line
125:
Condition(ws->r != NULL) not true.
errno = 0 (Unknown error: 0)
>>
Child not responding to ping
Child not responding to ping
Child not responding to ping
Child not responding to ping
(..)
At this time my cache hit ratio was low (I have a large dataset, this is
for finn.no).
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;
}
}}}
Let me know if you want the core dump and binaries.
--
Ticket URL: <http://varnish.projects.linpro.no/ticket/156>
Varnish <http://varnish.projects.linpro.no/>
The Varnish HTTP Accelerator
More information about the varnish-bugs
mailing list