[Varnish] #162: Varnish trunk dies with assert error in SES_Delete()
Varnish
varnish-bugs at projects.linpro.no
Mon Oct 8 14:03:46 CEST 2007
#162: Varnish trunk dies with assert error in SES_Delete()
---------------------------------------------------------+------------------
Reporter: anders | Owner: phk
Type: defect | Status: new
Priority: high | Milestone:
Component: varnishd | Version: trunk
Severity: normal | Resolution:
Keywords: varnishd core dump SES_Delete cache_session |
---------------------------------------------------------+------------------
Comment (by anders):
Got a new assert, after updating to trunk/2090 - now trying on a similar
(same OS release and processor type) system but which has 8 cores:
{{{
Child said (2, 22376): <<Assert error in vca_kev(),
cache_acceptor_kqueue.c line 91:
Condition((ss[j]->obj) == 0) not true.
errno = 9 (Bad file descriptor)
>>
}}}
The child process was attached to gdb, where I got:
{{{
Program received signal SIGABRT, Aborted.
[Switching to Thread 0x540e00 (LWP 100250)]
0x0000000800c3273c in thr_kill () at thr_kill.S:2
2 thr_kill.S: No such file or directory.
in thr_kill.S
Current language: auto; currently asm
(gdb) bt
#0 0x0000000800c3273c in thr_kill () at thr_kill.S:2
#1 0x00000008009a469f in _thr_send_sig (thread=0x540e00, sig=6)
at /usr/src/lib/libthr/thread/thr_kern.c:91
#2 0x0000000800999ff8 in _raise (sig=6)
at /usr/src/lib/libthr/thread/thr_syscalls.c:357
#3 0x0000000800ce4216 in abort () at /usr/src/lib/libc/stdlib/abort.c:69
#4 0x0000000800677ba9 in lbv_assert (func=0x42ddc8 "vca_kev",
file=0x42dd69 "cache_acceptor_kqueue.c", line=91,
cond=0x42de1d "(ss[j]->obj) == 0", err=9) at assert.c:58
#5 0x00000000004082d0 in vca_kev (kp=0x7fffff5fb570)
at cache_acceptor_kqueue.c:91
#6 0x00000000004087bd in vca_kqueue_main (arg=0x0)
at cache_acceptor_kqueue.c:151
#7 0x000000080099cc71 in thread_start (curthread=0x540e00)
at /usr/src/lib/libthr/thread/thr_create.c:246
#8 0x0000000000000000 in ?? ()
Error accessing memory address 0x7fffff5fc000: Bad address.
(gdb)
}}}
Switching to frame 5, I check ss[j]->obj:
{{{
(gdb) frame 5
#5 0x00000000004082d0 in vca_kev (kp=0x7fffff5fb570)
at cache_acceptor_kqueue.c:91
91 AZ(ss[j]->obj);
(gdb) print ss[j]->obj
$1 = (struct object *) 0x80a626000
}}}
--
Ticket URL: <http://varnish.projects.linpro.no/ticket/162#comment:7>
Varnish <http://varnish.projects.linpro.no/>
The Varnish HTTP Accelerator
More information about the varnish-bugs
mailing list