[Varnish] #548: Sig 11 crash in trunk 4199

Varnish varnish-bugs at projects.linpro.no
Sun Aug 30 19:15:21 CEST 2009


#548: Sig 11 crash in trunk 4199
----------------------+-----------------------------------------------------
 Reporter:  anders    |       Owner:  phk                            
     Type:  defect    |      Status:  new                            
 Priority:  normal    |   Milestone:                                 
Component:  varnishd  |     Version:  trunk                          
 Severity:  normal    |    Keywords:  sig 11 segmentation fault trunk
----------------------+-----------------------------------------------------
 I'm running Varnish trunk 4199 in FreeBSD/amd64 7.2-RELEASE-p3, and got a
 sig11 crash:

 Aug 30 16:01:23 cache11 kernel: pid 845 (varnishd), uid 0: exited on
 signal 11 (core dumped)

 Backtrace:

 {{{
 (gdb) bt
 #0  0x0000000800899d8f in getframeaddr (level=Variable "level" is not
 available.
 ) at execinfo.c:324
 #1  0x00000008008a022f in backtrace (buffer=Variable "buffer" is not
 available.
 ) at execinfo.c:65
 #2  0x0000000000420305 in pan_backtrace () at cache_panic.c:273
 #3  0x00000000004206b7 in pan_ic (func=Variable "func" is not available.
 ) at cache_panic.c:327
 #4  0x000000000041b2b5 in HSH_Lookup (sp=0x822acf008, poh=0x7fffbe5ee1e0)
     at cache_hash.c:506
 #5  0x0000000000410c22 in cnt_lookup (sp=0x822acf008) at
 cache_center.c:739
 #6  0x0000000000412c83 in CNT_Session (sp=0x822acf008) at steps.h:38
 #7  0x0000000000422391 in wrk_do_cnt_sess (w=0x7fffbe5f42c0, priv=Variable
 "priv" is not available.
 )
     at cache_pool.c:281
 #8  0x0000000000421687 in wrk_thread_real (qp=0x80100f8d0,
 shm_workspace=Variable "shm_workspace" is not available.
 )
     at cache_pool.c:176
 #9  0x0000000800ac14d1 in pthread_getprio () from /lib/libthr.so.3
 #10 0x0000000000000000 in ?? ()
 Cannot access memory at address 0x7fffbe5f5000
 (gdb) frame 4
 #4  0x000000000041b2b5 in HSH_Lookup (sp=0x822acf008, poh=0x7fffbe5ee1e0)
     at cache_hash.c:506
 506                     CHECK_OBJ_NOTNULL(o, OBJECT_MAGIC);
 (gdb) print *sp
 $1 = {magic = 741317722, fd = 1360, id = 1360, xid = 1041139975, restarts
 = 0,
   esis = 0, disable_esi = 0, wrk = 0x7fffbe5f42c0, sockaddrlen = 16,
   mysockaddrlen = 128, sockaddr = 0x822acf708, mysockaddr = 0x822acf788,
   mylsock = 0x80101bb80, addr = 0x822acf808 "80.213.122.235",
   port = 0x822acf817 "7416", doclose = 0x0, http = 0x822acf250,
   http0 = 0x822acf4a0, ws = {{magic = 905626964, id = 0x443828 "sess",
       s = 0x822acf808 "80.213.122.235", f = 0x822acfb5e "", r = 0x0,
       e = 0x822ad3808 "", overflow = 0}}, ws_ses = 0x822acf81c "GET",
   ws_req = 0x822acfb5e "", htc = {{magic = 1041886673, fd = 1360,
       ws = 0x822acf078, rxbuf = {b = 0x822acf81c "GET", e = 0x822acfb5e
 ""},
       pipeline = {b = 0x0, e = 0x0}}}, t_open = 1251626952.7275271,
   t_req = 1251626952.745923, t_resp = nan(0x8000000000000),
   t_end = 1251626952.7275271, connect_timeout = 0.40000000000000002,
   first_byte_timeout = 60, between_bytes_timeout = 60, grace = 300,
   step = STP_LOOKUP, cur_method = 0, handling = 3, sendbody = 0 '\0',
   wantbody = 1 '\001', err_code = 0, err_reason = 0x0, list = {
     vtqe_next = 0x0, vtqe_prev = 0x0}, director = 0x80bae8f68, vbe = 0x0,
   obj = 0x0, objcore = 0x0, objhead = 0x0, vcl = 0x80baed108,
   mem = 0x822acf000, workreq = {list = {vtqe_next = 0x0, vtqe_prev = 0x0},
     func = 0x4222d0 <wrk_do_cnt_sess>, priv = 0x822acf008}, acct = {
     first = 1251626952.7275271, sess = 0, req = 0, pipe = 0, pass = 0,
     fetch = 0, hdrbytes = 0, bodybytes = 0}, acct_req = {first = 0, sess =
 1,
     req = 1, pipe = 0, pass = 0, fetch = 0, hdrbytes = 0, bodybytes = 0},
   nhashptr = 0, ihashptr = 0, lhashptr = 0, hashptr = 0x0}
 (gdb) print *hp
 }}}

 Varnish is started with these parameters:

 {{{
 -p sess_workspace=16384 -p obj_workspace=2048 -p lru_interval=3600 -h
 classic,500009 -p ping_interval=0 -p cli_timeout=30 -p auto_restart=on -p
 thread_pools=10 -p thread_pool_min=70 -p thread_pool_max=4000 -p
 session_linger=40 -p listen_depth=4096 -p default_ttl=604800 -T
 localhost:8080 -f /usr/local/etc/varnish.vcl -s malloc,60G -P
 /var/run/varnishd.pid
 }}}

-- 
Ticket URL: <http://varnish.projects.linpro.no/ticket/548>
Varnish <http://varnish.projects.linpro.no/>
The Varnish HTTP Accelerator


More information about the varnish-bugs mailing list