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

Ricky Chan commented on TS-733:
-------------------------------

I was able to crash it on 2.1.7 using ab instead of my script.  I used this ab 
setting to make it more likely to happen.

/usr/sbin/ab -X 127.0.0.1:80 -H 'Via: abc' -H 'Via: abc' -H 'Via: abc' -H 'Via: 
abc' -H 'Via: abc' -H 'Via: abc' -H 'Via: abc' -H 'Via: abc' -c 200 -n 
1000000000 http://www.test1.com/1K

while true; do curl -X PURGE -v -H 'Host: www.test1.com' http://127.0.0.1/1K; 
done

AB aborted when it crashed.  (Yes I am doing the PURGE's locally and taking up 
some CPU cycles for that process, but I would expect it to slow down rather 
than crash).

The error is the same as before in core dump.  This time ATS was able to also 
to a STACK Trace in traffic.out:

NOTE: Traffic Server received Sig 11: Segmentation fault
/usr/bin/traffic_server - STACK TRACE: 
/usr/bin/traffic_server[0x53616f]
/lib/libpthread.so.0[0x2b86c9042a80]
[0x2aaac0126048]
/usr/bin/traffic_server(_ZN12Continuation11handleEventEiPv+0x6f)[0x4ee0ef]
/usr/bin/traffic_server(_ZN5Cache9open_readEP12ContinuationP7INK_MD5P7HTTPHdrP21CacheLookupHttpConfig13CacheFragTypePci+0x584)[0x6d2914]
/usr/bin/traffic_server(_ZN5Cache9open_readEP12ContinuationP3URLP7HTTPHdrP21CacheLookupHttpConfig13CacheFragType+0x85)[0x6b3b97]
/usr/bin/traffic_server(_ZN14CacheProcessor9open_readEP12ContinuationP3URLP7HTTPHdrP21CacheLookupHttpConfigl13CacheFragType+0xb3)[0x6a44f7]
/usr/bin/traffic_server(_ZN11HttpCacheSM18do_cache_open_readEv+0xdf)[0x5691d5]
/usr/bin/traffic_server(_ZN11HttpCacheSM9open_readEP3URLP7HTTPHdrP21CacheLookupHttpConfigl+0xe2)[0x569328]
/usr/bin/traffic_server(_ZN6HttpSM24do_cache_lookup_and_readEv+0x1b1)[0x584acf]
/usr/bin/traffic_server(_ZN6HttpSM14set_next_stateEv+0x5dd)[0x590053]
/usr/bin/traffic_server(_ZN6HttpSM32call_transact_and_set_next_stateEPFvPN12HttpTransact5StateEE+0x14a)[0x57d5e0]
/usr/bin/traffic_server(_ZN6HttpSM17handle_api_returnEv+0x130)[0x59178e]
/usr/bin/traffic_server(_ZN6HttpSM14do_api_calloutEv+0x39)[0x5958a9]
/usr/bin/traffic_server(_ZN6HttpSM14set_next_stateEv+0x6f)[0x58fae5]
/usr/bin/traffic_server(_ZN6HttpSM32call_transact_and_set_next_stateEPFvPN12HttpTransact5StateEE+0x14a)[0x57d5e0]
/usr/bin/traffic_server(_ZN6HttpSM14set_next_stateEv+0x19c)[0x58fc12]
/usr/bin/traffic_server(_ZN6HttpSM32call_transact_and_set_next_stateEPFvPN12HttpTransact5StateEE+0x14a)[0x57d5e0]
/usr/bin/traffic_server(_ZN6HttpSM17handle_api_returnEv+0x130)[0x59178e]
/usr/bin/traffic_server(_ZN6HttpSM14do_api_calloutEv+0x39)[0x5958a9]
/usr/bin/traffic_server(_ZN6HttpSM14set_next_stateEv+0x6f)[0x58fae5]
/usr/bin/traffic_server(_ZN6HttpSM32call_transact_and_set_next_stateEPFvPN12HttpTransact5StateEE+0x14a)[0x57d5e0]
/usr/bin/traffic_server(_ZN6HttpSM17handle_api_returnEv+0x130)[0x59178e]
/usr/bin/traffic_server(_ZN6HttpSM14do_api_calloutEv+0x39)[0x5958a9]
/usr/bin/traffic_server(_ZN6HttpSM14set_next_stateEv+0x6f)[0x58fae5]
/usr/bin/traffic_server(_ZN6HttpSM32call_transact_and_set_next_stateEPFvPN12HttpTransact5StateEE+0x14a)[0x57d5e0]
/usr/bin/traffic_server(_ZN6HttpSM32state_read_client_request_headerEiPv+0x940)[0x591534]
/usr/bin/traffic_server(_ZN6HttpSM12main_handlerEiPv+0x223)[0x58ae67]
/usr/bin/traffic_server(_ZN12Continuation11handleEventEiPv+0x6f)[0x4ee0ef]
/usr/bin/traffic_server[0x6faff1]
/usr/bin/traffic_server[0x6fb952]
/usr/bin/traffic_server(_ZN18UnixNetVConnection11net_read_ioEP10NetHandlerP7EThread+0x25)[0x6fbaaf]
/usr/bin/traffic_server(_ZN10NetHandler12mainNetEventEiP5Event+0x758)[0x6f546c]
/usr/bin/traffic_server(_ZN12Continuation11handleEventEiPv+0x6f)[0x4ee0ef]
/usr/bin/traffic_server(_ZN7EThread13process_eventEP5Eventi+0x129)[0x71e9df]
/usr/bin/traffic_server(_ZN7EThread7executeEv+0x3b9)[0x71ef0d]
/usr/bin/traffic_server[0x71e26e]
/lib/libpthread.so.0[0x2b86c903afc7]
/lib/libc.so.6(clone+0x6d)[0x2b86cb22164d]
/lib/libc.so.6(clone+0x6d)[0x2b86cb22164d]

> segfault in mime_hdr_set_accelerators_and_presence_bits
> -------------------------------------------------------
>
>                 Key: TS-733
>                 URL: https://issues.apache.org/jira/browse/TS-733
>             Project: Traffic Server
>          Issue Type: Bug
>          Components: MIME
>    Affects Versions: 2.0.1
>         Environment: X6240 AMD64 Debian Lenny (2.6.26) 64G of Ram.
>            Reporter: Ricky Chan
>              Labels: MIME, segfault
>             Fix For: 2.1.8
>
>
> We are seeing segfault and I have now put back unstripped binaries so I can 
> get line numbers are frame traces.
> Below is the trace, although GDB claims it's line 482, I believe it's now 
> actually there (a short int comparison won't crash it).  My interest is the 
> fact that m_wks_idx is 67 which is larger than the MAX amount of slots which 
> I believe is 16 (0 - 15) right?
> I got this segfault 6 times this morning, and it appears from the same client 
> too.
> I'm thinking of patching the code to make sure m_wks_idx isn't > 
> MAX_FIELD_SLOTNUM_MAX for now.
> #0  ink_stack_trace_dump (sighandler_frame=2) at ink_stack_trace.cc:66
> 66          fp = (void **) (*fp);
> (gdb) bt
> #0  ink_stack_trace_dump (sighandler_frame=2) at ink_stack_trace.cc:66
> #1  0x0000000000502f8a in signal_handler (sig=<value optimized out>) at 
> signals.cc:332
> #2  <signal handler called>
> #3  mime_hdr_field_detach (mh=0x2aaab46c1298, field=0x2aaab46c1390, 
> detach_all_dups=false) at MIME.cc:482
> #4  0x0000000000601e8e in mime_hdr_field_delete (heap=0x2aaab46c11e0, 
> mh=0x2aaab46c1298, field=0x2aaab46c1390, delete_all_dups=true) at MIME.cc:1737
> #5  0x000000000056cee9 in HttpTransact::set_headers_for_cache_write 
> (s=0x2aaaba56d8b0, cache_info=0x2aaaba56d948, request=0x2aaaba56df90, 
>     response=0x2aaaba56dfc8) at 
> ../../iocore/cache/../../proxy/http2/../hdrs/MIME.h:1071
> #6  0x000000000056ec29 in 
> HttpTransact::handle_cache_operation_on_forward_server_response 
> (s=0x2aaaba56d8b0) at HttpTransact.cc:5270
> #7  0x000000000056ff99 in HttpTransact::handle_forward_server_connection_open 
> (s=0x2aaaba56d8b0) at HttpTransact.cc:4732
> #8  0x0000000000572370 in HttpTransact::handle_response_from_server 
> (s=0x2aaaba56d8b0) at HttpTransact.cc:4255
> #9  0x0000000000578a5d in HttpTransact::HandleResponse (s=0x2aaaba56d8b0) at 
> HttpTransact.cc:3937
> #10 0x0000000000534485 in HttpSM::call_transact_and_set_next_state 
> (this=0x2aaaba56d830, f=0x2aaab46c1390) at HttpSM.cc:7190
> #11 0x0000000000549aa0 in HttpSM::state_read_server_response_header 
> (this=0x2aaaba56d830, event=<value optimized out>, data=0x2232e28) at 
> HttpSM.cc:535
> #12 0x0000000000547e3b in HttpSM::main_handler (this=0x2aaaba56d830, 
> event=100, data=0x2232e28) at HttpSM.cc:2683
> #13 0x00000000006c19f7 in read_from_net (nh=0x2aaaac950098, vc=0x2232d50, 
> thread=<value optimized out>) at ../../iocore/eventsystem/I_Continuation.h:147
> #14 0x00000000006b9452 in NetHandler::mainNetEvent (this=0x2aaaac950098, 
> event=<value optimized out>, e=0xfa9130) at UnixNet.cc:292
> #15 0x00000000006e3614 in EThread::process_event (this=0x2aaaac94f010, 
> e=0xfa9130, calling_code=5) at I_Continuation.h:147
> #16 0x00000000006e3e50 in EThread::execute (this=0x2aaaac94f010) at 
> UnixEThread.cc:249
> #17 0x00000000006e1a72 in spawn_thread_internal (a=0xf93270) at Thread.cc:85
> #18 0x00002abbb5d7efc7 in start_thread () from /lib/libpthread.so.0
> #19 0x00002abbb74f064d in clone () from /lib/libc.so.6
> #20 0x0000000000000000 in ?? ()
> (gdb) frame 3
> #3  mime_hdr_field_detach (mh=0x2aaab46c1298, field=0x2aaab46c1390, 
> detach_all_dups=false) at MIME.cc:482
> warning: Source file is more recent than executable.
> 482       if (field->m_wks_idx < 0)
> (gdb) p *field
> $1 = {
>   m_ptr_name = 0x19618e4 "Via1.1 
> AKmdrL2CacheBC10.telecom.co.nzCache-Controlmax-stale=0Via1.1 
> AKmdrL2CacheBC10.telecom.co.nzX-BlueCoat-ViaB8C344C089BFFBD7Client-ip210.55.215.151X-Forwarded-For210.55.215.151http10.244.132.255om"...,
>  
>   m_ptr_value = 0x19618e7 "1.1 
> AKmdrL2CacheBC10.telecom.co.nzCache-Controlmax-stale=0Via1.1 
> AKmdrL2CacheBC10.telecom.co.nzX-BlueCoat-ViaB8C344C089BFFBD7Client-ip210.55.215.151X-Forwarded-For210.55.215.151http10.244.132.255om0yo"...,
>  m_next_dup = 0xffffffffb46c87f0, m_wks_idx = 67, m_len_name = 3, 
>   m_len_value = 34, m_n_v_raw_printable = 0 '\0', m_n_v_raw_printable_pad = 4 
> '\004', m_readiness = 2 '\002', m_flags = 1 '\001'}

--
This message is automatically generated by JIRA.
For more information on JIRA, see: http://www.atlassian.com/software/jira

Reply via email to