Skip to content

Crash in Http1ClientSession::free (triggered via authproxy plugin) #6527

Description

@zwoop

Getting this crash using latest v9.0.x:

#0  0x00007f3c2ba2a199 in waitpid () from /lib64/libpthread.so.0
#1  0x000055e59c34c254 in crash_logger_invoke (signo=11, info=0x7f3c2270acb0, ctx=0x7f3c2270ab80) at traffic_server/Crash.cc:168
#2  <signal handler called>
#3  0x0000000000000000 in ?? ()
#4  0x000055e59c39af72 in Http1ClientSession::free (this=0x7f3aeb6cd820) at Http1ClientSession.cc:115
#5  0x000055e59c5480f4 in handle_api_return (event=60000, this=<optimized out>) at ProxySession.cc:168
#6  ProxySession::do_api_callout (this=0x7f3aeb6cd820, id=<optimized out>) at ProxySession.cc:145
#7  0x000055e59c39ae99 in Http1ClientSession::destroy (this=0x7f3aeb6cd820) at Http1ClientSession.cc:79
#8  0x000055e59c3b254f in HttpSM::kill_this (this=0x7f3b10435800) at HttpSM.cc:6946
#9  0x000055e59c3b8c52 in HttpSM::state_api_callback (this=0x7f3b10435800, event=60000, data=0x0) at HttpSM.cc:1351
#10 0x000055e59c365f64 in TSHttpTxnReenable (txnp=0x7f3b10435800, event=TS_EVENT_HTTP_CONTINUE) at traffic_server/InkAPI.cc:6090
#11 0x00007f3bfeb66878 in StateAuthorized (auth=0x7f3c21f20060) at authproxy/authproxy.cc:615
#12 0x00007f3bfeb65d05 in AuthRequestContext::dispatch (cont=<optimized out>, event=TS_EVENT_IMMEDIATE, edata=0x7f004e161f10) at authproxy/authproxy.cc:218
#13 0x000055e59c35810e in INKContInternal::handle_event (this=0x7f3c0cfdd3a0, event=100, edata=0x7f004e161f10) at traffic_server/InkAPI.cc:1095
#14 0x000055e59c5433f0 in handleEvent (event=100, this=<optimized out>, data=<optimized out>)
    at /usr/src/debug/bazinga-trafficserver-9.0.0/iocore/eventsystem/I_Continuation.h:190
#15 PluginVC::process_read_side (this=0x7f004e161d40, other_side_call=true) at PluginVC.cc:659
#16 0x000055e59c543d7e in PluginVC::process_write_side (this=0x7f004e162008, other_side_call=<optimized out>) at PluginVC.cc:569
#17 0x000055e59c5424b4 in PluginVC::main_handler (this=0x7f004e162008, event=<optimized out>, data=<optimized out>) at PluginVC.cc:225
#18 0x000055e59c5af325 in handleEvent (this=<optimized out>, event=<optimized out>, data=<optimized out>) at ./I_Continuation.h:190
#19 EThread::process_event (this=0x7f3c2660d000, e=0x7f3ba24d8e20, calling_code=1) at UnixEThread.cc:137
#20 0x000055e59c5af5db in EThread::process_queue (this=0x7f3c2660d000, NegativeQueue=0x7f3c2270bde0, ev_count=0x7f3c2270be14, nq_count=0x7f3c2270bdfc)
    at UnixEThread.cc:176
#21 0x000055e59c5afa7b in EThread::execute_regular (this=0x7f3c2660d000) at UnixEThread.cc:236
#22 0x000055e59c5aff64 in EThread::execute (this=0x7f3c2660d000) at UnixEThread.cc:345
#23 0x000055e59c5ae97b in spawn_thread_internal (a=0x7f3c2a0bd230) at Thread.cc:92
#24 0x00007f3c2ba22e65 in start_thread () from /lib64/libpthread.so.0
#25 0x00007f3c2ae4088d in clone () from /lib64/libc.so.6

Full bt:

(gdb) bt full
#0  0x00007f3c2ba2a199 in waitpid () from /lib64/libpthread.so.0
No symbol table info available.
#1  0x000055e59c34c254 in crash_logger_invoke (signo=11, info=0x7f3c2270acb0, ctx=0x7f3c2270ab80) at traffic_server/Crash.cc:168
        status = 0
#2  <signal handler called>
No symbol table info available.
#3  0x0000000000000000 in ?? ()
No symbol table info available.
#4  0x000055e59c39af72 in Http1ClientSession::free (this=0x7f3aeb6cd820) at Http1ClientSession.cc:115
No locals.
#5  0x000055e59c5480f4 in handle_api_return (event=60000, this=<optimized out>) at ProxySession.cc:168
        hookid = TS_HTTP_SSN_CLOSE_HOOK
