[Varnish] #1747: VSL API: assertion failure "c->next.ptr < c->end" in vsl_cursor.c/vslc_vsm_next() in load tests
Varnish
varnish-bugs at varnish-cache.org
Fri Jun 26 14:38:39 CEST 2015
#1747: VSL API: assertion failure "c->next.ptr < c->end" in
vsl_cursor.c/vslc_vsm_next() in load tests
------------------------+----------------------------------
Reporter: geoff | Owner: slink
Type: defect | Status: closed
Priority: normal | Milestone: Varnish 4.0 release
Component: varnishlog | Version: 4.0.3
Severity: normal | Resolution: fixed
Keywords: |
------------------------+----------------------------------
Changes (by Nils Goroll <nils.goroll@…>):
* status: new => closed
* resolution: => fixed
Comment:
In [35cf78131c2aaaf8227c31ba92eb577c5bea9855]:
{{{
#!CommitTicketReference repository=""
revision="35cf78131c2aaaf8227c31ba92eb577c5bea9855"
Simplify vsl segment management, fixing spurious vsl overruns
vsl sequence and segment updates didn't happen atomically, so
vslc_vsm_check could report spurious overruns.
Replace sequence and segment index with a counter (segment_n), which
always increments (with overflow after UINT_MAX). The actual segment
index will be segment_n % VSL_SEGMENTS. Overrun detection by
calculation of the difference between two segment numbers becomes
simple and safe because we only ever access/update a single integer.
Update the shared memory log head.
(struct VSLC_ptr).priv is now the the equivalent of segment_n from the
reader side. It gets initialized once and is maintained independently.
Patch prepared in collaboration with Martin Blix Grydeland
<martin at varnish-software.com>
Fixes: #1747
}}}
--
Ticket URL: <https://www.varnish-cache.org/trac/ticket/1747#comment:2>
Varnish <https://varnish-cache.org/>
The Varnish HTTP Accelerator
More information about the varnish-bugs
mailing list