Description
Describe the bug
Stream could be opened successfully with MsQuicStreamOpen
after MsQuicConnectionShutdown
is called.
MsQuicConnectionShutdown
is async task,
Line 252 in 9cab5bf
MsQuicStreamOpen
is sync call, but there is no synchronization in MsQuicStreamOpen
when it checks the states of connection
Line 653 in 9cab5bf
It could cause stream leaks when the opened stream is not removed here (when processing ):
Line 1631 in 9cab5bf
Our application do refcounting for conn handle, that it only calls CONNECTION_CLOSE
when all the stream handles belong to the conn are closed.
trouble connection: 0xffff42428100
trouble stream: 0xffff5388e880
Affected OS
- Windows
- Linux
- macOS
- Other (specify below)
Additional OS information
ubuntu22.04 arm64
MsQuic version
v2.3
Steps taken to reproduce bug
- Client establish connection to Server.
- Client shutdown the connection.
- Client Open the stream on the connection.
Expected behavior
For step 3, it should either
a) fail to open the stream
b) open success but get a "Stream_SHUTDOWN_COMPLETE" event.
Actual outcome
Open success but NO "Stream_SHUTDOWN_COMPLETE" event, completely quiet on callback.
Additional details
Metadata
Metadata
Assignees
Type
Projects
Status