Skip to content

HttpTunnel / H2 assertion on Docs (9.0.x) #6799

@zwoop

Description

@zwoop

Got this assertion on current (05/18/2020) 9.0.x builds:

Fatal: HttpSM.cc:955: failed assertion `t_state.hdr_info.client_request.m_100_continue_required`

6    0x00002b34a5bfd805 _ink_assert + 0x37
7    0x000000000079b4b2 HttpSM::state_watch_for_client_abort(int, void*) + 0xff6
8    0x00000000007ae4ad HttpSM::main_handler(int, void*) + 0x615
9    0x000000000065b3c4 Continuation::handleEvent(int, void*) + 0x19e
10   0x00000000009ac6e9 Http2Stream::signal_write_event(int) + 0x2e1
11   0x00000000009a6117 Http2Stream::main_event_handler(int, void*) + 0x9e1
12   0x000000000065b3c4 Continuation::handleEvent(int, void*) + 0x19e
13   0x0000000000db27a3 EThread::process_event(Event*, int) + 0x331
14   0x0000000000db2d3b EThread::process_queue(Queue<Event, Event::Link_link>*, int*, int*) + 0x1cb
15   0x0000000000db33d8 EThread::execute_regular() + 0x4c0
16   0x0000000000db4307 EThread::execute() + 0x2e9
17   0x0000000000db098a spawn_thread_internal(void*) + 0xfd
18   0x00002b34a7476ea5 start_thread + 0xc5
19   0x00002b34a81ac8dd clone + 0x6d

Line 955 is this portion of a switch statement in HttpSM::state_watch_for_client_abort(int event, void *data):

  case VC_EVENT_WRITE_COMPLETE:
    // 100-continue handler
    ink_assert(t_state.hdr_info.client_request.m_100_continue_required);
    if (ua_entry->write_buffer) {
      ink_assert(ua_entry->write_vio && !ua_entry->write_vio->ntodo());
      free_MIOBuffer(ua_entry->write_buffer);
      ua_entry->write_buffer = nullptr;
    }
    break;

Metadata

Metadata

Assignees

Labels

Type

No type

Projects

No projects

Milestone

Relationships

None yet

Development

No branches or pull requests

Issue actions