[Varnish] #884: Assert error in res_WriteDirObj(), cache_response.c line 334 - while fetching large obj

Varnish varnish-bugs at varnish-cache.org
Mon Mar 28 12:24:17 CEST 2011


#884: Assert error in res_WriteDirObj(), cache_response.c line 334 - while
fetching large obj
--------------------+-------------------------------------------------------
 Reporter:  perbu   |       Owner:       
     Type:  defect  |      Status:  new  
 Priority:  normal  |   Milestone:       
Component:  build   |     Version:  trunk
 Severity:  normal  |    Keywords:       
--------------------+-------------------------------------------------------
 Fetch one big 5G file with all zeroes (hole) from backend (nginx).

 Command line: ./varnishd -a 0.0.0.0:8080 -b localhost:80 -d -s malloc,20G
 -T localhost:2001

 Fetching with curl -o /dev/null http://localhost:8080/5G

 {{{

 Last panic at: Mon, 28 Mar 2011 10:20:39 GMT
 Assert error in res_WriteDirObj(), cache_response.c line 334:
   Condition(u == sp->obj->len) not true.
 thread = (cache-worker)
 ident = Linux,2.6.35-28-generic,x86_64,-smalloc,-smalloc,-hcritbit,epoll
 Backtrace:
   0x42b6b8: pan_ic+b8
   0x42e3ea: RES_WriteObj+3ba
   0x4156c0: cnt_deliver+230
   0x41654d: CNT_Session+2ed
   0x42ce78: wrk_do_cnt_sess+b8
   0x42d301: wrk_thread_real+411
   0x7f3d44ef4971: _end+7f3d4487e6d9
   0x7f3d44c5092d: _end+7f3d445da695
 sp = 0x7f3d39a03008 {
   fd = 10, id = 10, xid = 741837878,
   client = 127.0.0.1 41701,
   step = STP_DELIVER,
   handling = deliver,
   err_code = 200, err_reason = (null),
   restarts = 0, esi_level = 0
   ws = 0x7f3d39a03080 {
     id = "sess",
     {s,f,r,e} = {0x7f3d39a03cf0,+232,(nil),+65536},
   },
   http[req] = {
     ws = 0x7f3d39a03080[sess]
       "GET",
       "/5G",
       "HTTP/1.1",
       "User-Agent: curl/7.21.0 (x86_64-pc-linux-gnu) libcurl/7.21.0
 OpenSSL/0.9.8o zlib/1.2.3.4 libidn/1.18",
       "Host: localhost:8080",
       "Accept: */*",
       "X-Forwarded-For: 127.0.0.1",
   },
   worker = 0x7f3d359f6b70 {
     ws = 0x7f3d359f6d10 {
       id = "wrk",
       {s,f,r,e} = {0x7f3d359e4b00,+376,(nil),+65536},
     },
     http[resp] = {
       ws = 0x7f3d359f6d10[wrk]
         "HTTP/1.1",
         "200",
         "OK",
         "Server: nginx/0.7.67",
         "Content-Type: text/plain",
         "Last-Modified: Mon, 21 Mar 2011 12:23:12 GMT",
         "Content-Length: 947912704",
         "Accept-Ranges: bytes",
         "Date: Mon, 28 Mar 2011 10:20:39 GMT",
         "X-Varnish: 741837878",
         "Age: 21",

         "Via: 1.1 varnish",
         "Connection: keep-alive",
     },
     },
     vcl = {
       srcname = {
         "input",
         "Default",
       },
     },
   obj = 0x7f3d35007300 {
     xid = 741837878,
     ws = 0x7f3d35007318 {
       id = "obj",
       {s,f,r,e} = {0x7f3d35007508,+200,(nil),+224},
     },
     http[obj] = {
       ws = 0x7f3d35007318[obj]
         "HTTP/1.1",
         "OK",
         "Server: nginx/0.7.67",
         "Date: Mon, 28 Mar 2011 10:20:17 GMT",
         "Content-Type: text/plain",
         "Last-Modified: Mon, 21 Mar 2011 12:23:12 GMT",
         "Content-Length: 947912704",
     },
     len = 947912704,
     store = {
       947912704 {
         00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 |................|
         00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00
 }}}
 ...

-- 
Ticket URL: <http://www.varnish-cache.org/trac/ticket/884>
Varnish <http://varnish-cache.org/>
The Varnish HTTP Accelerator




More information about the varnish-bugs mailing list