[Varnish] #561: Restarting 400 Bad request causes an assert error

Varnish varnish-bugs at projects.linpro.no
Tue Sep 29 17:19:28 CEST 2009


#561: Restarting 400 Bad request causes an assert error
----------------------+-----------------------------------------------------
 Reporter:  mikko     |        Owner:  phk
     Type:  defect    |       Status:  new
 Priority:  normal    |    Milestone:     
Component:  varnishd  |      Version:  2.0
 Severity:  normal    |   Resolution:     
 Keywords:            |  
----------------------+-----------------------------------------------------
Comment (by mikko):

 {{{

 (gdb) bt
 #0  0x00007fe82ddddd25 in raise () from /lib/libc.so.6
 #1  0x00007fe82dde0de1 in abort () from /lib/libc.so.6
 #2  0x0000000000420a96 in pan_ic (func=0x44e7be "Tcheck", file=0x44e7d0
 "cache.h", line=648, cond=0x44e7d8 "(t.e) != 0", err=0, xxx=0) at
 cache_panic.c:317
 #3  0x000000000041b5ea in Tcheck (t={b = 0x7fe7e520381c
 "sdfsdfsdfsdf\r\n\r\n", e = 0x0}) at cache.h:648
 #4  0x000000000041ca88 in http_copyh (to=0x7fe7dfe06050,
 fm=0x7fe7e5203250, n=0) at cache_http.c:532
 #5  0x000000000041cbfa in http_copyreq (to=0x7fe7dfe06050,
 fm=0x7fe7e5203250, how=4) at cache_http.c:545
 #6  0x000000000041d685 in http_FilterHeader (sp=0x7fe7e5203008, how=4) at
 cache_http.c:643
 #7  0x00000000004135ad in cnt_pipe (sp=0x7fe7e5203008) at
 cache_center.c:779
 #8  0x0000000000414387 in CNT_Session (sp=0x7fe7e5203008) at steps.h:36
 #9  0x00000000004221f9 in wrk_do_cnt_sess (w=0x7fe7e07f6c50,
 priv=0x7fe7e5203008) at cache_pool.c:398
 #10 0x0000000000421c96 in wrk_thread (priv=0x7fe82dc0d1a0) at
 cache_pool.c:310
 #11 0x00007fe82e59ef9a in start_thread () from /lib/libpthread.so.0
 #12 0x00007fe82de7856d in clone () from /lib/libc.so.6
 #13 0x0000000000000000 in ?? ()
 (gdb) frame 6
 #6  0x000000000041d685 in http_FilterHeader (sp=0x7fe7e5203008, how=4) at
 cache_http.c:643
 643             http_copyreq(hp, sp->http, how);
 (gdb) print *sp
 $4 = {magic = 741317722, fd = 7, id = 7, xid = 1062897157, restarts = 1,
 esis = 0, wrk = 0x7fe7e07f6c50, sockaddrlen = 16, mysockaddrlen = 128,
 sockaddr = 0x7fe7e5203708, mysockaddr = 0x7fe7e5203788,
   mylsock = 0x7fe82dc08190, addr = 0x7fe7e5203808 "192.168.192.1", port =
 0x7fe7e5203816 "58323", srcaddr = 0x7fe7dfe020c0, doclose = 0x0, http =
 0x7fe7e5203250, http0 = 0x7fe7e52034a0, ws = {{
       magic = 905626964, id = 0x44fce0 "sess", s = 0x7fe7e5203808
 "192.168.192.1", f = 0x7fe7e520382c "", r = 0x0, e = 0x7fe7e5207808 "",
 overflow = 0}},
   ws_ses = 0x7fe7e520381c "sdfsdfsdfsdf\r\n\r\n", ws_req = 0x7fe7e520382c
 "", htc = {{magic = 1041886673, fd = 7, ws = 0x7fe7e5203078, rxbuf = {b =
 0x7fe7e520381c "sdfsdfsdfsdf\r\n\r\n",
         e = 0x7fe7e520382c ""}, pipeline = {b = 0x0, e = 0x0}}}, t_open =
 1254025374.3741782, t_req = 1254025375.4689867, t_resp =
 nan(0x8000000000000), t_end = nan(0x8000000000000),
   connect_timeout = 0.40000000000000002, first_byte_timeout = 60,
 between_bytes_timeout = 60, grace = nan(0x8000000000000), step = STP_PIPE,
 cur_method = 0, handling = 3, sendbody = 0 '\0',
   wantbody = 1 '\001', err_code = 400, err_reason = 0x0, list = {vtqe_next
 = 0x0, vtqe_prev = 0x0}, director = 0x7fe82dc0d248, vbe = 0x0, bereq =
 0x0, obj = 0x0, objhead = 0x0, vcl = 0x7fe82dc2f428,
   mem = 0x7fe7e5203000, workreq = {list = {vtqe_next = 0x0, vtqe_prev =
 0x0}, func = 0x4220be <wrk_do_cnt_sess>, priv = 0x7fe7e5203008}, acct =
 {first = 1254025374.3741782, sess = 0, req = 0,
     pipe = 0, pass = 0, fetch = 0, hdrbytes = 0, bodybytes = 0}, acct_req
 = {first = 0, sess = 1, req = 1, pipe = 1, pass = 0, fetch = 0, hdrbytes =
 0, bodybytes = 0}, nhashptr = 0, ihashptr = 0,
   lhashptr = 0, hashptr = 0x0}
 }}}

-- 
Ticket URL: <http://varnish.projects.linpro.no/ticket/561#comment:1>
Varnish <http://varnish.projects.linpro.no/>
The Varnish HTTP Accelerator


More information about the varnish-bugs mailing list