Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Assert error in V1L_Write() #2207

Closed
joshuaspence opened this issue Feb 9, 2017 · 1 comment
Closed

Assert error in V1L_Write() #2207

joshuaspence opened this issue Feb 9, 2017 · 1 comment

Comments

@joshuaspence
Copy link

@joshuaspence joshuaspence commented Feb 9, 2017

I've just come across another Varnish panic, running on Varnish 5.0.0.

Panic at: Thu, 09 Feb 2017 03:29:38 GMT
"Assert error in V1L_Write(), http1/cache_http1_line.c line 251:
  Condition(v1l->niov < v1l->siov) not true.
thread = (cache-worker)
version = varnish-5.0.0 revision 99d036f
ident = Linux,4.4.0-62-generic,x86_64,-junix,-smalloc,-smalloc,-hcritbit,epoll
Backtrace:
  0x4351b6: varnishd() [0x4351b6]
  0x456130: varnishd(V1L_Chunked+0) [0x456130]
  0x4535f2: varnishd() [0x4535f2]
  0x41c554: varnishd(VDP_bytes+0x74) [0x41c554]
  0x471d0d: varnishd() [0x471d0d]
  0x453913: varnishd(V1D_Deliver+0x263) [0x453913]
  0x438156: varnishd(CNT_Request+0x226) [0x438156]
  0x454edf: varnishd(HTTP1_Session+0x4df) [0x454edf]
  0x4556b7: varnishd() [0x4556b7]
  0x44cb61: varnishd() [0x44cb61]
req = 0x7f934dd33020 {
  vxid = 12396836, transport = HTTP/1 {
    state = HTTP1::Proc
  }
  step = R_STP_TRANSMIT,
  req_body = R_BODY_NONE,
  restarts = 0, esi_level = 0,
  sp = 0x7f9611846220 {
    fd = 76, vxid = 12396835,
    t_open = 1486610698.289841,
    t_idle = 1486610698.289841,
    transport = HTTP/1 {
      state = HTTP1::Proc
    }
client = 10.183.50.247 33124,
  },
  worker = 0x7f96f4fb9c90 {
    stack = {0x7f96f4fba000 -> 0x7f96f4fae000},
    ws = 0x7f96f4fb9e78 {
      id = \"wrk\",
      {s, f, r, e} = {0x7f96f4fb9430, 0x7f96f4fb9430, (nil), +2040},
    },
    VCL::method = DELIVER,
    VCL::return = deliver,
    VCL::methods = {RECV, HASH, MISS, DELIVER},
  },
  ws = 0x7f934dd331f8 {
    id = \"req\",
    {s, f, r, e} = {0x7f934dd34ff8, +57312, +57344, +57344},
  },
  http_conn = 0x7f934dd33128 {
    fd = 76,
    doclose = NULL,
    ws = 0x7f934dd331f8,
    {rxbuf_b, rxbuf_e} = {0x7f934dd34ff8, 0x7f934dd3762f},
    {pipeline_b, pipeline_e} = {(nil), (nil)},
    content_length = -1,
    body_status = none,
    first_byte_timeout = 0.000000,
    between_bytes_timeout = 0.000000,
  },
  http[req] = 0x7f934dd33290 {
    ws[req] = 0x7f934dd331f8,
    hdrs {
      REDACTED
    },
  },
  http[resp] = 0x7f934dd33b80 {
    ws[req] = 0x7f934dd331f8,
    hdrs {
      REDACTED
    },
  },
  vcl = {
    name = \"vcl_fe9ac166-f297-4773-8519-d77f48a8097a\"
    busy = 128
    discard = 0,
    state = auto,
    temp = warm,
    conf = {
      srcname = {
        \"/etc/varnish/default.vcl\",
        \"Builtin\",
        \"/etc/varnish/includes/directors.vcl\",
        \"/etc/varnish/includes/probes.vcl\",
        \"/etc/varnish/includes/backends.vcl\",
        \"/etc/varnish/includes/backends/gaf_admin.vcl\",
        \"/etc/varnish/includes/backends/gaf_appserver.vcl\",
        \"/etc/varnish/includes/backends/gaf_assets.vcl\",
        \"/etc/varnish/includes/acls.vcl\",
        \"/etc/varnish/includes/backendselection.vcl\",
        \"/etc/varnish/varnish.vcl\",
        \"/etc/varnish/includes/subroutines.vcl\",
        \"/etc/varnish/includes/subroutines/determine_authentication_status.vcl\",
        \"/etc/varnish/includes/subroutines/normalize_cookies.vcl\",
        \"/etc/varnish/includes/subroutines/normalize_host.vcl\",
        \"/etc/varnish/includes/subroutines/normalize_url.vcl\",
        \"/etc/varnish/includes/subroutines/parse_accept_language.vcl\",
        \"/etc/varnish/includes/subroutines/sanitize_cookies.vcl\",
        \"/etc/varnish/includes/subroutines/sanitize_query_parameters.vcl\",
      },
    },
  },
  objcore[REQ] = 0x7f90e9307c40 {
    refcnt = 3,
    flags = {pass},
    exp_flags = {refd},
    boc = 0x7f911b1c50e0 {
      refcnt = 3,
      state = stream,
      vary = (nil),
      stevedore_priv = (nil),
    },
    exp = {1486610698.610978, 120.000000, 10.000000, 0.000000}
    objhead = 0x7f92ef3af470,
    stevedore = 0x7f96f2cb6540 (malloc Transient) {
      Simple = 0x7f913ad27200
      Obj 0x7f90e164f068 {priv=0x7f90e164f060, ptr=0x7f913ad27200, len=443, space=448}
      LEN = 0x0...0
      VXID = 0x00bd2925
      FLAGS = 0x02
      GZIPBITS = 0x0000000000000050000000000000005000000000000000000000000000000000
      LASTMODIFIED = 0x41d626f842800000
      VARY = {len=0, ptr=0x7f913ad27278}
      HEADERS = {len=0, ptr=0x7f913ad272ab}
      Body 0x7f92c8c31158 {priv=0x7f92c8c31150, ptr=0x7f9548779000, len=14166, space=16384}
    },
  },
  flags = {
  },
},

"
@bsdphk bsdphk closed this in a6696fc Feb 15, 2017
bsdphk added a commit that referenced this issue Mar 23, 2017
not be able to get enough iovec's to do Chunked transmission.

Fixes #2275

And #2207 was probably misdiagnosed, but the fix is correct anyhow.
bsdphk added a commit that referenced this issue Mar 23, 2017
This reverts the patch for #2207, which as martin points out, is not
a good idea after all.
hermunn added a commit that referenced this issue Apr 3, 2017
not be able to get enough iovec's to do Chunked transmission.

Fixes #2275

And #2207 was probably misdiagnosed, but the fix is correct anyhow.

Conflicts:
	bin/varnishd/http1/cache_http1_line.c
@hermunn
Copy link
Member

@hermunn hermunn commented Apr 3, 2017

Backport review: The fix 8e77985 has been backported as adb8de0.

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Projects
None yet
Linked pull requests

Successfully merging a pull request may close this issue.

None yet
3 participants
You can’t perform that action at this time.