You are viewing a plain text version of this content. The canonical link for it is here.
Posted to issues@trafficserver.apache.org by "Leif Hedstrom (JIRA)" <ji...@apache.org> on 2016/09/08 21:56:20 UTC

[jira] [Commented] (TS-4833) Crash in Http2ConnectionState::send_a_data_frame

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

Leif Hedstrom commented on TS-4833:
-----------------------------------

I'm not sure why this=0x238 (corruption?) but this is the stream object (payload_length == 0):

{code}
(gdb) frame 0
#0  Http2ConnectionState::send_a_data_frame (this=this@entry=0x238, stream=stream@entry=0x2ae514423b00, payload_length=@0x2aaab3e04988: 0)
    at Http2ConnectionState.cc:1029
1029   	in Http2ConnectionState.cc
(gdb) p *stream
$3 = {<ProxyClientTransaction> = {<VConnection> = {<Continuation> = {<force_VFPT_to_top> = {_vptr.force_VFPT_to_top = 0x2aaeb9bdaac0},
        handler = (int (Continuation::*)(Continuation * const, int, void *)) 0x2aaaaad002c0 <Http2Stream::main_event_handler(int, void*)>, mutex = {
          m_ptr = 0x0}, link = {<SLink<Continuation>> = {next = 0x0}, prev = 0x0}, control_flags = {raw_flags = 0}}, lerrno = 0}, m_active = false,
    parent = 0x0, current_reader = 0x0, sm_reader = 0x2ae514423c00, host_res_style = HOST_RES_IPV4, restart_immediate = false}, client_rwnd = 65535,
  server_rwnd = 1048576, link = {<SLink<Http2Stream>> = {next = 0x2aaeb9bda600}, prev = 0x0}, header_blocks = 0x2ae5e33e69c0 "",
  header_blocks_length = 209, request_header_length = 209, end_stream = true, sent_request_header = false, response_header_done = true,
  request_sent = false, response_header = {<MIMEHdr> = {<HdrHeapSDKHandle> = {m_heap = 0x0}, m_mime = 0x2ae5ac3588b8}, m_http = 0x2ae5ac358888,
    m_url_cached = {<HdrHeapSDKHandle> = {m_heap = 0x0}, m_url_impl = 0x0}, m_host_mime = 0x0, m_host_length = 0, m_port = 0,
    m_target_cached = false, m_target_in_url = false, m_port_in_header = false, static USE_HDR_HEAP_MAGIC = 0x1}, response_reader = 0x2ae514423d38,
  request_reader = 0x2ae514423c00, request_buffer = {size_index = 15, water_mark = 0, _writer = {m_ptr = 0x0}, readers = {{accessor = 0x0,
        mbuf = 0x0, block = {m_ptr = 0x0}, start_offset = 0, size_limit = 9223372036854775807}, {accessor = 0x0, mbuf = 0x0, block = {m_ptr = 0x0},
        start_offset = 0, size_limit = 9223372036854775807}, {accessor = 0x0, mbuf = 0x0, block = {m_ptr = 0x0}, start_offset = 0,
        size_limit = 9223372036854775807}, {accessor = 0x0, mbuf = 0x0, block = {m_ptr = 0x0}, start_offset = 0, size_limit = 9223372036854775807}, {
        accessor = 0x0, mbuf = 0x0, block = {m_ptr = 0x0}, start_offset = 0, size_limit = 9223372036854775807}}, _location = 0x0},
  priority_node = 0x0, http_parser = {m_parsing_http = false, m_allow_non_http = false, m_mime_parser = {m_scanner = {m_line = 0x0,
        m_line_length = 0, m_line_size = 0, m_state = MIME_PARSE_BEFORE}, m_field = 0, m_field_flags = 0, m_value = -1}},
  _start_time = 1472652111079870450, _thread = 0x2aaab2507000, _id = 5, _state = HTTP2_STREAM_STATE_HALF_CLOSED_REMOTE, response_buffer = {
    size_index = 15, water_mark = 0, _writer = {m_ptr = 0x0}, readers = {{accessor = 0x0, mbuf = 0x0, block = {m_ptr = 0x0}, start_offset = 0,
        size_limit = 9223372036854775807}, {accessor = 0x0, mbuf = 0x0, block = {m_ptr = 0x0}, start_offset = 0, size_limit = 9223372036854775807}, {
        accessor = 0x0, mbuf = 0x0, block = {m_ptr = 0x0}, start_offset = 0, size_limit = 9223372036854775807}, {accessor = 0x0, mbuf = 0x0,
        block = {m_ptr = 0x0}, start_offset = 0, size_limit = 9223372036854775807}, {accessor = 0x0, mbuf = 0x0, block = {m_ptr = 0x0},
        start_offset = 0, size_limit = 9223372036854775807}}, _location = 0x0}, _req_header = {<MIMEHdr> = {<HdrHeapSDKHandle> = {m_heap = 0x0},
      m_mime = 0x2ae30efc20b8}, m_http = 0x2ae30efc2088, m_url_cached = {<HdrHeapSDKHandle> = {m_heap = 0x0}, m_url_impl = 0x0}, m_host_mime = 0x0,
    m_host_length = 0, m_port = 0, m_target_cached = false, m_target_in_url = false, m_port_in_header = false, static USE_HDR_HEAP_MAGIC = 0x1},
  read_vio = {_cont = 0x2ae54c7aec00, nbytes = 0, ndone = 0, op = 1, buffer = {mbuf = 0x2ae514423be8, entry = 0x0}, vc_server = 0x2ae514423b00,
    mutex = {m_ptr = 0x0}}, write_vio = {_cont = 0x0, nbytes = 0, ndone = 0, op = 2, buffer = {mbuf = 0x0, entry = 0x0}, vc_server = 0x2ae514423b00,
    mutex = {m_ptr = 0x0}}, trailing_header = false, body_done = true, data_length = 0, closed = true, sent_delete = true, bytes_sent = 0,
  chunked_handler = {static DEFAULT_MAX_CHUNK_SIZE = 4096, action = ChunkedHandler::ACTION_DECHUNK, chunked_reader = 0x2ae514423d60,
    dechunked_buffer = 0x2ae5173519f0, dechunked_size = 722, dechunked_reader = 0x2ae517351a08, chunked_buffer = 0x0, chunked_size = 0,
    truncation = false, skip_bytes = 0, state = ChunkedHandler::CHUNK_READ_DONE, cur_chunk_size = 0, bytes_left = 0, last_server_event = 0,
    running_sum = 0, num_digits = 1, max_chunk_size = 4096, max_chunk_header = '\000' <repeats 15 times>, max_chunk_header_len = 0}, chunked = true,
  cross_thread_event = 0x0, active_timeout = 0, active_event = 0x0, inactive_timeout = 600000000000, inactive_timeout_at = 0, inactive_event = 0x0,
  read_event = 0x0, write_event = 0x0}
{code}