#6  ProxySession::do_api_callout (this=0x7f3aeb6cd820, id=<optimized out>) at ProxySession.cc:145
No locals.
#7  0x000055e59c39ae99 in Http1ClientSession::destroy (this=0x7f3aeb6cd820) at Http1ClientSession.cc:79
No locals.
#8  0x000055e59c3b254f in HttpSM::kill_this (this=0x7f3b10435800) at HttpSM.cc:6946
No locals.
#9  0x000055e59c3b8c52 in HttpSM::state_api_callback (this=0x7f3b10435800, event=60000, data=0x0) at HttpSM.cc:1351
No locals.
#10 0x000055e59c365f64 in TSHttpTxnReenable (txnp=0x7f3b10435800, event=TS_EVENT_HTTP_CONTINUE) at traffic_server/InkAPI.cc:6090
        trylock = {
          m = {
            m_ptr = 0x7f3b4c1bd210
          },
          lock_acquired = true
        }
        sm = 0x7f3b10435800
        eth = 0x7f3c2660d000
        cb = <optimized out>
#11 0x00007f3bfeb66878 in StateAuthorized (auth=0x7f3c21f20060) at authproxy/authproxy.cc:615
        options = 0x7f3ba4a373e0
#12 0x00007f3bfeb65d05 in AuthRequestContext::dispatch (cont=<optimized out>, event=TS_EVENT_IMMEDIATE, edata=0x7f004e161f10) at authproxy/authproxy.cc:218
        auth = 0x7f3c21f20060
        s = <optimized out>
#13 0x000055e59c35810e in INKContInternal::handle_event (this=0x7f3c0cfdd3a0, event=100, edata=0x7f004e161f10) at traffic_server/InkAPI.cc:1095
        retval = <optimized out>
#14 0x000055e59c5433f0 in handleEvent (event=100, this=<optimized out>, data=<optimized out>) at /usr/src/debug/bazinga-trafficserver-9.0.0/iocore/eventsystem/I_Continuation.h:190
No locals.
#15 PluginVC::process_read_side (this=0x7f004e161d40, other_side_call=true) at PluginVC.cc:659
        core_reader = <optimized out>
        ntodo = <optimized out>
        bytes_avail = <optimized out>
        act_on = 1247
        output_buffer = <optimized out>
        water_mark = <optimized out>
        buf_space = <optimized out>
        added = <optimized out>
#16 0x000055e59c543d7e in PluginVC::process_write_side (this=0x7f004e162008, other_side_call=<optimized out>) at PluginVC.cc:569
        my_ethread = <optimized out>
        lock = <optimized out>
        core_buffer = <optimized out>
        ntodo = <optimized out>
        reader = <optimized out>
        bytes_avail = <optimized out>
        act_on = <optimized out>
        buf_space = <optimized out>
        added = <optimized out>
#17 0x000055e59c5424b4 in PluginVC::main_handler (this=0x7f004e162008, event=<optimized out>, data=<optimized out>) at PluginVC.cc:225
        call_event = <optimized out>
        my_ethread = 0x7f3c2660d000
        read_mutex_held = true
        write_mutex_held = <optimized out>
#18 0x000055e59c5af325 in handleEvent (this=<optimized out>, event=<optimized out>, data=<optimized out>) at ./I_Continuation.h:190
No locals.
#19 EThread::process_event (this=0x7f3c2660d000, e=0x7f3ba24d8e20, calling_code=1) at UnixEThread.cc:137
        c_temp = <optimized out>
        lock = {
          m = {
            m_ptr = 0x7f3b8cb2d9e0
          },
          lock_acquired = true
        }
#20 0x000055e59c5af5db in EThread::process_queue (this=0x7f3c2660d000, NegativeQueue=0x7f3c2270bde0, ev_count=0x7f3c2270be14, nq_count=0x7f3c2270bdfc) at UnixEThread.cc:176
No locals.
#21 0x000055e59c5afa7b in EThread::execute_regular (this=0x7f3c2660d000) at UnixEThread.cc:236
        sleep_time = <optimized out>
        done_one = <optimized out>
        METRIC_INIT = {
          _loop_time = {
            _start = 0,
            _min = 9223372036854775807,
            _max = 0
          },
          _events = {
            _min = 2147483647,
            _max = 0,
            _total = 0
          },
          _count = 0,
          _wait = 0
        }
        prev_metric = 0x7f3c26717f90
        ev_count = 1
        nq_count = 0
        loop_start_time = <optimized out>
        next_time = <optimized out>
        loop_finish_time = <optimized out>
        delta = <optimized out>
#22 0x000055e59c5aff64 in EThread::execute (this=0x7f3c2660d000) at UnixEThread.cc:345
No locals.
#23 0x000055e59c5ae97b in spawn_thread_internal (a=0x7f3c2a0bd230) at Thread.cc:92
        p = 0x7f3c2a0bd230
