[Varnish] #726: Assert error in http_SetH(), cache_http.c line 595

Varnish varnish-bugs at varnish-cache.org
Fri Jun 18 10:46:13 CEST 2010


#726: Assert error in http_SetH(), cache_http.c line 595
----------------------+-----------------------------------------------------
 Reporter:  anakin    |       Owner:  phk                
     Type:  defect    |      Status:  new                
 Priority:  normal    |   Milestone:  Varnish 2.1 release
Component:  varnishd  |     Version:  2.1.0              
 Severity:  normal    |    Keywords:                     
----------------------+-----------------------------------------------------
 Given simple VCL like that:

 {{{
 backend default {
   .host = "localhost";
   .port = "81";
 }

 sub vcl_recv {

   set req.backend = default;
   set req.http.Host = "uc1.avatars.pl";
   return (lookup);
 }

 sub vcl_hit {

   set obj.http.X-Cache = "hit";
 }

 sub vcl_deliver {

   remove resp.http.Via;
   remove resp.http.X-Varnish;
   remove resp.http.Server;
   remove resp.http.Retry-After;
   remove resp.http.Age;

   set resp.status = 200;
   set resp.response = "OK";
 }
 }}}

 Im getting panic message (varnishd (varnish-2.1 SVN 4640:4641)) detailed
 below every time i test Varnish performance on several concurrent
 connections. When we remove the line setting header in vcl_hit its getting
 better, however im still getting reset connections while testing with no
 error dump from varnishd.

 {{{
 Child (26095) Panic message: Assert error in http_SetH(), cache_http.c
 line 595:
   Condition((fm) != 0) not true.
 thread = (cache-worker)
 ident = Linux,2.6.18-6-xen-amd64,x86_64,-smalloc,-hcritbit,epoll
 Backtrace:
   0x422136: /usr/sbin/varnishd [0x422136]
   0x41e2a5: /usr/sbin/varnishd(http_SetH+0xc5) [0x41e2a5]
   0x2aaaaaf0171f: ./vcl.1P9zoqAU.so [0x2aaaaaf0171f]
   0x426726: /usr/sbin/varnishd(VCL_deliver_method+0x46) [0x426726]
   0x41318f: /usr/sbin/varnishd [0x41318f]
   0x413ed3: /usr/sbin/varnishd(CNT_Session+0x373) [0x413ed3]
   0x424538: /usr/sbin/varnishd [0x424538]
   0x423846: /usr/sbin/varnishd [0x423846]
   0x2b7217f51fc7: /lib/libpthread.so.0 [0x2b7217f51fc7]
   0x2b72186d259d: /lib/libc.so.6(clone+0x6d) [0x2b72186d259d]
 sp = 0x2aaaab424008 {
   fd = 14, id = 14, xid = 1551852669,
   client = 10.1.12.134:47782,
   step = STP_DELIVER,
   handling = deliver,
   restarts = 0, esis = 0
   ws = 0x2aaaab424078 {
     id = "sess",
     {s,f,r,e} = {0x2aaaab425510,+164,(nil),+131072},
   },
   http[req] = {
     ws = 0x2aaaab424078[sess]
       "GET",
       "/16026",
       "HTTP/1.0",
       "User-Agent: ApacheBench/2.0.40-dev",
       "Connection: Keep-Alive",
       "Accept: */*",
       "Host: uc1.avatars.pl",
   },
   worker = 0x4680be80 {
     ws = 0x4680bfe8 { overflow
       id = "wrk",
       {s,f,r,e} = {0x467e9e30,+131071,(nil),+131072},
     },
     },
     vcl = {
       srcname = {
         "input",
         "Default",
       },
     },
   obj = 0x2aaaaae2a400 {
     xid = 1551840220,
     ws = 0x2aaaaae2a420 {
       id = "obj",
       {s,f,r,e} = {0x2aaaaae2a638,+312,(nil),+321},
     },
     http[obj] = {
       ws = 0x2aaaaae2a420[obj]
         "HTTP/1.1",
         "200",
         "OK",
         "X-Powered-By: PHP/5.2.6-1+lenny4",
         "Content-type: image/jpg",
         "X-Avatar-Size: 0",
         "X-Avatar-Id: small",
         "Vary: X-Avatar-Id, X-Avatar-Size",
         "Cache-Control: public, max-age=86400, must-revalidate",
         "Date: Fri, 18 Jun 2010 08:37:54 GMT",
         "Server: lighttpd/1.4.19",
         "Content-Length: 2796",
     },
     len = 2796,
     store = {
       2796 {
         ff d8 ff e0 00 10 4a 46 49 46 00 01 01 01 00 48 |......JFIF.....H|
         00 48 00 00 ff db 00 43 00 03 02 02 03 02 02 03 |.H.....C........|
         03 03 03 04 03 03 04 05 08 05 05 04 04 05 0a 07 |................|
         07 06 08 0c 0a 0c 0c 0b 0a 0b 0b 0d 0e 12 10 0d |................|
         [2732 more]
       },
     },
   },
 },


 Child cleanup complete
 }}}

 Header is not being set anyway, single request generates LostHeader every
 time:
 {{{
 12 VCL_call     c recv
 12 VCL_return   c lookup
 12 VCL_call     c hash
 12 VCL_return   c hash
 12 Hit          c 1551840220
 12 VCL_call     c hit
 12 LostHeader   c X-Cache:
 12 VCL_return   c deliver
 }}}

 Command line:
 {{{
 /usr/sbin/varnishd -P /var/run/varnishd.pid -a :80 -T localhost:6082 -f
 /etc/varnish/1.vcl -s malloc,1G -p http_headers=128 -p
 sess_workspace=131072 -F
 }}}

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




More information about the varnish-bugs mailing list