New issue
Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? Sign in to your account
Assertion in HQ Fatal: HQFrame.cc:295: failed assertion sizeof(buf) > len
#4688
Comments
|
I guess this is just because our HQ(H3) impl is not updated. |
See I use traffic_quic to download a large file(128MB). |
I think The current server implementation should detect HTTP version (0.9 or HQ) for interop and all requests from traffic_quic should go into the logic for 0.9 (any HQFrame should not be created). So I guess it failed to detect HTTP version and the frame parser is reading HTTP/0.9 request as HQ frames. You can fix it if you want, but I'm not going to make the detection perfect because it will be removed in a few months. |
Hmm. Let's keep this issue until the detection has been removed. |
Now, the detection is not used for HTTP/3. HTTP/0.9 still has the detection, but the data will be ignored when the detection failed. |
0x00007ffff42bd428 in __GI_raise (sig=sig@entry=6) at ../sysdeps/unix/sysv/linux/raise.c:54
54 ../sysdeps/unix/sysv/linux/raise.c: No such file or directory.
(gdb) bt
#0 0x00007ffff42bd428 in __GI_raise (sig=sig@entry=6) at ../sysdeps/unix/sysv/linux/raise.c:54
#1 0x00007ffff42bf02a in __GI_abort () at abort.c:89
#2 0x00007ffff6a5481d in ink_abort (message_format=0x7ffff6b440a0 "%s:%d: failed assertion
%s
") at ink_error.cc:99#3 0x00007ffff6a4c6a0 in _ink_assert (expression=0x11333a0 "sizeof(buf) > len", file=0x1133120 "HQFrame.cc", line=295) at ink_assert.cc:37
#4 0x0000000000de60fd in HQFrameFactory::fast_create (this=0x62600001e350, stream_io=..., len=13744632839234567870) at HQFrame.cc:295
#5 0x0000000000ddb3cd in HQFrameDispatcher::on_read_ready (this=0x62600001e338, stream_io=..., nread=@0x7fffeed894c0: 0) at HQFrameDispatcher.cc:74
#6 0x0000000000dd6259 in HQClientTransaction::_process_read_vio (this=0x62600001e100) at HQClientTransaction.cc:464
#7 0x0000000000dd3e6d in HQClientTransaction::do_io_read (this=0x62600001e100, c=0x7fffea7aa510, nbytes=0, buf=0x62600001e1a8) at HQClientTransaction.cc:228
#8 0x000000000080872b in HttpSM::attach_client_session (this=0x7fffea7aa510, client_vc=0x62600001e100, buffer_reader=0x62600001e1c0) at HttpSM.cc:529
#9 0x0000000000c70d22 in ProxyClientTransaction::new_transaction (this=0x62600001e100) at ProxyClientTransaction.cc:60
#10 0x0000000000dcf2b4 in QUICSimpleApp::main_event_handler (this=0x60c000017140, event=100, data=0x63400001cd30) at QUICSimpleApp.cc:77
#11 0x00000000006db9c8 in Continuation::handleEvent (this=0x60c000017140, event=100, data=0x63400001cd30) at /root/trafficserver/iocore/eventsystem/I_Continuation.h:165
#12 0x0000000000e5829d in QUICStream::_signal_read_event (this=0x63400001cb70) at QUICStream.cc:572
#13 0x0000000000e55d97 in QUICStream::recv (this=0x63400001cb70, frame=...) at QUICStream.cc:356
#14 0x0000000000e44497 in QUICStreamManager::_handle_frame (this=0x610000008a40, frame=...) at QUICStreamManager.cc:207
#15 0x0000000000e43ad6 in QUICStreamManager::handle_frame (this=0x610000008a40, level=QUICEncryptionLevel::ONE_RTT, frame=...) at QUICStreamManager.cc:151
#16 0x0000000000e27d93 in QUICFrameDispatcher::receive_frames (this=0x62600000f100, level=QUICEncryptionLevel::ONE_RTT, payload=0x61d000014a80 "\022", size=1216, ack_only=@0x7fffeed8cce0: false,
is_flow_controlled=@0x7fffeed8cd20: true, has_non_probing_frame=0x7fffeed8cfa0) at QUICFrameDispatcher.cc:83
#17 0x0000000000d444a2 in QUICNetVConnection::_recv_and_ack (this=0x7fffea9dcc70, packet=..., has_non_probing_frame=0x7fffeed8cfa0) at QUICNetVConnection.cc:1480
#18 0x0000000000d3d91e in QUICNetVConnection::_state_connection_established_process_protected_packet (this=0x7fffea9dcc70, packet=std::unique_ptr containing 0x62900003ff40)
at QUICNetVConnection.cc:1049
#19 0x0000000000d3e46f in QUICNetVConnection::_state_connection_established_receive_packet (this=0x7fffea9dcc70) at QUICNetVConnection.cc:1101
#20 0x0000000000d38182 in QUICNetVConnection::state_connection_established (this=0x7fffea9dcc70, event=2500, data=0x0) at QUICNetVConnection.cc:662
#21 0x00000000006db9c8 in Continuation::handleEvent (this=0x7fffea9dcc70, event=2500, data=0x0) at /root/trafficserver/iocore/eventsystem/I_Continuation.h:165
#22 0x0000000000d3a170 in QUICNetVConnection::net_read_io (this=0x7fffea9dcc70, nh=0x7fffeed95530, lthread=0x7fffeed91800) at QUICNetVConnection.cc:817
#23 0x0000000000cf95b6 in NetHandler::process_ready_list (this=0x7fffeed95530) at UnixNet.cc:396
#24 0x0000000000cfae06 in NetHandler::waitForActivity (this=0x7fffeed95530, timeout=2484836) at UnixNet.cc:529
#25 0x0000000000dc5450 in EThread::execute_regular (this=0x7fffeed91800) at UnixEThread.cc:273
#26 0x0000000000dc5c6f in EThread::execute (this=0x7fffeed91800) at UnixEThread.cc:326
#27 0x0000000000dc2346 in spawn_thread_internal (a=0x606000033380) at Thread.cc:92
#28 0x00007ffff51066ba in start_thread (arg=0x7fffeed8e700) at pthread_create.c:333
#29 0x00007ffff438f41d in clone () at ../sysdeps/unix/sysv/linux/x86_64/clone.S:109
@maskit Can you please have a look ?
The text was updated successfully, but these errors were encountered: