[ https://issues.apache.org/jira/browse/TS-2878?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel&focusedCommentId=14019919#comment-14019919 ]
Sudheer Vinukonda edited comment on TS-2878 at 6/6/14 3:28 PM: --------------------------------------------------------------- >From the gdb, it looks like field->m_ptr_value is NULL and field->m_len_value >is 103 and field->m_readiness shows it as MIME_FIELD_SLOT_READINESS_LIVE (2) >in the code below: {code} int mime_field_print(MIMEField *field, char *buf_start, int buf_length, int *buf_index_inout, int *buf_chars_to_skip_inout) { #define TRY(x) if (!x) return 0 int total_len; // Don't print names that begin with an '@'. if (field->m_ptr_name[0] == '@') { return 1; } if (field->m_n_v_raw_printable) { total_len = field->m_len_name + field->m_len_value + field->m_n_v_raw_printable_pad; if ((buf_start != NULL) && (*buf_chars_to_skip_inout == 0) && (total_len <= (buf_length - *buf_index_inout))) { buf_start += *buf_index_inout; memcpy(buf_start, field->m_ptr_name, total_len); *buf_index_inout += total_len; } else { TRY(mime_mem_print(field->m_ptr_name, total_len, buf_start, buf_length, buf_index_inout, buf_chars_to_skip_inout)); } } else { total_len = field->m_len_name + field->m_len_value + 2 + 2; // try to handle on fast path if ((buf_start != NULL) && (*buf_chars_to_skip_inout == 0) && (total_len <= (buf_length - *buf_index_inout))) { buf_start += *buf_index_inout; memcpy(buf_start, field->m_ptr_name, field->m_len_name); buf_start += field->m_len_name; buf_start[0] = ':'; buf_start[1] = ' '; buf_start += 2; memcpy(buf_start, field->m_ptr_value, field->m_len_value); {code} gdb output ========= (gdb) down #0 0x000000366a489932 in memcpy () from /lib64/libc.so.6 (gdb) up #1 0x00000000006440ec in mime_field_print (field=0x2ba0a7912398, buf_start=0x2ba0e58dd71f "1400292739148%7C1494900739148%3B%20s_c20_s%3DLess%2520than%25207%2520days%7C1400294539148%3B%20s_gpv_pn%3DGMAY%253Alifeandstyle%253Aparenting%253AHospital%2520Welcomes%2520Second%2520Set%2520of%2520Ra"..., buf_length=4096, buf_index_inout=0x2ba0684c374c, buf_chars_to_skip_inout=0x2ba0684c3748) at MIME.cc:2745 2745 in MIME.cc (gdb) print field $12 = (MIMEField *) 0x2ba0a7912398 (gdb) print *field $13 = {m_ptr_name = 0x2ba12accb7ac "SSLCOOKIEw/legobpengine/frontpage/02063673", m_ptr_value = 0x0, m_next_dup = 0x0, m_wks_idx = -1, m_len_name = 9, m_len_value = 103, m_n_v_raw_printable = 0 '\000', m_n_v_raw_printable_pad = 0 '\000', m_readiness = 2 '\002', m_flags = 1 '\001'} (gdb) print field->m_ptr_value $14 = 0x0 (gdb) print field->m_len_value $15 = 103 (gdb) print field->m_readiness $18 = 2 '\002' was (Author: sudheerv): >From the gdb, it looks like field->m_ptr_value is NULL and field->m_len_value >is 103. in the code below: {code} int mime_field_print(MIMEField *field, char *buf_start, int buf_length, int *buf_index_inout, int *buf_chars_to_skip_inout) { #define TRY(x) if (!x) return 0 int total_len; // Don't print names that begin with an '@'. if (field->m_ptr_name[0] == '@') { return 1; } if (field->m_n_v_raw_printable) { total_len = field->m_len_name + field->m_len_value + field->m_n_v_raw_printable_pad; if ((buf_start != NULL) && (*buf_chars_to_skip_inout == 0) && (total_len <= (buf_length - *buf_index_inout))) { buf_start += *buf_index_inout; memcpy(buf_start, field->m_ptr_name, total_len); *buf_index_inout += total_len; } else { TRY(mime_mem_print(field->m_ptr_name, total_len, buf_start, buf_length, buf_index_inout, buf_chars_to_skip_inout)); } } else { total_len = field->m_len_name + field->m_len_value + 2 + 2; // try to handle on fast path if ((buf_start != NULL) && (*buf_chars_to_skip_inout == 0) && (total_len <= (buf_length - *buf_index_inout))) { buf_start += *buf_index_inout; memcpy(buf_start, field->m_ptr_name, field->m_len_name); buf_start += field->m_len_name; buf_start[0] = ':'; buf_start[1] = ' '; buf_start += 2; memcpy(buf_start, field->m_ptr_value, field->m_len_value); {code} gdb output ========= (gdb) down #0 0x000000366a489932 in memcpy () from /lib64/libc.so.6 (gdb) up #1 0x00000000006440ec in mime_field_print (field=0x2ba0a7912398, buf_start=0x2ba0e58dd71f "1400292739148%7C1494900739148%3B%20s_c20_s%3DLess%2520than%25207%2520days%7C1400294539148%3B%20s_gpv_pn%3DGMAY%253Alifeandstyle%253Aparenting%253AHospital%2520Welcomes%2520Second%2520Set%2520of%2520Ra"..., buf_length=4096, buf_index_inout=0x2ba0684c374c, buf_chars_to_skip_inout=0x2ba0684c3748) at MIME.cc:2745 2745 in MIME.cc (gdb) print field $12 = (MIMEField *) 0x2ba0a7912398 (gdb) print *field $13 = {m_ptr_name = 0x2ba12accb7ac "SSLCOOKIEw/legobpengine/frontpage/02063673", m_ptr_value = 0x0, m_next_dup = 0x0, m_wks_idx = -1, m_len_name = 9, m_len_value = 103, m_n_v_raw_printable = 0 '\000', m_n_v_raw_printable_pad = 0 '\000', m_readiness = 2 '\002', m_flags = 1 '\001'} (gdb) print field->m_ptr_value $14 = 0x0 (gdb) print field->m_len_value $15 = 103 (gdb) > Core dump in mime_field_print > ----------------------------- > > Key: TS-2878 > URL: https://issues.apache.org/jira/browse/TS-2878 > Project: Traffic Server > Issue Type: Bug > Components: Core > Reporter: Sudheer Vinukonda > > Found a new core dump on one of our production hosts with the latest master. > {code} > (gdb) > #0 0x000000366a489932 in memcpy () from /lib64/libc.so.6 > #1 0x00000000006440ec in mime_field_print (field=0x2ad0c12eb398, > buf_start=0x2ad0ccddf6fc > "b=4&d=N8yEv7ppYEIU22_VquwWHph5uWBFcIT0fZmeGg--&s=l0&i=jE4n8cjO._g4wBfgSzBR; > F=a=d7RTbXcMvSscJ6tvYRkm3uidpW7e4pvmEH8Vl9bGaVDpBGZ6bL4NJuiQDJLIQ1MsxDYfXJc-&b=pfgj; > Y=v=1&n=3kntebmsf6jf7&l=43m0h3.2705544@"..., buf_length=4096, > buf_index_inout=0x2acf1cd0883c, buf_chars_to_skip_inout=0x2acf1cd08838) at > MIME.cc:2745 > #2 0x000000000064422c in mime_hdr_print (mh=<value optimized out>, > buf_start=0x2ad0ccddf000 "POST > /w/ygo-mail/msgedit.bp?ci=1&.ts=1401981151&_httpHost=m.yahoo.com&.intl=MX&.lang=es-mx > HTTP/1.1\r\nHost: m.yahoo.com\r\nAccept-Charset: utf-8, iso-8859-1, > iso-8859-2, iso-10646, us-ascii, *\r\nAccept-La"..., buf_length=4096, > buf_index_inout=0x2acf1cd0883c, buf_chars_to_skip_inout=0x2acf1cd08838) at > MIME.cc:2623 > #3 0x0000000000639b52 in http_hdr_print (heap=0x2ad0c12eb010, > hdr=0x2ad0c12eb098, > buf=0x2ad0ccddf000 "POST > /w/ygo-mail/msgedit.bp?ci=1&.ts=1401981151&_httpHost=m.yahoo.com&.intl=MX&.lang=es-mx > HTTP/1.1\r\nHost: m.yahoo.com\r\nAccept-Charset: utf-8, iso-8859-1, > iso-8859-2, iso-10646, us-ascii, *\r\nAccept-La"..., bufsize=4096, > bufindex=0x2acf1cd0883c, dumpoffset=0x2acf1cd08838) at HTTP.cc:555 > #4 0x000000000059c676 in print (this=<value optimized out>, > h=0x2acf6e0e8548, b=0x2ad0240b56d0) at ../../proxy/hdrs/HTTP.h:897 > #5 HttpSM::write_header_into_buffer (this=<value optimized out>, > h=0x2acf6e0e8548, b=0x2ad0240b56d0) at HttpSM.cc:5457 > #6 0x000000000059e9bb in HttpSM::setup_server_send_request > (this=0x2acf6e0e7dc0) at HttpSM.cc:5576 > #7 0x00000000005ac1f5 in HttpSM::handle_api_return (this=0x2acf6e0e7dc0) at > HttpSM.cc:1508 > #8 0x00000000005a45b0 in HttpSM::state_api_callout (this=0x2acf6e0e7dc0, > event=60000, data=0x0) at HttpSM.cc:1437 > #9 0x00000000005a76aa in HttpSM::state_api_callback (this=0x2acf6e0e7dc0, > event=60000, data=0x0) at HttpSM.cc:1255 > #10 0x00000000004c99cc in TSHttpTxnReenable (txnp=0x2acf6e0e7dc0, > event=TS_EVENT_HTTP_CONTINUE) at InkAPI.cc:5543 > #11 0x00002acf12d247fc in http_hook (contp=<value optimized out>, > event=<value optimized out>, edata=0x2acf6e0e7dc0) at INKPluginInit.cc:177 > #12 0x00000000005a4416 in HttpSM::state_api_callout (this=0x2acf6e0e7dc0, > event=<value optimized out>, data=<value optimized out>) at HttpSM.cc:1362 > #13 0x00000000005a618b in HttpSM::state_http_server_open > (this=0x2acf6e0e7dc0, event=<value optimized out>, data=0x2ad0b88802d0) at > HttpSM.cc:1643 > #14 0x00000000005a70e8 in HttpSM::main_handler (this=0x2acf6e0e7dc0, > event=200, data=0x2ad0b88802d0) at HttpSM.cc:2501 > #15 0x000000000070f96d in handleEvent (this=0x2ad0b88802d0, t=<value > optimized out>, fd=-1) at ../../iocore/eventsystem/I_Continuation.h:146 > #16 UnixNetVConnection::connectUp (this=0x2ad0b88802d0, t=<value optimized > out>, fd=-1) at UnixNetVConnection.cc:1159 > #17 0x000000000070d01f in UnixNetProcessor::connect_re_internal (this=<value > optimized out>, cont=<value optimized out>, target=<value optimized out>, > opt=0x2acf1cd09e00, > servername=0x2ad0b88804fc "\002") at UnixNetProcessor.cc:255 > #18 0x00000000005a568b in connect_re (this=0x2acf6e0e7dc0, raw=<value > optimized out>) at ../../iocore/net/P_UnixNetProcessor.h:87 > #19 HttpSM::do_http_server_open (this=0x2acf6e0e7dc0, raw=<value optimized > out>) at HttpSM.cc:4646 > #20 0x00000000005aa2bd in HttpSM::set_next_state (this=0x2acf6e0e7dc0) at > HttpSM.cc:6975 > #21 0x00000000005ac132 in HttpSM::handle_api_return (this=0x2acf6e0e7dc0) at > HttpSM.cc:1505 > #22 0x00000000005a45b0 in HttpSM::state_api_callout (this=0x2acf6e0e7dc0, > event=60000, data=0x0) at HttpSM.cc:1437 > #23 0x00000000005a76aa in HttpSM::state_api_callback (this=0x2acf6e0e7dc0, > event=60000, data=0x0) at HttpSM.cc:1255 > #24 0x00000000004c99cc in TSHttpTxnReenable (txnp=0x2acf6e0e7dc0, > event=TS_EVENT_HTTP_CONTINUE) at InkAPI.cc:5543 > #25 0x00002acf13dd3492 in append_own_yca_certificate (txnp=0x2acf6e0e7dc0, > contp=<value optimized out>, data=<value optimized out>) at yca_plugin.cpp:266 > #26 0x00002acf13dd3ad3 in yca_auth_plugin_local_handler > (contp=0x2ad03008d930, event=TS_EVENT_HTTP_OS_DNS, edata=0x2acf6e0e7dc0) at > yca_plugin.cpp:961 > #27 0x00000000005a4416 in HttpSM::state_api_callout (this=0x2acf6e0e7dc0, > event=<value optimized out>, data=<value optimized out>) at HttpSM.cc:1362 > #28 0x00000000005a9fd2 in HttpSM::set_next_state (this=0x2acf6e0e7dc0) at > HttpSM.cc:6826 > #29 0x0000000000593f12 in HttpSM::do_hostdb_lookup (this=0x2acf6e0e7dc0) at > HttpSM.cc:3915 > #30 0x00000000005aa993 in HttpSM::set_next_state (this=0x2acf6e0e7dc0) at > HttpSM.cc:6925 > #31 0x00000000005ac132 in HttpSM::handle_api_return (this=0x2acf6e0e7dc0) at > HttpSM.cc:1505 > #32 0x00000000005a45b0 in HttpSM::state_api_callout (this=0x2acf6e0e7dc0, > event=60000, data=0x0) at HttpSM.cc:1437 > #33 0x00000000005a76aa in HttpSM::state_api_callback (this=0x2acf6e0e7dc0, > event=60000, data=0x0) at HttpSM.cc:1255 > #34 0x00000000004c99cc in TSHttpTxnReenable (txnp=0x2acf6e0e7dc0, > event=TS_EVENT_HTTP_CONTINUE) at InkAPI.cc:5543 > #35 0x00002acf13dd39b7 in yca_cache_access_control (contp=<value optimized > out>, event=<value optimized out>, edata=<value optimized out>) at > yca_plugin.cpp:747 > #36 yca_auth_plugin_local_handler (contp=<value optimized out>, event=<value > optimized out>, edata=<value optimized out>) at yca_plugin.cpp:955 > #37 0x00000000005a4416 in HttpSM::state_api_callout (this=0x2acf6e0e7dc0, > event=<value optimized out>, data=<value optimized out>) at HttpSM.cc:1362 > #38 0x00000000005a73e0 in do_api_callout (this=0x2acf6e0e7dc0, event=<value > optimized out>, data=0xffffffffffffb050) at HttpSM.cc:444 > #39 setup_cache_lookup_complete_api (this=0x2acf6e0e7dc0, event=<value > optimized out>, data=0xffffffffffffb050) at HttpSM.cc:2403 > #40 HttpSM::state_cache_open_read (this=0x2acf6e0e7dc0, event=<value > optimized out>, data=0xffffffffffffb050) at HttpSM.cc:2459 > #41 0x00000000005a70e8 in HttpSM::main_handler (this=0x2acf6e0e7dc0, > event=1103, data=0xffffffffffffb050) at HttpSM.cc:2501 > #42 0x00000000005856d2 in handleEvent (this=0x2acf6e0e9790, event=1103, > data=0xffffffffffffb050) at ../../iocore/eventsystem/I_Continuation.h:146 > #43 HttpCacheSM::state_cache_open_read (this=0x2acf6e0e9790, event=1103, > data=0xffffffffffffb050) at HttpCacheSM.cc:137 > #44 0x00000000006db68e in Cache::open_read (this=<value optimized out>, > cont=0x2acf6e0e9790, key=<value optimized out>, request=0x2acf6e0e84c8, > params=0x2acf6e0e7ea0, > type=<value optimized out>, > ---Type <return> to continue, or q <return> to quit---quit > {code} -- This message was sent by Atlassian JIRA (v6.2#6252)