[Varnish] #132: Varnish 1.1 dies with assert error in SES_Delete
Varnish
varnish-bugs at projects.linpro.no
Tue Sep 11 15:05:34 CEST 2007
#132: Varnish 1.1 dies with assert error in SES_Delete
----------------------------------+-----------------------------------------
Reporter: anders | Owner: phk
Type: defect | Status: new
Priority: high | Milestone: Varnish 1.1.2
Component: varnishd | Version: 1.1
Severity: major | Resolution:
Keywords: core dump SES_Delete |
----------------------------------+-----------------------------------------
Comment (by janis.putrams):
Hi!
I put line
{{{
assert(!isnan(sp->t_end));
}}}
before all calls to SES_Delete().
Overloaded one of the webservers and got several Assert errors. So far it
happens only when SES_Delete is called from vca_return_session function.
So, modified function looks like this:
{{{
void
vca_return_session(struct sess *sp)
{
CHECK_OBJ_NOTNULL(sp, SESS_MAGIC);
AZ(sp->obj);
AZ(sp->vcl);
if (sp->fd < 0) {
assert(!isnan(sp->t_end));
SES_Delete(sp);
} else
assert(sizeof sp == write(vca_pipes[1], &sp, sizeof sp));
}
}}}
and Asser error is:
{{{
Child said (2, 4440): <<Assert error in vca_return_session(),
cache_acceptor.c line 260:
Condition(!isnan(sp->t_end)) not true.
errno = 0 (Success)
>>
Cache child died pid=4440 status=0x86
Clean child
Child cleaned
}}}
--
Ticket URL: <http://varnish.projects.linpro.no/ticket/132#comment:9>
Varnish <http://varnish.projects.linpro.no/>
The Varnish HTTP Accelerator
More information about the varnish-bugs
mailing list