Skip to content

Test failure - Basic/WithRebindPaddingArgs.RebindAddrPadded - QuicSendWriteFrames triggers an assert #4948

@guhetier

Description

@guhetier

Describe the bug

Test fails by hitting a debug assertion.

CXPLAT_DBG_ASSERT(Builder->Metadata->FrameCount > PrevFrameCount || RanOutOfRoom ||
    CxPlatIsRandomMemoryFailureEnabled());

No frames are written because SendFlags = 0x00000400 (QUIC_CONN_SEND_FLAG_PATH_CHALLENGE).
SendFlags has this value because a route is still resolving so QuicSendPathChallenges set the flag back.

The assert needs to be fixed or QuicStreamSendWrite should not be called when only flags that don't result in a frame are left.

0b 000000b956ffd800 00007ff9cb07b4d9 ntdll!KiUserExceptionDispatch+0x2e [minkernel\ntos\rtl\amd64\trampoln.asm @ 771]
0c 000000b956ffdf10 00007ff9cb07429d msquic!QuicSendWriteFrames+0x3529 [D:\a\msquic\msquic\src\core\send.c @ 955]
0d 000000b956ffe8e0 00007ff9caff3e20 msquic!QuicSendFlush+0xe3d [D:\a\msquic\msquic\src\core\send.c @ 1354]
0e 000000b956fff170 00007ff9cb04465d msquic!QuicConnDrainOperations+0x600 [D:\a\msquic\msquic\src\core\connection.c @ 7729]
0f 000000b956fff2e0 00007ff9cb041365 msquic!QuicWorkerProcessConnection+0x64d [D:\a\msquic\msquic\src\core\worker.c @ 564]
10 000000b956fff610 00007ff9cb0f13aa msquic!QuicWorkerLoop+0x305 [D:\a\msquic\msquic\src\core\worker.c @ 727]
11 000000b956fff770 00007ff9cb0f03d1 msquic!CxPlatRunExecutionContexts+0x22a [D:\a\msquic\msquic\src\platform\platform_worker.c @ 496]

Affected OS

  • Windows
  • Linux
  • macOS
  • Other (specify below)

Additional OS information

No response

MsQuic version

main

Steps taken to reproduce bug

See https://github.com/microsoft/msquic/actions/runs/14071887925/job/39407997115?pr=4947#annotation:9:1326

Expected behavior

Test passes without triggering assert

Actual outcome

Test fails

Additional details

No response

Metadata

Metadata

Assignees

Labels

Bug: CoreA code bug in the Core MsQuic code

Type

Projects

Status

Done

Milestone

No milestone

Relationships

None yet

Development

No branches or pull requests

Issue actions