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: <http://lists.varnish-cache.org/pipermail/varnish-misc/attachments/20101112/d87bf5b3/attachment.html>


More information about the varnish-misc mailing list