[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