-
Notifications
You must be signed in to change notification settings - Fork 597
Labels
Area: CoreRelated to the shared, core protocol logicRelated to the shared, core protocol logicBug: CoreA code bug in the Core MsQuic codeA code bug in the Core MsQuic codeexternalProposed by non-MSFTProposed by non-MSFT
Milestone
Description
Describe the bug
set connection Settings.MaxOperationsPerDrain to 0 causes worker busy spinning and connection hang (no callback.)
Affected OS
- Windows
- Linux
- macOS
- Other (specify below)
Additional OS information
No response
MsQuic version
v2.3
Steps taken to reproduce bug
- In Listener callback handles
QUIC_LISTENER_EVENT_NEW_CONNECTION
- in another thread (none worker thread), set the new connection settings
MaxOperationsPerDrain
to zero with
MsQuic->SetParam(Connection,
QUIC_PARAM_CONN_SETTINGS,
sizeof(QUIC_SETTINGS),
&Settings)))
and it returns success.
-
In the same thread same as above, set conn configuration with
MsQuic->ConnectionSetConfiguration
and it returns success. -
One of the worker thread busy spin (100% CPU usage)
Expected behavior
Worker thread should not busy spin.
OR
Disallow set MaxOperationsPerDrain
to 0
and step 3) should return error.
AND
Document the usecase of MaxOperationsPerDrain=0
if it is by design.
Actual outcome
- One of the worker thread busy spin (100% CPU usage)
Additional details
This is found during prop based fuzzy test of quicer
Metadata
Metadata
Assignees
Labels
Area: CoreRelated to the shared, core protocol logicRelated to the shared, core protocol logicBug: CoreA code bug in the Core MsQuic codeA code bug in the Core MsQuic codeexternalProposed by non-MSFTProposed by non-MSFT