Ticket #590 (closed defect: fixed)

Opened 6 years ago

Last modified 5 years ago

Assert error in ESI_Parse(), cache_esi.c line 822: Condition(st->len < st->space) not true.

Reported by: kali Owned by: phk
Priority: normal Milestone:
Component: varnishd Version: trunk
Severity: major Keywords: esi parser crash


if ew->space is 4096, the assertion will fail. I think e need to allocate ew->space + 1 line 773.


esi_parse_crash.patch Download (465 bytes) - added by kali 6 years ago.
proposed patch
v.stacktrace Download (3.1 KB) - added by kali 6 years ago.
full error dump

Change History

Changed 6 years ago by kali

proposed patch

comment:1 Changed 6 years ago by phk

Uhm which assert fails ?

Do you have a backtrace ?

Changed 6 years ago by kali

full error dump

comment:2 Changed 6 years ago by kali

I can provide the file that triggers the crash every time it is ESI_parse()d, but I'd prefer not to attach it here. Please ask if you want it emailed somewhere.

comment:3 Changed 6 years ago by phk

Can you please mail me (phk@…) the file that crashes this every time ?

comment:4 Changed 5 years ago by phk

  • Status changed from new to closed
  • Resolution set to fixed

Your +1 workaround did throw me of the scent for a moment and it certainly prevents the problem.

The true fix is to repair the wrong assert (see r4523).

Thanks for your patience.

Note: See TracTickets for help on using tickets.