[Varnish] #1065: SEGV at cache/cache_shmlog.c:121 during stress tests
Varnish
varnish-bugs at varnish-cache.org
Fri Nov 25 10:24:37 CET 2011
#1065: SEGV at cache/cache_shmlog.c:121 during stress tests
-------------------+--------------------------------------------------------
Reporter: geoff | Type: defect
Status: new | Priority: normal
Milestone: | Component: varnishd
Version: trunk | Severity: major
Keywords: |
-------------------+--------------------------------------------------------
Child processes crash with SEGV consistently during stress tests:
{{{
Program terminated with signal 11, Segmentation fault.
[...]
#0 0x000000000044c840 in vsl_get (len=932, records=33, flushes=0)
at cache/cache_shmlog.c:121
121 *vsl_ptr = VSL_ENDMARKER;
(gdb) bt
#0 0x000000000044c840 in vsl_get (len=932, records=33, flushes=0)
at cache/cache_shmlog.c:121
#1 0x000000000044ccb0 in WSL_Flush (w=0xfffffd7ffc969b40, overflow=0)
at cache/cache_shmlog.c:194
#2 0x00000000004282c7 in cnt_done (sp=0x20e34e0) at
cache/cache_center.c:349
#3 0x000000000042cb88 in CNT_Session (sp=0x20e34e0)
at ../../include/tbl/steps.h:47
#4 0x0000000000447925 in Pool_Work_Thread (priv=0x5f46e0,
w=0xfffffd7ffc969b40) at cache/cache_pool.c:265
#5 0x0000000000458871 in wrk_thread_real (priv=0x5f46e0,
shm_workspace=8192,
sess_workspace=65536, nhttp=64, http_space=1128, siov=16)
at cache/cache_wrk.c:168
#6 0x0000000000458a14 in WRK_thread (priv=0x5f46e0) at
cache/cache_wrk.c:192
#7 0xfffffd7fff284ae4 in _thrp_setup () from /lib/64/libc.so.1
#8 0xfffffd7fff284da0 in ?? () from /lib/64/libc.so.1
#9 0x0000000000000000 in ?? ()
}}}
From watching varnishstat during the test, I get the impression that it
happens when Varnish is getting its first cache hits.
To reproduce, I run the tests with httperf:
{{{
$ varnishd -a 0.0.0.0:8080 -T 127.0.0.1:6000 -b 127.0.0.1:80 -s malloc,1G
-p default_keep=10
$ httperf --hog --server=127.0.0.1 --port=8080 --wlog=y,paths.lst --num-
conns=25000 --num-calls=1000
commit 699607a0bcc7b7aed43cf83ef8746771c8a7d754
Date: Thu Nov 24 10:50:36 2011 +0000
$ varnishd -V
varnishd (varnish-trunk revision b0fb05b)
Copyright (c) 2006 Verdens Gang AS
Copyright (c) 2006-2011 Varnish Software AS
$ uname -a
SunOS gsimmons 5.11 snv_134 i86pc i386 i86pc Solaris
}}}
The build on Solaris goes smoothly, regression tests pass -- I don't see
the SEGV until I run the stress test.
--
Ticket URL: <https://www.varnish-cache.org/trac/ticket/1065>
Varnish <https://varnish-cache.org/>
The Varnish HTTP Accelerator
More information about the varnish-bugs
mailing list