[Varnish] #503: Assertion failure when trying to fetch a large object
Varnish
varnish-bugs at projects.linpro.no
Sun May 3 11:34:15 CEST 2009
#503: Assertion failure when trying to fetch a large object
-------------------+--------------------------------------------------------
Reporter: Sesse | Type: defect
Status: new | Priority: normal
Milestone: | Component: build
Version: trunk | Severity: normal
Keywords: |
-------------------+--------------------------------------------------------
Whenever a client tries to fetch an object with a large Content-length
(larger than my cache), the Varnish child dies with:
May 1 01:09:16 pannekake varnishd[21621]: Child (30929) Panic
message: Assert error in STV_alloc(), stevedore.c line 90:
Condition((st) != NULL) not true. thread = (cache-worker)sp =
0x7fa0e1708008 { fd = 13, id = 13, xid = 1892791164, client =
91.124.53.2:4907, step = STP_FETCH, handling = pass, err_code = 206,
err_reason = (null), ws = 0x7fa0e1708070 { id = "sess",
{s,f,r,e} = {0x7fa0e1708800,,+267,(nil),+16384}, }, worker =
0x45535420 { }, vcl = { srcname = { "input",
"Default", }, }, obj = 0x7fa121cea000 { refcnt = 1, xid =
1892791164, ws = 0x7fa121cea030 { id = "obj", {s,f,r,e} =
{0x7fa121cea340,,+334,(nil),+8192}, }, http = { ws =
0x7fa121cea030 { id = "obj", {s,f,r,e} =
{0x7fa121cea340,,+334,(nil),+8192}, }, hd = { "Date:
Thu, 30 Apr 2009 23:09:16 GMT", "Server: Apache/2.2.9 (Debian)
DAV/2 SVN/1.5.1 mod_ssl/2.2.9 OpenSSL/0.9.8g mod_apreq2-20051231/2.6.0 m
The only way around this I've found is to somehow find all large objects
on all my vhosts, and write rules to use “pipe” for those. At the very
least, Varnish should log a reasonable error in this case instead of an
assertion failure.
Verified in 2.0.4 and in SVN trunk as of 2009-05-01.
--
Ticket URL: <http://varnish.projects.linpro.no/ticket/503>
Varnish <http://varnish.projects.linpro.no/>
The Varnish HTTP Accelerator
More information about the varnish-bugs
mailing list