[Varnish] #503: Assertion failure when trying to fetch a large object

Varnish varnish-bugs at varnish-cache.org
Thu Aug 19 12:58:04 CEST 2010


#503: Assertion failure when trying to fetch a large object
----------------------+-----------------------------------------------------
  Reporter:  Sesse    |        Type:  defect
    Status:  closed   |    Priority:  normal
 Milestone:           |   Component:  build 
   Version:  trunk    |    Severity:  normal
Resolution:  wontfix  |    Keywords:        
----------------------+-----------------------------------------------------

Comment(by leki):

 We have the same problem with latest 2.1.3 version. When I try to download
 the 2.4g file varnishd panics.

 {{{
 Aug 19 10:28:17 fe01a swbazis[15514]: Child (16628) Panic message: Assert
 error in STV_alloc(), stevedore.c line 192:   Condition((st) != NULL) not
 true. thread = (cache-worker) ident = Linux,2.6.26-2-xen-
 amd64,x86_64,-sfile,-sfile,-sfile,-hcritbit,epoll Backtrace:   0x424608:
 /usr/sbin/varnishd [0x424608]   0x43a215:
 /usr/sbin/varnishd(STV_alloc+0x175) [0x43a215]   0x41c2e4:
 /usr/sbin/varnishd(FetchBody+0x4c4) [0x41c2e4]   0x413b60:
 /usr/sbin/varnishd [0x413b60]   0x415135:
 /usr/sbin/varnishd(CNT_Session+0x315) [0x415135]   0x426a48:
 /usr/sbin/varnishd [0x426a48]   0x425d23: /usr/sbin/varnishd [0x425d23]
 0x7fa51b0c6fc7: /lib/libpthread.so.0 [0x7fa51b0c6fc7]   0x7fa51a9a164d:
 /lib/libc.so.6(clone+0x6d) [0x7fa51a9a164d] sp = 0x7f5a1370a008 {   fd =
 20, id = 20, xid = 1016964835,   client = 172.27.128.73:42035,   step =
 STP_FETCH,   handling = deliver,   err_code = 200, err_reason = (null),
 restarts = 0, esis = 0   ws = 0x7f5a1370a078 {      id = "sess",
 {s,f,r,e} = {0x7f5a1370acd0,+1016,(nil),+65536},   },   http[req] = {
 ws = 0x7f5a1370a078[sess]       "GET",       ...  },   worker = 0x4700ce70
 {     ws = 0x4700cfe0 {        id = "wrk",       {s,f,r,e} =
 {0x46ffae10,+4432,(nil),+65536},     },     http[bereq] = {       ws =
 0x4700cfe0[wrk]         "GET",         ...    },     http[beresp] = {
 ws = 0x4700cfe0[wrk]         "HTTP/1.1",         "200",         "OK",
 "Date: Thu, 19 Aug 2010 10:28:17 GMT",         "Content-Type:
 application/x-rar-compressed",         '''"Content-Length: 2470522946"''',
 "Last-Modified: Sat, 13 Feb 2010 18:10:52 GMT",         "Connection:
 close",         "Accept-Ranges: bytes",         "Cache-Control: max-
 age=86400",         "Server: Microsoft-IIS/6.0",     },     },     vcl = {
 srcname = {         "input",         "Default",       },     },   obj =
 0x7f8be27fe000 {     xid = 1016964835,     ws = 0x7f8be27fe020 {        id
 = "obj",       {s,f,r,e} = {0x7f8be27fe208,+232,(nil),+3576},     },
 http[obj] = {       ws = 0x7f8be27fe020[obj]         "HTTP/1.1",
 "200",         "OK",         "Date: Thu, 19 Aug 2010 10:28:17 GMT",
 "Content-Type: application/x-rar-compressed",         "Last-Modified: Sat,
 13 Feb 2010 18:10:52 GMT",         "Cache-Control: max-age=86400",
 "Server: Microsoft-IIS/6.0",     },     len = 0,     store = {     },   },
 },
 }}}


 My storage space is quite huge so it should not be the problem:
              -s file,/cache1/varnish.bin,100G
              -s file,/cache2/varnish.bin,100G
              -s file,/cache3/varnish.bin,100G

 Vanishstat says:
   1651228672          .            .   bytes allocated
 320471318528          .            .   bytes free

 Downloading the big file anytime causes varnishd to restart clearing all
 varnishstat counters.

 vcl_prefetch is removed in 2.1 and return(pipe) is not allowed in
 vcl_fetch.

-- 
Ticket URL: <http://www.varnish-cache.org/ticket/503#comment:9>
Varnish <http://varnish-cache.org/>
The Varnish HTTP Accelerator




More information about the varnish-bugs mailing list