You are viewing a plain text version of this content. The canonical link for it is here.
Posted to issues@trafficserver.apache.org by "Alan M. Carroll (Updated) (JIRA)" <ji...@apache.org> on 2012/03/12 17:07:39 UTC

[jira] [Updated] (TS-857) Crash Report: HttpTunnel::chain_abort_all -> HttpServerSession::do_io_close -> UnixNetVConnection::do_io_close

     [ https://issues.apache.org/jira/browse/TS-857?page=com.atlassian.jira.plugin.system.issuetabpanels:all-tabpanel ]

Alan M. Carroll updated TS-857:
-------------------------------

    Attachment: ts-857.diff

My proposed patched. The support in IntrusivePtr.h is more extensive than actually required and stems from intermediate fixes that required that support. Since that might be useful in the future it was left in, although not currently used. The primary change is to use a reference counted list for the NetHandler open_list which prevents the VCs from being cleaned up while shared in other threads. Still need to verify that they do get cleaned up at some point.
                
> Crash Report: HttpTunnel::chain_abort_all -> HttpServerSession::do_io_close -> UnixNetVConnection::do_io_close
> --------------------------------------------------------------------------------------------------------------
>
>                 Key: TS-857
>                 URL: https://issues.apache.org/jira/browse/TS-857
>             Project: Traffic Server
>          Issue Type: Bug
>          Components: HTTP, Network
>    Affects Versions: 3.1.0
>         Environment: in my branch that is something same as 3.0.x
>            Reporter: Zhao Yongming
>            Assignee: weijin
>             Fix For: 3.1.5
>
>         Attachments: ts-857.diff, ts-857.diff, ts-857.diff
>
>
> here is the bt from the crash, some of the information is missing due to we have not enable the --enable-debug configure options.
> {code}
> [New process 7532]
> #0  ink_stack_trace_get (stack=<value optimized out>, len=<value optimized out>, signalhandler_frame=<value optimized out>)
>     at ink_stack_trace.cc:68
> 68	    fp = (void **) (*fp);
> (gdb) bt
> #0  ink_stack_trace_get (stack=<value optimized out>, len=<value optimized out>, signalhandler_frame=<value optimized out>)
>     at ink_stack_trace.cc:68
> #1  0x00002ba641dccef1 in ink_stack_trace_dump (sighandler_frame=<value optimized out>) at ink_stack_trace.cc:114
> #2  0x00000000004df020 in signal_handler (sig=<value optimized out>) at signals.cc:225
> #3  <signal handler called>
> #4  0x00000000006a1ea9 in UnixNetVConnection::do_io_close (this=0x1cc9bd20, alerrno=<value optimized out>)
>     at ../../iocore/eventsystem/I_Lock.h:297
> #5  0x000000000051f1d0 in HttpServerSession::do_io_close (this=0x2aaab0042c80, alerrno=20600) at HttpServerSession.cc:127
> #6  0x000000000056d1e9 in HttpTunnel::chain_abort_all (this=0x2aabeeffdd70, p=0x2aabeeffdf68) at HttpTunnel.cc:1300
> #7  0x00000000005269ca in HttpSM::tunnel_handler_ua (this=0x2aabeeffc070, event=104, c=0x2aabeeffdda8) at HttpSM.cc:2987
> #8  0x0000000000571dfc in HttpTunnel::consumer_handler (this=0x2aabeeffdd70, event=104, c=0x2aabeeffdda8) at HttpTunnel.cc:1232
> #9  0x0000000000572032 in HttpTunnel::main_handler (this=0x2aabeeffdd70, event=1088608784, data=<value optimized out>)
>     at HttpTunnel.cc:1456
> #10 0x00000000006a6307 in write_to_net_io (nh=0x2aaaab12d688, vc=0x1cc876e0, thread=<value optimized out>)
>     at ../../iocore/eventsystem/I_Continuation.h:146
> #11 0x000000000069ce97 in NetHandler::mainNetEvent (this=0x2aaaab12d688, event=<value optimized out>, e=0x171c1ed0) at UnixNet.cc:405
> #12 0x00000000006cddaf in EThread::process_event (this=0x2aaaab12c010, e=0x171c1ed0, calling_code=5) at I_Continuation.h:146
> #13 0x00000000006ce6bc in EThread::execute (this=0x2aaaab12c010) at UnixEThread.cc:262
> #14 0x00000000006cd0ee in spawn_thread_internal (a=0x171b58f0) at Thread.cc:88
> #15 0x0000003c33c064a7 in start_thread () from /lib64/libpthread.so.0
> #16 0x0000003c330d3c2d in clone () from /lib64/libc.so.6
> (gdb) info f
> Stack level 0, frame at 0x40e2b790:
>  rip = 0x2ba641dccdf3 in ink_stack_trace_get(void**, int, int) (ink_stack_trace.cc:68); saved rip 0x2ba641dccef1
>  called by frame at 0x40e2bbe0
>  source language c++.
>  Arglist at 0x40e2b770, args: stack=<value optimized out>, len=<value optimized out>, signalhandler_frame=<value optimized out>
>  Locals at 0x40e2b770, Previous frame's sp is 0x40e2b790
>  Saved registers:
>   rbx at 0x40e2b778, rbp at 0x40e2b780, rip at 0x40e2b788
> (gdb) 
> {code}

--
This message is automatically generated by JIRA.
If you think it was sent incorrectly, please contact your JIRA administrators: https://issues.apache.org/jira/secure/ContactAdministrators!default.jspa
For more information on JIRA, see: http://www.atlassian.com/software/jira