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

William Bardwell commented on TS-1547:
--------------------------------------

Did you try my patch idea?  I worry that your change may cause a problem with 
DETACHED strings disappearing while someone is still using them.  (Thus my idea 
about only changing unmarshal, where we know that DETACHED things can't be used 
by any thing else.)

BTW I assume that you are also running with a plugin that edits headers a lot, 
since that is what seems to trigger this.

> in HTTPHdr::copy  hdr ptr is error
> ----------------------------------
>
>                 Key: TS-1547
>                 URL: https://issues.apache.org/jira/browse/TS-1547
>             Project: Traffic Server
>          Issue Type: Bug
>          Components: Cache, HTTP
>    Affects Versions: 3.2.0
>            Reporter: Bin Chen
>              Labels: A, crash
>             Fix For: 5.0.0
>
>         Attachments: move_string.patch
>
>
> {code}
> (gdb) bt
> #0  0x0000000000503695 in HTTPHdr::copy (this=0x27e66b0, hdr=0x70) at 
> hdrs/HTTP.h:846
> #1  0x0000000000503a70 in HTTPInfo::response_set (this=0x2b827c5e8f80, 
> resp=0x70) at hdrs/HTTP.h:1343
> #2  0x000000000059a2c5 in 
> HttpTransact::merge_and_update_headers_for_cache_update (s=0x2b827c5e8f08) at 
> HttpTransact.cc:4587
> #3  0x0000000000599542 in 
> HttpTransact::handle_cache_operation_on_forward_server_response 
> (s=0x2b827c5e8f08)
>     at HttpTransact.cc:4394
> #4  0x000000000059765b in HttpTransact::handle_forward_server_connection_open 
> (s=0x2b827c5e8f08) at HttpTransact.cc:3896
> #5  0x0000000000594f11 in HttpTransact::handle_response_from_server 
> (s=0x2b827c5e8f08) at HttpTransact.cc:3450
> #6  0x0000000000593a82 in HttpTransact::HandleResponse (s=0x2b827c5e8f08) at 
> HttpTransact.cc:3140
> #7  0x000000000057b066 in HttpSM::call_transact_and_set_next_state 
> (this=0x2b827c5e8ea0, f=0) at HttpSM.cc:6423
> #8  0x000000000056ba10 in HttpSM::handle_api_return (this=0x2b827c5e8ea0) at 
> HttpSM.cc:1523
> #9  0x0000000000580db7 in HttpSM::do_api_callout (this=0x2b827c5e8ea0) at 
> HttpSM.cc:504
> #10 0x000000000056c835 in HttpSM::state_read_server_response_header 
> (this=0x2b827c5e8ea0, event=100, data=0x2b8364007578)
>     at HttpSM.cc:1837
> #11 0x000000000056eb47 in HttpSM::main_handler (this=0x2b827c5e8ea0, 
> event=100, data=0x2b8364007578) at HttpSM.cc:2462
> #12 0x00000000004e71f6 in Continuation::handleEvent (this=0x2b827c5e8ea0, 
> event=100, data=0x2b8364007578)
>     at ../iocore/eventsystem/I_Continuation.h:146
> #13 0x00000000006b80a8 in read_signal_and_update (event=100, 
> vc=0x2b8364007470) at UnixNetVConnection.cc:131
> #14 0x00000000006b88af in read_from_net (nh=0x2b824411c1e8, 
> vc=0x2b8364007470, thread=0x2b8244119010)
>     at UnixNetVConnection.cc:313
> #15 0x00000000006ba38d in UnixNetVConnection::net_read_io 
> (this=0x2b8364007470, nh=0x2b824411c1e8, lthread=0x2b8244119010)
>     at UnixNetVConnection.cc:813
> #16 0x00000000006b50cc in NetHandler::mainNetEvent (this=0x2b824411c1e8, 
> event=5, e=0x24af320) at UnixNet.cc:372
> #17 0x00000000004e71f6 in Continuation::handleEvent (this=0x2b824411c1e8, 
> event=5, data=0x24af320)
>     at ../iocore/eventsystem/I_Continuation.h:146
> #18 0x00000000006d9ddf in EThread::process_event (this=0x2b8244119010, 
> e=0x24af320, calling_code=5) at UnixEThread.cc:194
> #19 0x00000000006da27d in EThread::execute (this=0x2b8244119010) at 
> UnixEThread.cc:306
> #20 0x00000000006d8bd3 in spawn_thread_internal (a=0x2467970) at Thread.cc:88
> #21 0x00000032d38077f1 in start_thread () from /lib64/libpthread.so.0
> #22 0x00000032d34e570d in clone () from /lib64/libc.so.6
> (gdb) f 0
> #0  0x0000000000503695 in HTTPHdr::copy (this=0x27e66b0, hdr=0x70) at 
> hdrs/HTTP.h:846
> /usr/src/debug/trafficserver-3.2.0/proxy/hdrs/HTTP.h:846:25127:beg:0x503695
> (gdb) l
> 841
> 842       if (valid()) {
> 843         http_hdr_copy_onto(hdr->m_http, hdr->m_heap, m_http, m_heap, 
> (m_heap != hdr->m_heap) ? true : false);
> 844       } else {
> 845         m_heap = new_HdrHeap();
> 846         m_http = http_hdr_clone(hdr->m_http, hdr->m_heap, m_heap);
> 847         m_mime = m_http->m_fields_impl;
> 848       }
> 849     }
> 850
> (gdb) p hdr
> $3 = (const HTTPHdr *) 0x70
> {code}



--
This message was sent by Atlassian JIRA
(v6.1.5#6160)

Reply via email to