[
https://issues.apache.org/jira/browse/TS-5091?page=com.atlassian.jira.plugin.system.issuetabpanels:all-tabpanel
]
Susan Hinrichs reassigned TS-5091:
----------------------------------
Assignee: Susan Hinrichs
> Crash if server session from global pool is not alive
> -----------------------------------------------------
>
> Key: TS-5091
> URL: https://issues.apache.org/jira/browse/TS-5091
> Project: Traffic Server
> Issue Type: Bug
> Components: Core
> Reporter: Susan Hinrichs
> Assignee: Susan Hinrichs
>
> We have seen the following stack in production. The problem is the migration
> fails, but we set the netvc to null before calling do_io_close. This causes
> the get_server_ip() call in HttpServerSession::do_io_close to dereference a
> NULL.
> {code}
> (gdb) bt
> #0 0x00002aae5acc2625 in raise () from /lib64/libc.so.6
> #1 0x00002aae5acc3d8d in abort () from /lib64/libc.so.6
> #2 0x00002aae58062149 in ink_die_die_die () at
> ../../../../trafficserver/lib/ts/ink_error.cc:43
> #3 0x00002aae58062202 in ink_fatal_va(const char *, typedef __va_list_tag
> __va_list_tag *) (fmt=0x2aae58077b18 "%s:%d: failed assert `%s`",
> ap=0x2aae62dccd68) at ../../../../trafficserver/lib/ts/ink_error.cc:65
> #4 0x00002aae580622a1 in ink_fatal (message_format=0x2aae58077b18 "%s:%d:
> failed assert `%s`") at ../../../../trafficserver/lib/ts/ink_error.cc:73
> #5 0x00002aae5805fa06 in _ink_assert (expression=0x7c2a51 "server_vc !=
> NULL", file=0x7c2a10
> "../../../../trafficserver/proxy/http/../http/HttpServerSession.h", line=123)
> at ../../../../trafficserver/lib/ts/ink_assert.cc:37
> #6 0x00000000006038b9 in HttpServerSession::get_server_ip
> (this=0x2aac08b0efd0) at
> ../../../../trafficserver/proxy/http/../http/HttpServerSession.h:123
> #7 0x000000000060801e in HttpServerSession::do_io_close
> (this=0x2aac08b0efd0, alerrno=-1) at
> ../../../../trafficserver/proxy/http/HttpServerSession.cc:130
> #8 0x0000000000609b12 in HttpSessionManager::acquire_session (this=0xae1ba0,
> ip=0x2aac2f2817c8, hostname=0x2aac305e8a19 "sc1.ycpi.vip.bf1.yahoo.com",
> ua_session=0x2aac104fca70, sm=0x2aac2f2810b0) at
> ../../../../trafficserver/proxy/http/HttpSessionManager.cc:311
> #9 0x00000000005f7554 in HttpSM::do_http_server_open (this=0x2aac2f2810b0,
> raw=false) at ../../../../trafficserver/proxy/http/HttpSM.cc:4872
> #10 0x0000000000600357 in HttpSM::set_next_state (this=0x2aac2f2810b0) at
> ../../../../trafficserver/proxy/http/HttpSM.cc:7385
> #11 0x00000000005ff4ee in HttpSM::call_transact_and_set_next_state
> (this=0x2aac2f2810b0, f=0) at
> ../../../../trafficserver/proxy/http/HttpSM.cc:7198
> #12 0x00000000005ef0d5 in HttpSM::state_cache_open_write
> (this=0x2aac2f2810b0, event=1108, data=0x2aaad0203540) at
> ../../../../trafficserver/proxy/http/HttpSM.cc:2581
> #13 0x00000000005ef79c in HttpSM::main_handler (this=0x2aac2f2810b0,
> event=1108, data=0x2aaad0203540) at
> ../../../../trafficserver/proxy/http/HttpSM.cc:2693
> #14 0x000000000051381a in Continuation::handleEvent (this=0x2aac2f2810b0,
> event=1108, data=0x2aaad0203540) at
> ../../../trafficserver/iocore/eventsystem/I_Continuation.h:150
> #15 0x00000000005d9e38 in HttpCacheSM::state_cache_open_write
> (this=0x2aac2f282ba0, event=1108, data=0x2aaad0203540) at
> ../../../../trafficserver/proxy/http/HttpCacheSM.cc:167
> #16 0x000000000051381a in Continuation::handleEvent (this=0x2aac2f282ba0,
> event=1108, data=0x2aaad0203540) at
> ../../../trafficserver/iocore/eventsystem/I_Continuation.h:150
> #17 0x000000000073c9be in CacheVC::callcont (this=0x2aaad0203540, event=1108)
> at ../../../../trafficserver/iocore/cache/P_CacheInternal.h:673
> #18 0x0000000000746aca in Cache::open_write (this=0x2aaadc008c90,
> cont=0x2aac2f282ba0, key=0x2aae62dcd650, info=0x0, apin_in_cache=0,
> type=CACHE_FRAG_TYPE_HTTP, hostname=0x2aac0cad3405
> "68.media.tumblr.com9548920493ae47f3954b2a04b9d8763a/tumblr_inline_n1gft6Y4Vj1qjk6k8.jpg",
> host_len=19) at ../../../../trafficserver/iocore/cache/CacheWrite.cc:1789
> #19 0x0000000000723667 in Cache::open_write (this=0x2aaadc008c90,
> cont=0x2aac2f282ba0, url=0x2aac2f281158, request=0x2aac2f281828,
> old_info=0x0, pin_in_cache=0, type=CACHE_FRAG_TYPE_HTTP) at
> ../../../../trafficserver/iocore/cache/P_CacheInternal.h:1104
> #20 0x00000000007211be in CacheProcessor::open_write (this=0x1059780,
> cont=0x2aac2f282ba0, expected_size=0, url=0x2aac2f281158,
> cluster_cache_local=false, request=0x2aac2f281828, old_info=0x0,
> pin_in_cache=0, type=CACHE_FRAG_TYPE_HTTP) at
> ../../../../trafficserver/iocore/cache/Cache.cc:3701
> #21 0x00000000005da25e in HttpCacheSM::open_write (this=0x2aac2f282ba0,
> url=0x2aac2f281158, request=0x2aac2f281828, old_info=0x0, pin_in_cache=0,
> retry=true, allow_multiple=false) at
> ../../../../trafficserver/proxy/http/HttpCacheSM.cc:298
> #22 0x00000000005f672b in HttpSM::do_cache_prepare_action
> (this=0x2aac2f2810b0, c_sm=0x2aac2f282ba0, object_read_info=0x0, retry=true,
> allow_multiple=false) at ../../../../trafficserver/proxy/http/HttpSM.cc:4686
> #23 0x000000000060648d in HttpSM::do_cache_prepare_write
> (this=0x2aac2f2810b0) at ../../../../trafficserver/proxy/http/HttpSM.cc:4611
> #24 0x0000000000600702 in HttpSM::set_next_state (this=0x2aac2f2810b0) at
> ../../../../trafficserver/proxy/http/HttpSM.cc:7462
> #25 0x00000000005ff4ee in HttpSM::call_transact_and_set_next_state
> (this=0x2aac2f2810b0, f=0) at
> ../../../../trafficserver/proxy/http/HttpSM.cc:7198
> #26 0x00000000005ebfc2 in HttpSM::handle_api_return (this=0x2aac2f2810b0) at
> ../../../../trafficserver/proxy/http/HttpSM.cc:1649
> #27 0x00000000005ebe35 in HttpSM::state_api_callout (this=0x2aac2f2810b0,
> event=60000, data=0x0) at ../../../../trafficserver/proxy/http/HttpSM.cc:1587
> #28 0x00000000005eb531 in HttpSM::state_api_callback (this=0x2aac2f2810b0,
> event=60000, data=0x0) at ../../../../trafficserver/proxy/http/HttpSM.cc:1383
> #29 0x00000000005335d3 in TSHttpTxnReenable (txnp=0x2aac2f2810b0,
> event=60000) at ../../../trafficserver/proxy/InkAPI.cc:5647
> #30 0x00002aaacc66d4f9 in on_OS_DNS (req=0x2aaad8568570,
> txnp=@0x2aae62dcdbb0) at
> trafficserver/plugins/experimental/collapsed_forwarding/collapsed_forwarding.cc:139
> #31 0x00002aaacc66d9cd in collapsed_cont (contp=0x2aac3c74db10,
> event=TS_EVENT_HTTP_OS_DNS, edata=0x2aac2f2810b0) at
> trafficserver/plugins/experimental/collapsed_forwarding/collapsed_forwarding.cc:240
> #32 0x0000000000527f1e in INKContInternal::handle_event (this=0x2aac3c74db10,
> event=60003, edata=0x2aac2f2810b0) at
> ../../../trafficserver/proxy/InkAPI.cc:1017
> #33 0x000000000051381a in Continuation::handleEvent (this=0x2aac3c74db10,
> event=60003, data=0x2aac2f2810b0) at
> ../../../trafficserver/iocore/eventsystem/I_Continuation.h:150
> #34 0x00000000005286c1 in APIHook::invoke (this=0x2aaadc6d5070, event=60003,
> edata=0x2aac2f2810b0) at ../../../trafficserver/proxy/InkAPI.cc:1228
> #35 0x00000000005ebb74 in HttpSM::state_api_callout (this=0x2aac2f2810b0,
> event=0, data=0x0) at ../../../../trafficserver/proxy/http/HttpSM.cc:1505
> #36 0x00000000005f8719 in HttpSM::do_api_callout_internal
> (this=0x2aac2f2810b0) at ../../../../trafficserver/proxy/http/HttpSM.cc:5154
> #37 0x00000000006063d9 in HttpSM::do_api_callout (this=0x2aac2f2810b0) at
> ../../../../trafficserver/proxy/http/HttpSM.cc:460
> #38 0x00000000005ff55c in HttpSM::set_next_state (this=0x2aac2f2810b0) at
> ../../../../trafficserver/proxy/http/HttpSM.cc:7231
> #39 0x00000000005ff4ee in HttpSM::call_transact_and_set_next_state
> (this=0x2aac2f2810b0, f=0) at
> ../../../../trafficserver/proxy/http/HttpSM.cc:7198
> #40 0x00000000005f4848 in HttpSM::do_hostdb_lookup (this=0x2aac2f2810b0) at
> ../../../../trafficserver/proxy/http/HttpSM.cc:4183
> #41 0x0000000000600053 in HttpSM::set_next_state (this=0x2aac2f2810b0) at
> ../../../../trafficserver/proxy/http/HttpSM.cc:7329
> #42 0x00000000005ff4ee in HttpSM::call_transact_and_set_next_state
> (this=0x2aac2f2810b0, f=0) at
> ../../../../trafficserver/proxy/http/HttpSM.cc:7198
> #43 0x00000000005ebfc2 in HttpSM::handle_api_return (this=0x2aac2f2810b0) at
> ../../../../trafficserver/proxy/http/HttpSM.cc:1649
> #44 0x00000000005ebe35 in HttpSM::state_api_callout (this=0x2aac2f2810b0,
> event=60000, data=0x0) at ../../../../trafficserver/proxy/http/HttpSM.cc:1587
> #45 0x00000000005eb531 in HttpSM::state_api_callback (this=0x2aac2f2810b0,
> event=60000, data=0x0) at ../../../../trafficserver/proxy/http/HttpSM.cc:1383
> #46 0x00000000005335d3 in TSHttpTxnReenable (txnp=0x2aac2f2810b0,
> event=60000) at ../../../trafficserver/proxy/InkAPI.cc:5647
> #47 0x00002aaaaab2d2d8 in main_handler (cont=<value optimized out>,
> event=<value optimized out>, edata=0x2aac2f2810b0) at
> trafficserver/plugins/experimental/regex_revalidate/regex_revalidate.c:479
> #48 0x0000000000527f1e in INKContInternal::handle_event (this=0x1ab8a80,
> event=60015, edata=0x2aac2f2810b0) at
> ../../../trafficserver/proxy/InkAPI.cc:1017
> #49 0x000000000051381a in Continuation::handleEvent (this=0x1ab8a80,
> event=60015, data=0x2aac2f2810b0) at
> ../../../trafficserver/iocore/eventsystem/I_Continuation.h:150
> #50 0x00000000005286c1 in APIHook::invoke (this=0x1ab9cc0, event=60015,
> edata=0x2aac2f2810b0) at ../../../trafficserver/proxy/InkAPI.cc:1228
> #51 0x00000000005ebb74 in HttpSM::state_api_callout (this=0x2aac2f2810b0,
> event=0, data=0x0) at ../../../../trafficserver/proxy/http/HttpSM.cc:1505
> #52 0x00000000005f8719 in HttpSM::do_api_callout_internal
> (this=0x2aac2f2810b0) at ../../../../trafficserver/proxy/http/HttpSM.cc:5154
> #53 0x00000000006063d9 in HttpSM::do_api_callout (this=0x2aac2f2810b0) at
> ../../../../trafficserver/proxy/http/HttpSM.cc:460
> #54 0x000000000060641c in HttpSM::setup_cache_lookup_complete_api
> (this=0x2aac2f2810b0) at ../../../../trafficserver/proxy/http/HttpSM.cc:2590
> #55 0x00000000005ef545 in HttpSM::state_cache_open_read (this=0x2aac2f2810b0,
> event=1103, data=0xffffffffffffb050) at
> ../../../../trafficserver/proxy/http/HttpSM.cc:2651
> #56 0x00000000005ef79c in HttpSM::main_handler (this=0x2aac2f2810b0,
> event=1103, data=0xffffffffffffb050) at
> ../../../../trafficserver/proxy/http/HttpSM.cc:2693
> #57 0x000000000051381a in Continuation::handleEvent (this=0x2aac2f2810b0,
> event=1103, data=0xffffffffffffb050) at
> ../../../trafficserver/iocore/eventsystem/I_Continuation.h:150
> #58 0x00000000005d9c77 in HttpCacheSM::state_cache_open_read
> (this=0x2aac2f282ba0, event=1103, data=0xffffffffffffb050) at
> ../../../../trafficserver/proxy/http/HttpCacheSM.cc:131
> #59 0x000000000051381a in Continuation::handleEvent (this=0x2aac2f282ba0,
> event=1103, data=0xffffffffffffb050) at
> ../../../trafficserver/iocore/eventsystem/I_Continuation.h:150
> #60 0x000000000073c0d9 in CacheVC::openReadStartHead (this=0x2aabec612e50,
> event=2, e=0x2aac7c2c1550) at
> ../../../../trafficserver/iocore/cache/CacheRead.cc:1209
> #61 0x00000000007374a4 in CacheVC::openReadFromWriter (this=0x2aabec612e50,
> event=2, e=0x2aac7c2c1550) at
> ../../../../trafficserver/iocore/cache/CacheRead.cc:324
> #62 0x000000000051381a in Continuation::handleEvent (this=0x2aabec612e50,
> event=2, data=0x2aac7c2c1550) at
> ../../../trafficserver/iocore/eventsystem/I_Continuation.h:150
> #63 0x0000000000794d1d in EThread::process_event (this=0x2aae60868010,
> e=0x2aac7c2c1550, calling_code=2) at
> ../../../../trafficserver/iocore/eventsystem/UnixEThread.cc:145
> #64 0x0000000000795223 in EThread::execute_regular (this=0x2aae60868010) at
> ../../../../trafficserver/iocore/eventsystem/UnixEThread.cc:242
> #65 0x0000000000795466 in EThread::execute (this=0x2aae60868010) at
> ../../../../trafficserver/iocore/eventsystem/UnixEThread.cc:304
> #66 0x00000000007940bf in spawn_thread_internal (a=0x13102c0) at
> ../../../../trafficserver/iocore/eventsystem/Thread.cc:85
> #67 0x00002aae590d8aa1 in start_thread () from /lib64/libpthread.so.0
> #68 0x00002aae5ad7893d in clone () from /lib64/libc.so.6
> {code}
--
This message was sent by Atlassian JIRA
(v6.3.4#6332)