#24 0x00007f3c2ba22e65 in start_thread () from /lib64/libpthread.so.0
No symbol table info available.
#25 0x00007f3c2ae4088d in clone () from /lib64/libc.so.6
No symbol table info available.

HttpSM History (frame 8):

(gdb) p history
$2 = {
  history = {{
      location = {
        file = 0x55e59c5c9e88 "HttpSM.cc",
        func = 0x55e59c5c9efd "state_read_client_request_header",
        line = 613
      },
      event = 100,
      reentrancy = 2
    }, {
      location = {
        file = 0x55e59c5c9e88 "HttpSM.cc",
        func = 0x55e59c5ca39a "state_api_callback",
        line = 1337
      },
      event = 60000,
      reentrancy = 3
    }, {
      location = {
        file = 0x55e59c5c9e88 "HttpSM.cc",
        func = 0x55e59c5ca3b6 "state_api_callout",
        line = 1377
      },
      event = 60000,
      reentrancy = 3
    }, {
      location = {
        file = 0x55e59c5c9e88 "HttpSM.cc",
        func = 0x55e59c5ca39a "state_api_callback",
        line = 1337
      },
      event = 60000,
      reentrancy = 4
    }, {
      location = {
        file = 0x55e59c5c9e88 "HttpSM.cc",
        func = 0x55e59c5ca3b6 "state_api_callout",
        line = 1377
      },
      event = 60000,
      reentrancy = 4
    }, {
      location = {
        file = 0x55e59c5c9e88 "HttpSM.cc",
        func = 0x55e59c5ca39a "state_api_callback",
        line = 1337
      },
      event = 60000,
      reentrancy = 5
    }, {
      location = {
        file = 0x55e59c5c9e88 "HttpSM.cc",
        func = 0x55e59c5ca3b6 "state_api_callout",
        line = 1377
      },
      event = 60000,
      reentrancy = 5
    }, {
      location = {
        file = 0x55e59c5c9e88 "HttpSM.cc",
        func = 0x55e59c5ca39a "state_api_callback",
        line = 1337
      },
      event = 60000,
      reentrancy = 6
    }, {
      location = {
        file = 0x55e59c5c9e88 "HttpSM.cc",
        func = 0x55e59c5ca3b6 "state_api_callout",
        line = 1377
      },
      event = 60000,
      reentrancy = 6
    }, {
      location = {
        file = 0x55e59c5c9e88 "HttpSM.cc",
        func = 0x55e59c5ca169 "state_watch_for_client_abort",
        line = 880
      },
      event = 105,
      reentrancy = 1
    }, {
      location = {
        file = 0x55e59c5c9e88 "HttpSM.cc",
        func = 0x55e59c5ca39a "state_api_callback",
        line = 1337
      },
      event = 60000,
      reentrancy = 1
    }, {
      location = {
        file = 0x55e59c5c9e88 "HttpSM.cc",
        func = 0x55e59c5ca3b6 "state_api_callout",
        line = 1377
      },
      event = 60000,
      reentrancy = 1
    }, {
      location = {
        file = 0x55e59c5c9e88 "HttpSM.cc",
        func = 0x55e59c5ca39a "state_api_callback",
        line = 1337
      },
      event = 60000,
      reentrancy = 2
    }, {
      location = {
        file = 0x55e59c5c9e88 "HttpSM.cc",
        func = 0x55e59c5ca3b6 "state_api_callout",
        line = 1377
      },
      event = 60000,
      reentrancy = 2
    }, {
      location = {
        file = 0x55e59c5c9e88 "HttpSM.cc",
        func = 0x55e59c5ca39a "state_api_callback",
        line = 1337
      },
      event = 60000,
      reentrancy = 3
    }, {
      location = {
        file = 0x55e59c5c9e88 "HttpSM.cc",
        func = 0x55e59c5ca3b6 "state_api_callout",
        line = 1377
      },
      event = 60000,
      reentrancy = 3
    }, {
      location = {
        file = 0x55e59c5c9e88 "HttpSM.cc",
        func = 0x55e59c5ca39a "state_api_callback",
        line = 1337
      },
      event = 60000,
      reentrancy = 4
    }, {
      location = {
        file = 0x55e59c5c9e88 "HttpSM.cc",
        func = 0x55e59c5ca3b6 "state_api_callout",
        line = 1377
      },
      event = 60000,
      reentrancy = 4
    }, {
      location = {
        file = 0x0,
        func = 0x0,
        line = 0
      },
      event = 0,
      reentrancy = 0
    } <repeats 47 times>},
  history_pos = 18
}

Activity

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Metadata

Metadata

Assignees

Labels

Type

No type

Projects

No projects

    Milestone

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions