-
Notifications
You must be signed in to change notification settings - Fork 851
Open
Description
We noticed the following ATS 10 crash in production. It's a nullptr dereference that would come up every 10-30 minutes on a box running about 1,800 rps.
(gdb) bt
#0 0x000000000063135c in NetVConnection::_get_service (service=NetVConnection::Service::TLS_SNI, this=0x0) at /sd/workspace/src/git.ouryahoo.com/Edge/build/_build/build_release_posix-x86_64_gcc_10/trafficserver10.0/build/../../../../_scm/trafficserver10.0/iocore/net/I_NetVConnection.h:653
#1 NetVConnection::get_service<TLSSNISupport> (this=0x0) at /sd/workspace/src/git.ouryahoo.com/Edge/build/_build/build_release_posix-x86_64_gcc_10/trafficserver10.0/build/../../../../_scm/trafficserver10.0/iocore/net/I_NetVConnection.h:653
#2 Http2ConnectionState::_get_configured_initial_window_size (this=<optimized out>, this=<optimized out>) at ../../../../../../_scm/trafficserver10.0/proxy/http2/Http2ConnectionState.cc:1109
#3 Http2ConnectionState::_get_configured_initial_window_size (this=0x7f6da49a7310) at ../../../../../../_scm/trafficserver10.0/proxy/http2/Http2ConnectionState.cc:1101
#4 0x0000000000632fc5 in Http2ConnectionState::_get_configured_receive_session_window_size (this=0x7f6da49a7310) at ../../../../../../_scm/trafficserver10.0/proxy/http2/Http2ConnectionState.cc:2623
#5 Http2ConnectionState::_get_configured_receive_session_window_size (this=0x7f6da49a7310) at ../../../../../../_scm/trafficserver10.0/proxy/http2/Http2ConnectionState.cc:2616
#6 0x0000000000633c65 in Http2ConnectionState::restart_receiving (this=0x7f6da49a7310, stream=0x0) at ../../../../../../_scm/trafficserver10.0/proxy/http2/Http2ConnectionState.cc:1758
#7 0x0000000000652351 in Http2CommonSession::do_process_frame_read (this=0x7f6da49a7308, event=<optimized out>, vio=0x7f6cea94fa58, inside_frame=<optimized out>) at ../../../../../../_scm/trafficserver10.0/proxy/http2/Http2CommonSession.cc:391
#8 0x000000000064ed39 in Http2ClientSession::main_event_handler (this=0x7f6da49a7000, event=100, edata=0x7f6cea94fa58) at ../../../../../../_scm/trafficserver10.0/proxy/http2/Http2ClientSession.cc:179
#9 0x00000000007cef94 in Continuation::handleEvent (data=0x7f6cea94fa58, event=100, this=0x7f6da49a7000) at /sd/workspace/src/git.ouryahoo.com/Edge/build/_build/build_release_posix-x86_64_gcc_10/trafficserver10.0/build/../../../../_scm/trafficserver10.0/iocore/eventsystem/I_Continuation.h:228
#10 Continuation::handleEvent (data=0x7f6cea94fa58, event=100, this=0x7f6da49a7000) at /sd/workspace/src/git.ouryahoo.com/Edge/build/_build/build_release_posix-x86_64_gcc_10/trafficserver10.0/build/../../../../_scm/trafficserver10.0/iocore/eventsystem/I_Continuation.h:224
#11 read_signal_and_update (event=100, vc=0x7f6cea94f800) at ../../../../../../_scm/trafficserver10.0/iocore/net/UnixNetVConnection.cc:82
#12 0x0000000000799f6d in SSLNetVConnection::net_read_io (this=<optimized out>, nh=0x7f71901bf200, lthread=<optimized out>) at ../../../../../../_scm/trafficserver10.0/iocore/net/SSLNetVConnection.cc:730
#13 0x00000000007f9eff in NetHandler::process_ready_list (this=this@entry=0x7f71901bf200) at ../../../../../../_scm/trafficserver10.0/iocore/net/NetHandler.cc:252
#14 0x00000000007fb46a in NetHandler::waitForActivity (this=0x7f71901bf200, timeout=<optimized out>) at ../../../../../../_scm/trafficserver10.0/iocore/net/NetHandler.cc:340
#15 0x000000000082488b in EThread::execute_regular (this=this@entry=0x7f71901be680) at ../../../../../../_scm/trafficserver10.0/iocore/eventsystem/I_PriorityEventQueue.h:115
#16 0x00000000008249b6 in EThread::execute (this=0x7f71901be680) at ../../../../../../_scm/trafficserver10.0/iocore/eventsystem/UnixEThread.cc:334
#17 0x0000000000822eb2 in spawn_thread_internal (a=0x7f71988a2900) at ../../../../../../_scm/trafficserver10.0/iocore/eventsystem/Thread.cc:78
#18 0x00007f719a4fb1ca in start_thread () from /lib64/libpthread.so.0
#19 0x00007f7199633e73 in clone () from /lib64/libc.so.6
(gdb) f 0
#0 0x000000000063135c in NetVConnection::_get_service (service=NetVConnection::Service::TLS_SNI, this=0x0) at /sd/workspace/src/git.ouryahoo.com/Edge/build/_build/build_release_posix-x86_64_gcc_10/trafficserver10.0/build/../../../../_scm/trafficserver10.0/iocore/net/I_NetVConnection.h:653
653 return static_cast<TLSSNISupport *>(this->_get_service(NetVConnection::Service::TLS_SNI));
(gdb) p this
$2 = (const NetVConnection * const) 0x0
Backing out #9997 alleviates the crash.