```
Program terminated with signal SIGSEGV, Segmentation fault.
#0  Http2ConnectionState::release_stream (this=this@entry=0x7f22381730e0, 
stream=stream@entry=0x7f22381a6b80) at 
/opt/src/trafficserver/proxy/http2/Http2ConnectionState.cc:1186
1186          ua_session->destroy();
[Current thread is 1 (Thread 0x7f224975c700 (LWP 20146))]
(gdb) bt
#0  Http2ConnectionState::release_stream (this=this@entry=0x7f22381730e0, 
stream=stream@entry=0x7f22381a6b80) at 
/opt/src/trafficserver/proxy/http2/Http2ConnectionState.cc:1186
#1  0x00000000006197a5 in Http2Stream::destroy (this=0x7f22381a6b80) at 
/opt/src/trafficserver/proxy/http2/Http2Stream.cc:719
#2  0x0000000000612976 in Http2Stream::terminate_if_possible 
(this=0x7f22381a6b80) at /opt/src/trafficserver/proxy/http2/Http2Stream.cc:384
#3  Http2Stream::transaction_done (this=0x7f22381a6b80) at 
/opt/src/trafficserver/proxy/http2/Http2Stream.cc:373
#4  0x00000000005bb027 in HttpSM::kill_this (this=this@entry=0x7f2228a21620) at 
/opt/src/trafficserver/proxy/http/HttpSM.cc:6895
#5  0x00000000005bc1ad in HttpSM::main_handler (this=0x7f2228a21620, 
event=2301, data=0x7f2228a229c0) at 
/opt/src/trafficserver/proxy/http/HttpSM.cc:2640
#6  0x0000000000606751 in Continuation::handleEvent (data=0x7f2228a229c0, 
event=2301, this=<optimized out>) at 
/opt/src/trafficserver/iocore/eventsystem/I_Continuation.h:152
#7  HttpTunnel::main_handler (this=0x7f2228a229c0, event=<optimized out>, 
data=<optimized out>) at /opt/src/trafficserver/proxy/http/HttpTunnel.cc:1651
#8  0x0000000000755a6e in Continuation::handleEvent (data=<optimized out>, 
event=<optimized out>, this=<optimized out>) at 
/opt/src/trafficserver/iocore/eventsystem/I_Continuation.h:152
#9  CacheVC::calluser (event=<optimized out>, this=<optimized out>) at 
/opt/src/trafficserver/iocore/cache/P_CacheInternal.h:646
#10 CacheVC::openReadMain (this=0x7f223ece8980) at 
/opt/src/trafficserver/iocore/cache/CacheRead.cc:712
#11 0x00000000006da481 in Continuation::handleEvent (data=0x0, event=1, 
this=0x7f223ece8980) at 
/opt/src/trafficserver/iocore/eventsystem/I_Continuation.h:152
#12 CacheVC::callcont (this=0x7f223ece8980, event=<optimized out>) at 
/opt/src/trafficserver/iocore/cache/P_CacheInternal.h:665
#13 0x000000000075c1a1 in CacheVC::openReadStartHead (this=0x7f223ece8980, 
event=<optimized out>, e=0x0) at 
/opt/src/trafficserver/iocore/cache/CacheRead.cc:1159
#14 0x0000000000731185 in Continuation::handleEvent (data=0x0, event=3900, 
this=0x7f223ece8980) at 
/opt/src/trafficserver/iocore/eventsystem/I_Continuation.h:152
#15 CacheVC::handleReadDone (this=0x7f223ece8980, event=<optimized out>, 
e=<optimized out>) at /opt/src/trafficserver/iocore/cache/Cache.cc:2463
#16 0x00000000006d90f3 in Continuation::handleEvent (data=<optimized out>, 
event=3900, this=<optimized out>) at 
/opt/src/trafficserver/iocore/eventsystem/I_Continuation.h:152
#17 AIOCallbackInternal::io_complete (this=<optimized out>, event=<optimized 
out>, data=<optimized out>) at /opt/src/trafficserver/iocore/aio/P_AIO.h:116
#18 0x0000000000806a55 in Continuation::handleEvent (data=0x7f21252a8dc0, 
event=1, this=<optimized out>) at 
/opt/src/trafficserver/iocore/eventsystem/I_Continuation.h:152
#19 EThread::process_event (this=this@entry=0x7f2249c67010, 
e=e@entry=0x7f21252a8dc0, calling_code=1) at 
/opt/src/trafficserver/iocore/eventsystem/UnixEThread.cc:140
#20 0x00000000008072b6 in EThread::process_queue 
(this=this@entry=0x7f2249c67010, 
NegativeQueue=NegativeQueue@entry=0x7f224975bea0)
    at /opt/src/trafficserver/iocore/eventsystem/UnixEThread.cc:175
#21 0x00000000008076db in EThread::execute_regular (this=0x7f2249c67010) at 
/opt/src/trafficserver/iocore/eventsystem/UnixEThread.cc:207
#22 0x00000000008064b5 in spawn_thread_internal (a=0x2c83d70) at 
/opt/src/trafficserver/iocore/eventsystem/Thread.cc:84
#23 0x00007f224f8ad6ba in start_thread (arg=0x7f224975c700) at 
pthread_create.c:333
#24 0x00007f224eb3241d in clone () at 
../sysdeps/unix/sysv/linux/x86_64/clone.S:109
(gdb) f 0
#0  Http2ConnectionState::release_stream (this=this@entry=0x7f22381730e0, 
stream=stream@entry=0x7f22381a6b80) at 
/opt/src/trafficserver/proxy/http2/Http2ConnectionState.cc:1186
1186          ua_session->destroy();
(gdb) list
1181    
1182        if (fini_received && total_client_streams_count == 0) {
1183          // We were shutting down, go ahead and terminate the session
1184          // this is a member of Http2ConnectionState and will be freed
1185          // when ua_session is destroyed
1186          ua_session->destroy();
1187    
1188          // Can't do this because we just destroyed right here ^,
1189          // or we can use a local variable to do it.
1190          // ua_session = nullptr;
(gdb) print ua_session
$1 = (Http2ClientSession *) 0x0
(gdb) info locals
lock = {m = {m_ptr = 0x7f21a5f7c370}, locked_p = true}
(gdb) print *lock.m.m_ptr
$2 = {<RefCountObj> = {<ForceVFPTToTop> = {_vptr.ForceVFPTToTop = 0x80af70 
<vtable for ProxyMutex+16>}, m_refcount = 3}, the_mutex = {__data = {__lock = 
1, __count = 0, __owner = 20146, 
      __nusers = 1, __kind = 0, __spins = 0, __elision = 0, __list = {__prev = 
0x0, __next = 0x0}}, __size = 
"\001\000\000\000\000\000\000\000\262N\000\000\001", '\000' <repeats 26 times>, 
    __align = 1}, thread_holding = 0x7f2249c67010, nthread_holding = 3}
(gdb) print *this
$3 = {<Continuation> = {<force_VFPT_to_top> = {_vptr.force_VFPT_to_top = 
0x842b40 <vtable for Http2ConnectionState+16>}, handler = (int 
(Continuation::*)(Continuation * const, int, 
    void *)) 0x62a000 <Http2ConnectionState::state_closed(int, void*)>, mutex = 
{m_ptr = 0x0}, link = {<SLink<Continuation>> = {next = 0x0}, prev = 0x0}, 
control_flags = {raw_flags = 0}}, 
  ua_session = 0x0, local_hpack_handle = 0x7f20fcd0c930, remote_hpack_handle = 
0x7f20fcb91260, dependency_tree = 0x7f20fcc73550, server_settings = {settings = 
{4096, 1, 150, 1048576, 16384, 
      4294967295}}, client_settings = {settings = {65536, 1, 1000, 6291456, 
16384, 4294967295}}, client_rwnd = 15714466, server_rwnd = 1048576, 
  stream_list = {<DLL<Http2Stream, Continuation::Link_link>> = {head = 0x0}, 
tail = 0x0}, latest_streamid_in = 1, latest_streamid_out = 0, stream_requests = 
1, client_streams_in_count = 0, 
  client_streams_out_count = 0, total_client_streams_count = 0, 
continued_stream_id = 0, continued_buffer = {iov_base = 0x0, iov_len = 0}, 
_scheduled = false, fini_received = true, 
  recursion = 0, fini_event = 0x0}
(gdb) 
```

[ Full content available at: https://github.com/apache/trafficserver/pull/4158 ]
This message was relayed via gitbox.apache.org for [email protected]

Reply via email to