Varnish panic message on purge / synthetic
Reuben S.
reuben at wikihow.com
Sat Nov 13 01:55:35 CET 2010
I am getting an Assert error which I think is related to a synthetic {...}
call I make in the vcl on PURGE commands from the back-end. Is this is a
known issue? Should I be doing something differently?
Here's an abbreviated version of the vcl:
acl purge {
"127.0.0.1";
"192.168.[...]"/[...];
}
sub vcl_recv {
set req.backend = dir;
if (req.request == "PURGE") {
# if IP is not in "purge" acl, don't allow
if (!client.ip ~ purge) {
error 405 "Not allowed";
} else {
purge("req.url ~ " req.url);
synthetic {"Purged"};
return (lookup);
}
}
}
I'm running Varnish 2.1.4, which I compiled myself. This happened with
varnish 2.1.3 too. I'm running Red Hat Enterprise Linux Server release 5.5
with 64-bit cpus.
Here's the error from the syslog:
Nov 12 22:49:15 squid1 varnishd[2433]: Child (13846) Panic message: Assert
error in VRT_synth_page(), cache_vrt.c line 989: Condition((sp->obj) !=
NULL) not true. thread = (cache-worker) ident =
Linux,2.6.18-194.17.4.el5,x86_64,-smalloc,-sfile,-hcritbit,epoll Backtrace:
0x423996: pan_ic+b6 0x42b153: VRT_synth_page+1e3 0x2ac3b2c1e31a:
_end+2ac3b25aad52 0x4289a3: VCL_recv_method+43 0x4143fa: CNT_Session+5ca
0x425d58: wrk_do_cnt_sess+b8 0x42505e: wrk_thread_real+32e
0x32fa00673d: _end+32f9993175 0x32f90d3f6d: _end+32f8a609a5 sp =
0x2ac47b38e008 { fd = 64, id = 64, xid = 1187807240, client =
192.168.[...] 53762, step = STP_RECV, handling = deliver, restarts =
0, esis = 0 ws = 0x2ac47b38e080 { id = "sess", {s,f,r,e} =
{0x2ac47b38ecd8,+184,(nil),+65536}, }, http[req] = { ws =
0x2ac47b38e080[sess] "PURGE", "
http://www.wikihow.com/Document-Employee-Performance", "HTTP/1.0",
"Connection: Keep-Alive", }, worker = 0x2ac6fe7bbe60 { ws = 0x2
Thanks,
Reuben
-------------- next part --------------
An HTML attachment was scrubbed...
URL: <https://www.varnish-cache.org/lists/pipermail/varnish-misc/attachments/20101112/d87bf5b3/attachment-0003.html>
More information about the varnish-misc
mailing list