Skip to content

Send path can result in empty send #1757

@nibanks

Description

@nibanks

Describe the bug

During a SpinQuic run, it seems an alloc failure eventually led to a send with no actual data buffered. Here's the callstack:

0a 000000dc`6e8fd8c0 00007ffa`d39b64c0 ntdll!KiUserExceptionDispatcher+0x2e
0b 000000dc`6e8fdfd0 00007ffa`d38bf89f msquic!CxPlatSocketSend+0xf0 [D:\a\1\msquic\src\platform\datapath_winuser.c @ 3806] 
0c 000000dc`6e8fe100 00007ffa`d39a521b msquic!QuicBindingSend+0x4ef [D:\a\1\msquic\src\core\binding.c @ 1776] 
0d 000000dc`6e8fe510 00007ffa`d39a4a70 msquic!QuicPacketBuilderSendBatch+0x44b [D:\a\1\msquic\src\core\packet_builder.c @ 973] 
0e 000000dc`6e8fe730 00007ffa`d39473d8 msquic!QuicPacketBuilderFinalize+0x1a20 [D:\a\1\msquic\src\core\packet_builder.c @ 923] 
0f 000000dc`6e8fed10 00007ffa`d38e876b msquic!QuicSendFlush+0x12e8 [D:\a\1\msquic\src\core\send.c @ 1226] 
10 000000dc`6e8ff5d0 00007ffa`d39262ec msquic!QuicConnDrainOperations+0x67b [D:\a\1\msquic\src\core\connection.c @ 6755] 
11 000000dc`6e8ff830 00007ffa`d392368e msquic!QuicWorkerProcessConnection+0x59c [D:\a\1\msquic\src\core\worker.c @ 487] 
12 000000dc`6e8ffae0 00007ffa`d095bf14 msquic!QuicWorkerThread+0x34e [D:\a\1\msquic\src\core\worker.c @ 579] 
13 000000dc`6e8ffd10 00007ffb`047a54e0 clang_rt_asan_dbg_dynamic_x86_64!_asan_wrap_GlobalSize+0x5924a
14 000000dc`6e8ffd50 00007ffb`04e005fb kernel32!BaseThreadInitThunk+0x10
15 000000dc`6e8ffd80 00000000`00000000 ntdll!RtlUserThreadStart+0x2b

Dump/symbols: spinquic.zip

Metadata

Metadata

Assignees

No one assigned

    Type

    Projects

    Status

    Should be written

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions