[Pkg-varnish-devel] Bug#815812: varnish: Assert error in vbf_stp_startfetch(), cache/cache_fetch.c line 360

Grégoire BRENON gbr at reportlinker.com
Wed Feb 24 17:20:19 UTC 2016

Source: varnish
Version: 4.0.2-1
Severity: important

Dear Maintainer,

*** Reporter, please consider answering these questions, where appropriate ***

   * What led up to the situation?
   * What exactly did you do (or not do) that was effective (or
   * What was the outcome of this action?
   * What outcome did you expect instead?

*** End of the template - remove these template lines ***

Our varnish server dies periodically (about each ten minutes) with this error, unabling it to
actually keep much in cache for a decent amount of time (max ~150M for like 30m). The server was
running just fine with the same configuration on varnish 4.0.3-2 from varnish's repository :
https://repo.varnish-cache.org/debian. This was on Debian wheezy.

We then tried to upgrade to jessie and found there was an official package for varnish 4, so
we created two virtual machines with Debian jessie. One got the 4.0.3-2 from varnish-cache.org,
the other got Debian's official 4.0.2-1. The latter experienced the error I'm reporting while
the former just kept on just fine (still using exactly the same configuration).

By downgrading the 'good' one to 4.0.2-1, the problem arises on it too ! Upgrading back to
4.0.3-1 solves the issue.

Here is what I could recover from panic.show :

Last panic at: Wed, 24 Feb 2016 16:19:03 GMT
Assert error in vbf_stp_startfetch(), cache/cache_fetch.c line 360:
  Condition((bo->do_esi) == 0) not true.
thread = (cache-worker)
ident = Linux,3.16.0-4-amd64,x86_64,-smalloc,-smalloc,-hcritbit,epoll
  0x4330a8: /usr/sbin/varnishd() [0x4330a8]
  0x42112d: /usr/sbin/varnishd() [0x42112d]
  0x435cdc: /usr/sbin/varnishd(Pool_Work_Thread+0x39c) [0x435cdc]
  0x44912c: /usr/sbin/varnishd() [0x44912c]
  0x7f9f13a450a4: /lib/x86_64-linux-gnu/libpthread.so.0(+0x80a4) [0x7f9f13a450a4]
  0x7f9f1377a87d: /lib/x86_64-linux-gnu/libc.so.6(clone+0x6d) [0x7f9f1377a87d]
  busyobj = 0x7f9f01dac020 {
    ws = 0x7f9f01dac0e0 {
      id = "bo",
      {s,f,r,e} = {0x7f9f01dae008,+23624,(nil),+57368},
  refcnt = 2
  retries = 1
  failed = 0
  state = 1
    bodystatus = 2 (chunked),
    http[bereq] = {
      ws = 0x7f9f01dac0e0[bo]
        "Host: www.*******.com",
        "Cookie: PHPSESSID=***************; r_mode=***************; SVID=4",
        "Accept: text/html,application/xhtml+xml,application/xml;q=0.9,*/*;q=0.8",
        "From: googlebot(at)googlebot.com",
        "User-Agent: Mozilla/5.0 (compatible; Googlebot/2.1; +http://www.google.com/bot.html)",
        "X-Forwarded-Proto: http",
        "Accept-Encoding: gzip",
        "X-Varnish: 295287",
        "X-Varnish: 33133",
    http[beresp] = {
      ws = 0x7f9f01dac0e0[bo]
        "Moved Temporarily",
        "Server: nginx",
        "Date: Wed, 24 Feb 2016 16:19:03 GMT",
        "Content-Type: text/html;charset=utf-8",
        "Transfer-Encoding: chunked",
        "Expires: Thu, 19 Nov 1981 08:52:00 GMT",
        "Cache-Control: no-store, no-cache, must-revalidate, post-check=0, pre-check=0",
        "Pragma: no-cache",
        "Set-Cookie: r_mode=***************; expires=Sun, 24-Apr-2016 16:19:03 GMT; Max-Age=5184000; path=/; domain=.********.com",
        "Location: http://www.********.com/p03024452/someGreatPage.html",
        "Accept-Ranges: none",
    ws = 0x7f9f01dac270 { BAD_MAGIC(0x00000000) },
  objcore (FETCH) = 0x7f9f0286a980 {
    refcnt = 2
    flags = 0x102
    objhead = 0x7f9f12c18240

I'm surprised how similar to bug #815713 this looks while still not being the same as far as I know.

-- System Information:
Debian Release: 8.3
  APT prefers stable-updates
  APT policy: (500, 'stable-updates'), (500, 'stable')
Architecture: amd64 (x86_64)
Foreign Architectures: i386

Kernel: Linux 3.16.0-4-amd64 (SMP w/4 CPU cores)
Locale: LANG=fr_FR.UTF-8
Shell: /bin/bash
Init: systemd (via /run/systemd/system)

More information about the Pkg-varnish-devel mailing list