[Varnish] #638: Assert error in VRT_ESI

Varnish varnish-bugs at projects.linpro.no
Fri Jan 29 08:58:01 CET 2010


#638: Assert error in VRT_ESI
----------------------+-----------------------------------------------------
 Reporter:  bertjan   |       Owner:  phk
     Type:  defect    |      Status:  new
 Priority:  normal    |   Milestone:     
Component:  varnishd  |     Version:  2.0
 Severity:  major     |    Keywords:     
----------------------+-----------------------------------------------------
 I'm trying to experiment with ESI but even the simplest setup crashes.
 My setup is FreeBSD 7.2, apache 2.2.14, varnish 2.0.6 from ports.

 I have a simple page:

 index.html
 {{{
 <html>
 <esi:include src="/include.html"/>
 </html>
 }}}

 include.html
 {{{
 <p>Test</p>
 }}}

 When I open it through Varnish the connection is reset. Requesting
 include.html directly is no problem.

 My default.vcl:
 {{{
 backend dev {
    .host = "192.168.2.10";
    .port = "80";
 }

 sub vcl_recv {
      if (req.url ~ "\.(js|css|gif|jpg|png|ico|txt|swf|mp3)(\?.*)?$") {
          unset req.http.cookie;
      }

      if (req.http.Accept-Encoding) {
          if (req.http.Accept-Encoding ~ "gzip") {
              set req.http.Accept-Encoding = "gzip";
          } elsif (req.http.Accept-Encoding ~ "deflate") {
              set req.http.Accept-Encoding = "deflate";
          } else {
              # unkown algorithm
              remove req.http.Accept-Encoding;
          }
      }

      if (req.url == "/index.html") {
          esi;
      }
 }
 }}}

 What happens:
 {{{
 # varnishd -d -d -f /usr/local/etc/varnish/default.vcl -a 192.168.2.15:80

 storage_file: filename: ./varnish.2adBfM (unlinked) size 1346836 MB.
 Using old SHMFILE
 Debugging mode, enter "start" to start child
 start
 child (57004) Started
 200 0

 Child (57004) said Closed fds: 4 8 9 11 12
 Child (57004) said Child starts
 Child (57004) said managed to mmap 1412260429824 bytes of 1412260429824
 Child (57004) said Ready
 Child (57004) died signal=6
 Child (57004) Panic message: Assert error in VRT_ESI(), cache_vrt_esi.c
 line 658:
    Condition((sp->obj) != NULL) not true.
 thread = (cache-worker)
 sp = 0x806572008 {
    fd = 9, id = 9, xid = 678967366,
    client = 192.168.2.24:57004,
    step = STP_RECV,
    handling = error,
    restarts = 0, esis = 0
    ws = 0x806572080 {
      id = "sess",
      {s,f,r,e} = {0x806572810,+523,0x0,+16384},
    },
    http[req] = {
      ws = 0x806572080[sess]
        "GET",
        "/index.html",
        "HTTP/1.1",
        "Host: dutchcowboys.bert-jan.bug",
        "User-Agent: Mozilla/5.0 (Windows; U; Windows NT 6.1; en-US;
 rv:1.9.1.7) Gecko/20091221 Firefox/3.5.7",
        "Accept:
 text/html,application/xhtml+xml,application/xml;q=0.9,*/*;q=0.8",
        "Accept-Language: en-us,en;q=0.5",
        "Accept-Charset: ISO-8859-1,utf-8;q=0.7,*;q=0.7",
        "Keep-Alive: 300",
        "Connection: keep-alive",
        "Cookie: __unam=c4094e2-124e7db5c01-3e94d73-153;
 PHPSESSID=36e043ec7c9710545523e4e04c538734",
        "Accept-Encoding: gzip",
    },
    worker = 0x7ffffdff0a70
      vcl = {
        srcname = {
          "input",
          "Default",
        },
      },
 },


 Child cleanup complete
 child (57005) Started
 Child (57005) said Closed fds: 4 8 9 11 12
 Child (57005) said Child starts
 Child (57005) said managed to mmap 1412260429824 bytes of 1412260429824
 Child (57005) said Ready
 }}}

-- 
Ticket URL: <http://varnish-cache.org/ticket/638>
Varnish <http://varnish.projects.linpro.no/>
The Varnish HTTP Accelerator


More information about the varnish-bugs mailing list