apache / trafficserver

Apache Traffic Server™ is a fast, scalable and extensible HTTP/1.1 and HTTP/2 compliant caching proxy server.
https://trafficserver.apache.org/
Apache License 2.0
1.81k stars 802 forks source link

Failed assertion on storing frame #4144

Closed masaori335 closed 6 years ago

masaori335 commented 6 years ago
[Aug 22 02:11:12.545] {0x7f55d8cea700} DEBUG: <QUICNetVConnection.cc:1763 (_switch_to_e> (quic_net)                       [1ff3579a-6a6f28a3] Enter state_connection_established
[Aug 22 02:11:12.545] {0x7f55d8cea700} DEBUG: <QUICNetVConnection.cc:1764 (_switch_to_e> (quic_net)                       [1ff3579a-6a6f28a3] Negotiated cipher suite: TLS_AES_256_GCM_SHA384
[Aug 22 02:11:12.555] {0x7f55d8cea700} DEBUG: <QUICNetVConnection.cc:1277 (_store_frame> (quic_net)                       [1ff3579a-6a6f28a3] [TX] | ACK size=6 largest_acked=2 delay=8361 block_count=0 first_ack_block=1
[Aug 22 02:11:12.555] {0x7f55d8cea700} DEBUG: <QUICNetVConnection.cc:1277 (_store_frame> (quic_net)                       [1ff3579a-6a6f28a3] [TX] | CRYPTO size=127 (retransmission)
[Aug 22 02:11:12.555] {0x7f55d8cea700} DEBUG: <QUICNetVConnection.cc:1125 (_state_commo> (quic_net)                       [1ff3579a-6a6f28a3] [TX] INITIAL packet #1 size=194
[Aug 22 02:11:12.555] {0x7f55d8cea700} DEBUG: <QUICLossDetector.cc:332 (_set_loss_detec> (quic_loss_detector)             [1ff3579a-6a6f28a3] [PNS-0] Handshake retransmission alarm will be set
[Aug 22 02:11:12.555] {0x7f55d8cea700} DEBUG: <QUICLossDetector.cc:368 (_set_loss_detec> (quic_loss_detector)             [1ff3579a-6a6f28a3] [PNS-0] Loss detection alarm has been set to 400ms
[Aug 22 02:11:12.555] {0x7f55d8cea700} DEBUG: <QUICNetVConnection.cc:1277 (_store_frame> (quic_net)                       [1ff3579a-6a6f28a3] [TX] | ACK size=6 largest_acked=0 delay=1426 block_count=0 first_ack_block=0
[Aug 22 02:11:12.555] {0x7f55d8cea700} DEBUG: <QUICNetVConnection.cc:1277 (_store_frame> (quic_net)                       [1ff3579a-6a6f28a3] [TX] | CRYPTO size=1020 (retransmission)
[Aug 22 02:11:12.555] {0x7f55d8cea700} DEBUG: <QUICNetVConnection.cc:1125 (_state_commo> (quic_net)                       [1ff3579a-6a6f28a3] [TX] HANDSHAKE packet #2 size=1086
[Aug 22 02:11:12.555] {0x7f55d8cea700} DEBUG: <QUICLossDetector.cc:332 (_set_loss_detec> (quic_loss_detector)             [1ff3579a-6a6f28a3] [PNS-2] Handshake retransmission alarm will be set
[Aug 22 02:11:12.555] {0x7f55d8cea700} DEBUG: <QUICLossDetector.cc:368 (_set_loss_detec> (quic_loss_detector)             [1ff3579a-6a6f28a3] [PNS-2] Loss detection alarm has been set to 400ms
[Aug 22 02:11:12.556] {0x7f55d8cea700} DEBUG: <QUICNetVConnection.cc:1277 (_store_frame> (quic_net)                       [1ff3579a-6a6f28a3] [TX] | CRYPTO size=1113 (retransmission)
[Aug 22 02:11:12.556] {0x7f55d8cea700} DEBUG: <QUICNetVConnection.cc:1125 (_state_commo> (quic_net)                       [1ff3579a-6a6f28a3] [TX] HANDSHAKE packet #3 size=1173
[Aug 22 02:11:12.556] {0x7f55d8cea700} DEBUG: <QUICLossDetector.cc:332 (_set_loss_detec> (quic_loss_detector)             [1ff3579a-6a6f28a3] [PNS-2] Handshake retransmission alarm will be set
[Aug 22 02:11:12.556] {0x7f55d8cea700} DEBUG: <QUICLossDetector.cc:368 (_set_loss_detec> (quic_loss_detector)             [1ff3579a-6a6f28a3] [PNS-2] Loss detection alarm has been set to 400ms
[Aug 22 02:11:12.556] {0x7f55d8cea700} DEBUG: <QUICNetVConnection.cc:1277 (_store_frame> (quic_net)                       [1ff3579a-6a6f28a3] [TX] | CRYPTO size=40 offset=0 data_len=37
Fatal: QUICNetVConnection.cc:1269: failed assertion `l != 0`

SUMMARY: AddressSanitizer: 59 byte(s) leaked in 1 allocation(s).
traffic_server: received signal 6 (Aborted)
traffic_server - STACK TRACE: 
/opt/ats/lib/libtsutil.so.9(_Z20signal_crash_handleriP9siginfo_tPv+0x18)[0x7f55e1f35c8c]
/opt/ats/bin/traffic_server(_Z19crash_logger_invokeiP9siginfo_tPv+0x168)[0x60a276]
/lib64/libpthread.so.0(+0x12420)[0x7f55e0490420]
/lib64/libc.so.6(gsignal+0xcb)[0x7f55df6259fb]
/lib64/libc.so.6(abort+0x1b0)[0x7f55df627800]
/opt/ats/lib/libtsutil.so.9(_Z11ink_warningPKcz+0x0)[0x7f55e1ee1898]
/opt/ats/lib/libtsutil.so.9(+0x152daa)[0x7f55e1ed9daa]
/opt/ats/bin/traffic_server(_ZN18QUICNetVConnection12_store_frameERSt10unique_ptrIhPFvPvEERmS6_S0_I9QUICFramePFvPS7_EE+0x25f)[0xbe72f7]
/opt/ats/bin/traffic_server(_ZN18QUICNetVConnection17_packetize_framesE19QUICEncryptionLevelm+0x13e5)[0xbe8a35]
/opt/ats/bin/traffic_server(_ZN18QUICNetVConnection25_state_common_send_packetEv+0x51b)[0xbe4d77]
/opt/ats/bin/traffic_server(_ZN18QUICNetVConnection28state_connection_establishedEiP5Event+0x356)[0xbdde6c]
/opt/ats/bin/traffic_server(_ZN12Continuation11handleEventEiPv+0x121)[0x612da5]
/opt/ats/bin/traffic_server(_ZN7EThread13process_eventEP5Eventi+0x2f2)[0xc55a74]
/opt/ats/bin/traffic_server(_ZN7EThread15execute_regularEv+0x7d6)[0xc569c0]
/opt/ats/bin/traffic_server(_ZN7EThread7executeEv+0x2d4)[0xc575d8]
/opt/ats/bin/traffic_server[0xc53cb8]
/lib64/libpthread.so.0(+0x736d)[0x7f55e048536d]
/lib64/libc.so.6(clone+0x3f)[0x7f55df6ffb4f]
masaori335 commented 6 years ago
(lldb) p max_frame_size
(uint64_t) $2 = 7
(lldb) p ((QUICFrame *)0x00006290000d0fa0)->size()
(size_t) $3 = 37
masaori335 commented 6 years ago

Fixed by 49f8be8763e60c2ee4c13c5d10956e2059cc712c.