You are viewing a plain text version of this content. The canonical link for it is here.
Posted to issues@trafficserver.apache.org by "Eric Sproul (JIRA)" <ji...@apache.org> on 2015/05/27 15:05:19 UTC

[jira] [Commented] (TS-3486) Segfault in do_io_write with plugin (??)

    [ https://issues.apache.org/jira/browse/TS-3486?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel&focusedCommentId=14560925#comment-14560925 ] 

Eric Sproul commented on TS-3486:
---------------------------------

I believe I am also seeing this with 5.3.0 and stats_over_http (using a custom path, if that matters.)  

This is from OmniOS r151006 (illumos).  I can make core files available upon request.

Many stacks look similar to this:

{noformat}
HttpServerSession::do_io_write(Continuation*, long, IOBufferReader*, bool)+0xb()
HttpSM::state_api_callout(int, void*)+0x2d0()
HttpSM::do_http_server_open(bool)+0x268()
HttpSM::set_next_state()+0x510()
HttpSM::state_api_callout(int, void*)+0x2d0()
HttpSM::set_next_state()+0x248()
HttpSM::do_hostdb_lookup()+0x272()
HttpSM::set_next_state()+0xd9f()
HttpSM::state_api_callout(int, void*)+0x2d0()
HttpSM::state_cache_open_read(int, void*)+0x188()
HttpSM::main_handler(int, void*)+0xc9()
HttpCacheSM::state_cache_open_read(int, void*)+0x163()
_ZN5Cache9open_readEP12ContinuationPN3ats10CryptoHashEP7HTTPHdrP21CacheLookupHtt
pConfig13CacheFragTypePci+0x6e1()
_ZN14CacheProcessor9open_readEP12ContinuationP3URLbP7HTTPHdrP21CacheLookupHttpCo
nfigl13CacheFragType+0x8e()
HttpCacheSM::open_read(URL*, HTTPHdr*, CacheLookupHttpConfig*, long)+0x85()
HttpSM::do_cache_lookup_and_read()+0xfd()
HttpSM::set_next_state()+0x811()
HttpSM::state_api_callout(int, void*)+0x2d0()
HttpSM::set_next_state()+0x248()
HttpSM::set_next_state()+0x862()
HttpSM::state_api_callout(int, void*)+0x2d0()
HttpSM::set_next_state()+0x248()
HttpSM::state_api_callout(int, void*)+0x2d0()
HttpSM::state_api_callback(int, void*)+0x8f()
TSHttpTxnReenable+0x1ed()
stats_over_http.so`stats_origin+0x86()
HttpSM::state_api_callout(int, void*)+0xde()
HttpSM::set_next_state()+0x248()
HttpSM::state_read_client_request_header(int, void*)+0x207()
HttpSM::main_handler(int, void*)+0xc9()
HttpSM::state_api_callout(int, void*)+0x2d0()
HttpSM::state_add_to_list(int, void*)+0x198()
HttpSM::attach_client_session(HttpClientSession*, IOBufferReader*)+0x3b5()
HttpClientSession::new_transaction()+0xc4()
ProxyClientSession::state_api_callout(int, void*)+0x13d()
_ZN17HttpClientSession14new_connectionEP14NetVConnectionP9MIOBufferP14IOBufferRe
aderb+0x224()
HttpSessionAccept::accept(NetVConnection*, MIOBuffer*, IOBufferReader*)+0x22
4()
ProtocolProbeTrampoline::ioCompletionEvent(int, void*)+0x3ca()
UnixNetVConnection::readSignalAndUpdate(int)+0x48()
SSLNetVConnection::net_read_io(NetHandler*, EThread*)+0xfad()
NetHandler::mainNetEvent(int, Event*)+0x1f7()
EThread::execute()+0x8d0()
spawn_thread_internal(void*)+0x4a()
libc.so.1`_thrp_setup+0x8a(ffffdd7ffed71a80)
libc.so.1`_lwp_start()
{noformat}

Crash status and registers:

{noformat}
SIGSEGV: Segmentation Fault
%rax = 0x0000000000838950       %r8  = 0x0000000000000000
%rbx = 0x0000000008993340       %r9  = 0x0000000000000a0d
%rcx = 0x00000000065cbcf8       %r10 = 0x0000000000000658
%rdx = 0x000000000000017b       %r11 = 0xffffdd7fff087348
%rsi = 0x0000000008993340       %r12 = 0x00000000065cbcf8
%rdi = 0x0000000000000000       %r13 = 0x000000000000017b
                                %r14 = 0x0000000008994c68
                                %r15 = 0x0000000008993a02

%cs = 0x0053    %fs = 0x0000    %gs = 0x0000
%ds = 0x004b    %es = 0x004b    %ss = 0x004b

%rip = 0x000000000067f66b _ZN17HttpServerSession11do_io_writeEP12ContinuationlP14IOBufferReaderb+0xb
%rbp = 0xffffdd7ffeb5ba40
%rsp = 0xffffdd7ffeb5a9e8

%rflags = 0x00010246
  id=0 vip=0 vif=0 ac=0 vm=0 rf=1 nt=0 iopl=0x0
  status=<of,df,IF,tf,sf,ZF,af,PF,cf>

%gsbase = 0x0000000000000000
%fsbase = 0xffffdd7ffed71a80
%trapno = 0xe
   %err = 0x4
{noformat}

> Segfault in do_io_write with plugin (??)
> ----------------------------------------
>
>                 Key: TS-3486
>                 URL: https://issues.apache.org/jira/browse/TS-3486
>             Project: Traffic Server
>          Issue Type: Bug
>    Affects Versions: 5.2.0, 5.3.0
>            Reporter: Qiang Li
>              Labels: crash
>             Fix For: sometime
>
>
> {code}
> (gdb) bt
> #0  0x00000000005bdb8b in HttpServerSession::do_io_write (this=<value optimized out>, c=0x2aaadccc4bf0, nbytes=576, buf=0x2aaafc2ffee8, owner=false)
>     at HttpServerSession.cc:104
> #1  0x00000000005acc1d in HttpSM::setup_server_send_request (this=0x2aaadccc4bf0) at HttpSM.cc:5686
> #2  0x00000000005b3f85 in HttpSM::handle_api_return (this=0x2aaadccc4bf0) at HttpSM.cc:1520
> #3  0x00000000005b45f8 in HttpSM::state_api_callout (this=0x2aaadccc4bf0, event=60000, data=0x0) at HttpSM.cc:1455
> #4  0x00000000005b980b in HttpSM::state_api_callback (this=0x2aaadccc4bf0, event=60000, data=0x0) at HttpSM.cc:1275
> #5  0x00000000004d7a1b in TSHttpTxnReenable (txnp=0x2aaadccc4bf0, event=TS_EVENT_HTTP_CONTINUE) at InkAPI.cc:5614
> #6  0x00002ba118441c89 in cachefun (contp=<value optimized out>, event=<value optimized out>, edata=0x2aaadccc4bf0) at main.cpp:1876
> #7  0x00000000005b4466 in HttpSM::state_api_callout (this=0x2aaadccc4bf0, event=<value optimized out>, data=<value optimized out>) at HttpSM.cc:1381
> #8  0x00000000005b627d in HttpSM::do_http_server_open (this=0x2aaadccc4bf0, raw=<value optimized out>) at HttpSM.cc:4639
> #9  0x00000000005baa04 in HttpSM::set_next_state (this=0x2aaadccc4bf0) at HttpSM.cc:7021
> #10 0x00000000005b25a3 in HttpSM::state_cache_open_write (this=0x2aaadccc4bf0, event=1108, data=0x2aab1c3b6800) at HttpSM.cc:2442
> #11 0x00000000005b5b28 in HttpSM::main_handler (this=0x2aaadccc4bf0, event=1108, data=0x2aab1c3b6800) at HttpSM.cc:2554
> #12 0x000000000059338a in handleEvent (this=0x2aaadccc6618, event=<value optimized out>, data=0x2aab1c3b6800) at ../../iocore/eventsystem/I_Continuation.h:145
> #13 HttpCacheSM::state_cache_open_write (this=0x2aaadccc6618, event=<value optimized out>, data=0x2aab1c3b6800) at HttpCacheSM.cc:167
> #14 0x0000000000697223 in handleEvent (this=0x2aab1c3b6800, event=<value optimized out>) at ../../iocore/eventsystem/I_Continuation.h:145
> #15 CacheVC::callcont (this=0x2aab1c3b6800, event=<value optimized out>) at ../../iocore/cache/P_CacheInternal.h:662
> #16 0x0000000000715940 in Cache::open_write (this=<value optimized out>, cont=<value optimized out>, key=0x2ba0ff762d70, info=<value optimized out>, 
>     apin_in_cache=46914401429576, type=CACHE_FRAG_TYPE_HTTP, 
>     hostname=0x2aaadd281078 "www.mifangba.comhttpapi.phpwww.mifangba.comhttp://www.mifangba.com/api.php?op=count&id=4&modelid=12", host_len=16) at CacheWrite.cc:1788
> #17 0x00000000006e5765 in open_write (this=<value optimized out>, cont=0x2aaadccc6618, expected_size=<value optimized out>, url=0x2aaadccc5310, 
>     cluster_cache_local=<value optimized out>, request=<value optimized out>, old_info=0x0, pin_in_cache=0, type=CACHE_FRAG_TYPE_HTTP) at P_CacheInternal.h:1093
> #18 CacheProcessor::open_write (this=<value optimized out>, cont=0x2aaadccc6618, expected_size=<value optimized out>, url=0x2aaadccc5310, 
>     cluster_cache_local=<value optimized out>, request=<value optimized out>, old_info=0x0, pin_in_cache=0, type=CACHE_FRAG_TYPE_HTTP) at Cache.cc:3622
> #19 0x00000000005936f0 in HttpCacheSM::open_write (this=0x2aaadccc6618, url=<value optimized out>, request=<value optimized out>, old_info=<value optimized out>, 
>     pin_in_cache=<value optimized out>, retry=<value optimized out>, allow_multiple=false) at HttpCacheSM.cc:298
> #20 0x00000000005a022e in HttpSM::do_cache_prepare_action (this=0x2aaadccc4bf0, c_sm=0x2aaadccc6618, object_read_info=0x0, retry=true, allow_multiple=false) at HttpSM.cc:4511
> #21 0x00000000005babd9 in do_cache_prepare_write (this=0x2aaadccc4bf0) at HttpSM.cc:4436
> #22 HttpSM::set_next_state (this=0x2aaadccc4bf0) at HttpSM.cc:7098
> #23 0x00000000005b3f5f in HttpSM::handle_api_return (this=0x2aaadccc4bf0) at HttpSM.cc:1517
> #24 0x00000000005b45f8 in HttpSM::state_api_callout (this=0x2aaadccc4bf0, event=0, data=0x0) at HttpSM.cc:1455
> #25 0x00000000005ba712 in HttpSM::set_next_state (this=0x2aaadccc4bf0) at HttpSM.cc:6876
> #26 0x00000000005ba702 in HttpSM::set_next_state (this=0x2aaadccc4bf0) at HttpSM.cc:6919
> #27 0x00000000005b3f5f in HttpSM::handle_api_return (this=0x2aaadccc4bf0) at HttpSM.cc:1517
> #28 0x00000000005b45f8 in HttpSM::state_api_callout (this=0x2aaadccc4bf0, event=60000, data=0x0) at HttpSM.cc:1455
> #29 0x00000000005b980b in HttpSM::state_api_callback (this=0x2aaadccc4bf0, event=60000, data=0x0) at HttpSM.cc:1275
> #30 0x00000000004d7a1b in TSHttpTxnReenable (txnp=0x2aaadccc4bf0, event=TS_EVENT_HTTP_CONTINUE) at InkAPI.cc:5614
> #31 0x00002ba11844215d in service_from_this (contp=<value optimized out>, event=<value optimized out>, edata=0x2aaadccc4bf0) at main.cpp:1498
> #32 cachefun (contp=<value optimized out>, event=<value optimized out>, edata=0x2aaadccc4bf0) at main.cpp:1811
> #33 0x00000000005b4466 in HttpSM::state_api_callout (this=0x2aaadccc4bf0, event=<value optimized out>, data=<value optimized out>) at HttpSM.cc:1381
> #34 0x00000000005b980b in HttpSM::state_api_callback (this=0x2aaadccc4bf0, event=60000, data=0x0) at HttpSM.cc:1275
> #35 0x00000000004d7a1b in TSHttpTxnReenable (txnp=0x2aaadccc4bf0, event=TS_EVENT_HTTP_CONTINUE) at InkAPI.cc:5614
> #36 0x00002ba1070e3275 in refresh_hook (contp=<value optimized out>, event=<value optimized out>, edata=0x2aaadccc4bf0) at main.cpp:533
> #37 0x00000000005b4466 in HttpSM::state_api_callout (this=0x2aaadccc4bf0, event=<value optimized out>, data=<value optimized out>) at HttpSM.cc:1381
> #38 0x00000000005b7a68 in do_api_callout (this=0x2aaadccc4bf0, event=1103, data=0xffffffffffffb050) at HttpSM.cc:442
> #39 setup_cache_lookup_complete_api (this=0x2aaadccc4bf0, event=1103, data=0xffffffffffffb050) at HttpSM.cc:2451
> #40 HttpSM::state_cache_open_read (this=0x2aaadccc4bf0, event=1103, data=0xffffffffffffb050) at HttpSM.cc:2512
> ---Type <return> to continue, or q <return> to quit---
> #41 0x00000000005b5b28 in HttpSM::main_handler (this=0x2aaadccc4bf0, event=1103, data=0xffffffffffffb050) at HttpSM.cc:2554
> #42 0x0000000000593a42 in handleEvent (this=0x2aaadccc6618, event=1103, data=0xffffffffffffb050) at ../../iocore/eventsystem/I_Continuation.h:145
> #43 HttpCacheSM::state_cache_open_read (this=0x2aaadccc6618, event=1103, data=0xffffffffffffb050) at HttpCacheSM.cc:131
> #44 0x0000000000703cae in Cache::open_read (this=<value optimized out>, cont=0x2aaadccc6618, key=<value optimized out>, request=0x2aaadccc52f8, params=0x2aaadccc4cd0, 
>     type=<value optimized out>, hostname=0x2aaadd281078 "www.mifangba.comhttpapi.phpwww.mifangba.comhttp://www.mifangba.com/api.php?op=count&id=4&modelid=12", host_len=16)
>     at CacheRead.cc:149
> #45 0x00000000006e153d in open_read (this=<value optimized out>, cont=0x2aaadccc6618, url=0x2aaadccc5310, cluster_cache_local=<value optimized out>, request=0x2aaadccc52f8, 
>     params=0x2aaadccc4cd0, pin_in_cache=0, type=CACHE_FRAG_TYPE_HTTP) at P_CacheInternal.h:1074
> #46 CacheProcessor::open_read (this=<value optimized out>, cont=0x2aaadccc6618, url=0x2aaadccc5310, cluster_cache_local=<value optimized out>, request=0x2aaadccc52f8, 
>     params=0x2aaadccc4cd0, pin_in_cache=0, type=CACHE_FRAG_TYPE_HTTP) at Cache.cc:3598
> #47 0x00000000005934f4 in do_cache_open_read (this=<value optimized out>, url=<value optimized out>, hdr=<value optimized out>, params=<value optimized out>, 
>     pin_in_cache=<value optimized out>) at HttpCacheSM.cc:211
> #48 HttpCacheSM::open_read (this=<value optimized out>, url=<value optimized out>, hdr=<value optimized out>, params=<value optimized out>, pin_in_cache=<value optimized out>)
>     at HttpCacheSM.cc:243
> #49 0x00000000005a0533 in HttpSM::do_cache_lookup_and_read (this=0x2aaadccc4bf0) at HttpSM.cc:4389
> #50 0x00000000005bac3f in HttpSM::set_next_state (this=0x2aaadccc4bf0) at HttpSM.cc:6986
> #51 0x00000000005b3f5f in HttpSM::handle_api_return (this=0x2aaadccc4bf0) at HttpSM.cc:1517
> #52 0x00000000005b45f8 in HttpSM::state_api_callout (this=0x2aaadccc4bf0, event=0, data=0x0) at HttpSM.cc:1455
> #53 0x00000000005ba712 in HttpSM::set_next_state (this=0x2aaadccc4bf0) at HttpSM.cc:6876
> #54 0x000000000059fa6e in HttpSM::state_remap_request (this=0x2aaadccc4bf0, event=63002) at HttpSM.cc:3880
> #55 0x00000000005b5b28 in HttpSM::main_handler (this=0x2aaadccc4bf0, event=63002, data=0x0) at HttpSM.cc:2554
> #56 0x000000000061b15a in handleEvent (this=0x2aaadcfc8080, event=1, e=0x2aaaf9350d80) at ../../../iocore/eventsystem/I_Continuation.h:145
> #57 RemapPlugins::run_remap (this=0x2aaadcfc8080, event=1, e=0x2aaaf9350d80) at RemapPlugins.cc:179
> #58 0x0000000000765165 in handleEvent (this=0x2ba0ff262010, e=0x2aaaf9350d80, calling_code=1) at I_Continuation.h:145
> #59 EThread::process_event (this=0x2ba0ff262010, e=0x2aaaf9350d80, calling_code=1) at UnixEThread.cc:128
> #60 0x00000000007659fb in EThread::execute (this=0x2ba0ff262010) at UnixEThread.cc:179
> #61 0x00000000007645aa in spawn_thread_internal (a=0x2919020) at Thread.cc:85
> #62 0x00000035966079d1 in start_thread () from /lib64/libpthread.so.0
> #63 0x0000003595ee88fd in clone () from /lib64/libc.so.6
> (gdb) f 0
> #0  0x00000000005bdb8b in HttpServerSession::do_io_write (this=<value optimized out>, c=0x2aaadccc4bf0, nbytes=576, buf=0x2aaafc2ffee8, owner=false)
>     at HttpServerSession.cc:104
> 104	  return server_vc->do_io_write(c, nbytes, buf, owner);
> (gdb) l
> 99	}
> 100	
> 101	VIO *
> 102	HttpServerSession::do_io_write(Continuation *c, int64_t nbytes, IOBufferReader *buf, bool owner)
> 103	{
> 104	  return server_vc->do_io_write(c, nbytes, buf, owner);
> 105	}
> 106	
> 107	void
> 108	HttpServerSession::do_io_shutdown(ShutdownHowTo_t howto)
> (gdb) p server_vc
> value has been optimized out
> (gdb) f 1
> #1  0x00000000005acc1d in HttpSM::setup_server_send_request (this=0x2aaadccc4bf0) at HttpSM.cc:5686
> 5686	  server_entry->write_vio = server_entry->vc->do_io_write(this, hdr_length, buf_start);
> (gdb) l
> 5681	                                               MIME_PRESENCE_WWW_AUTHENTICATE)) {
> 5682	    DebugSM("http_ss", "Setting server session to private for authorization header");
> 5683	    set_server_session_private(true);
> 5684	  }
> 5685	  milestones.server_begin_write = ink_get_hrtime();
> 5686	  server_entry->write_vio = server_entry->vc->do_io_write(this, hdr_length, buf_start);
> 5687	}
> 5688	
> 5689	void
> 5690	HttpSM::setup_server_read_response_header()
> (gdb) p server_entry
> $1 = (HttpVCTableEntry *) 0x0
> (gdb) 
> {code}



--
This message was sent by Atlassian JIRA
(v6.3.4#6332)