> Crash in Http2ConnectionState::send_a_data_frame
> ------------------------------------------------
>
>                 Key: TS-4833
>                 URL: https://issues.apache.org/jira/browse/TS-4833
>             Project: Traffic Server
>          Issue Type: Bug
>          Components: HTTP/2
>            Reporter: Leif Hedstrom
>              Labels: A, crash
>             Fix For: 7.0.0
>
>
> I'm moving this away from TS-4541, since we now suspect these might not be related.
> My trace is
> {code}
> (gdb) bt
> #0  Http2ConnectionState::send_a_data_frame (this=this@entry=0x238, stream=stream@entry=0x2ae514423b00, payload_length=@0x2aaab3e04988: 0)
>     at Http2ConnectionState.cc:1029
> #1  0x00002aaaaacf8d67 in Http2ConnectionState::send_data_frames (this=0x238, stream=0x2ae514423b00) at Http2ConnectionState.cc:1104
> #2  0x00002aaaaacff695 in Http2Stream::send_response_body (this=<optimized out>) at Http2Stream.cc:543
> #3  0x00002aaaaacf3ff2 in Http2ConnectionState::restart_streams (this=0x2ab803790288) at Http2ConnectionState.cc:914
> #4  rcv_window_update_frame (cstate=..., frame=...) at Http2ConnectionState.cc:627
> #5  0x00002aaaaacf9718 in Http2ConnectionState::main_event_handler (this=0x2ab803790288, event=<optimized out>, edata=<optimized out>)
>     at Http2ConnectionState.cc:823
> #6  0x00002aaaaacef1b3 in Continuation::handleEvent (data=0x2aaab3e04ab0, event=2253, this=0x2ab803790288)
>     at ../../iocore/eventsystem/I_Continuation.h:153
> #7  send_connection_event (cont=cont@entry=0x2ab803790288, event=event@entry=2253, edata=edata@entry=0x2aaab3e04ab0) at Http2ClientSession.cc:58
> #8  0x00002aaaaacef452 in Http2ClientSession::state_complete_frame_read (this=0x2ab803790050, event=<optimized out>, edata=0x2aaaf549b718)
>     at Http2ClientSession.cc:426
> #9  0x00002aaaaacf0972 in Continuation::handleEvent (data=0x2aaaf549b718, event=100, this=0x2ab803790050)
>     at ../../iocore/eventsystem/I_Continuation.h:153
> #10 Http2ClientSession::state_start_frame_read (this=0x2ab803790050, event=<optimized out>, edata=0x2aaaf549b718) at Http2ClientSession.cc:399
> #11 0x00002aaaaae67d6b in Continuation::handleEvent (data=0x2aaaf549b718, event=100, this=<optimized out>)
>     at ../../iocore/eventsystem/I_Continuation.h:153
> #12 read_signal_and_update (vc=0x2aaaf549b600, vc@entry=0x1, event=event@entry=100) at UnixNetVConnection.cc:153
> #13 UnixNetVConnection::readSignalAndUpdate (this=this@entry=0x2aaaf549b600, event=event@entry=100) at UnixNetVConnection.cc:1036
> #14 0x00002aaaaae47633 in SSLNetVConnection::net_read_io (this=0x2aaaf549b600, nh=0x2aaab250acc0, lthread=0x2aaab2507000) at SSLNetVConnection.cc:595
> #15 0x00002aaaaae554cc in NetHandler::mainNetEvent (this=0x2aaab250acc0, event=<optimized out>, e=<optimized out>) at UnixNet.cc:513
> #16 0x00002aaaaae8d226 in Continuation::handleEvent (data=0x2aaab0bfa640, event=5, this=<optimized out>) at I_Continuation.h:153
> #17 EThread::process_event (calling_code=5, e=0x2aaab0bfa640, this=0x2aaab2507000) at UnixEThread.cc:148
> #18 EThread::execute (this=0x2aaab2507000) at UnixEThread.cc:275
> #19 0x00002aaaaae8c026 in spawn_thread_internal (a=0x2aaab0b25be0) at Thread.cc:86
> #20 0x00002aaaad6b3aa1 in start_thread (arg=0x2aaab3e05700) at pthread_create.c:301
> #21 0x00002aaaae8bc93d in clone () at ../sysdeps/unix/sysv/linux/x86_64/clone.S:115
> {code}



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