-
Notifications
You must be signed in to change notification settings - Fork 848
Closed
Description
After merging from master, I've got the following crash. This seem it was introduced by #9729
trafficserver/proxy/http3/Http3Transaction.cc
Line 309 in eb09664
| ink_assert(this->_write_ready_event == e); |
(gdb) bt
#0 __GI_raise (sig=sig@entry=6) at ../sysdeps/unix/sysv/linux/raise.c:50
#1 0x00007ffff7127859 in __GI_abort () at abort.c:79
#2 0x00007ffff7ef0ff1 in ink_abort (message_format=0x7ffff7f5e020 "%s:%d: failed assertion `%s`") at ink_error.cc:99
#3 0x00007ffff7eebe9d in _ink_assert (expression=0x55555609c1b0 "this->_write_ready_event == e", file=0x55555609c158 "Http3Transaction.cc", line=309)
at ink_assert.cc:37
#4 0x0000555555f7ea02 in HQTransaction::_close_write_ready_event (this=0x7fffd0101f60, e=0x0) at Http3Transaction.cc:309
#5 0x0000555555f80cff in Http3Transaction::state_stream_closed (this=0x7fffd0101f60, event=101, data=0x0) at Http3Transaction.cc:507
#6 0x0000555555a45497 in Continuation::handleEvent (this=0x7fffd0101f60, event=101, data=0x0)
at /home/dmeden/code/git/trafficserver-h3/iocore/eventsystem/I_Continuation.h:228
#7 0x0000555555f76e3c in Http3App::_handle_bidi_stream_on_write_ready (this=0x7fffd00e3970, event=101, vio=0x7fffd00fef08) at Http3App.cc:338
#8 0x0000555555f75d1c in Http3App::main_event_handler (this=0x7fffd00e3970, event=101, data=0x5555565d6800) at Http3App.cc:141
#9 0x0000555555a45497 in Continuation::handleEvent (this=0x7fffd00e3970, event=101, data=0x5555565d6800)
at /home/dmeden/code/git/trafficserver-h3/iocore/eventsystem/I_Continuation.h:228
#10 0x0000555555fbbaed in EThread::process_event (this=0x555556b484b0, e=0x5555565d6800, calling_code=101) at UnixEThread.cc:149
#11 0x0000555555fbbd3a in EThread::process_queue (this=0x555556b484b0, NegativeQueue=0x7fffd7efd0f0, ev_count=0x7fffd7efd0a4, nq_count=0x7fffd7efd0a0)
at UnixEThread.cc:184
#12 0x0000555555fbc18d in EThread::execute_regular (this=0x555556b484b0) at UnixEThread.cc:262
#13 0x0000555555fbc474 in EThread::execute (this=0x555556b484b0) at UnixEThread.cc:334
#14 0x0000555555fbabbc in spawn_thread_internal (a=0x5555565ccc40) at Thread.cc:79
#15 0x00007ffff7780609 in start_thread (arg=<optimized out>) at pthread_create.c:477
#16 0x00007ffff7224133 in clone () at ../sysdeps/unix/sysv/linux/x86_64/clone.S:95
(gdb) f 4
#4 0x0000555555f7ea02 in HQTransaction::_close_write_ready_event (this=0x7fffd0101f60, e=0x0) at Http3Transaction.cc:309
309 ink_assert(this->_write_ready_event == e);
(gdb) print e
$17 = (Event *) 0x0
(gdb) f 8
#8 0x0000555555f75d1c in Http3App::main_event_handler (this=0x7fffd00e3970, event=101, data=0x5555565d6800) at Http3App.cc:141
141 this->_handle_bidi_stream_on_write_ready(event, vio);
(gdb) print data->_location
$18 = (const void *) 0x555555fa62fa <QUICStreamVCAdapter::encourge_write()+232>
(gdb) print data
$19 = (Event *) 0x5555565d6800
(gdb)
the only way to get this was using h2load and using some concurrent requests.