-
Notifications
You must be signed in to change notification settings - Fork 4.7k
New issue
Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? Sign in to your account
QUIC: AcceptStream_ConnectionAborted_ByClient_Throw is failing randomly #55242
Comments
Tagging subscribers to this area: @dotnet/ncl Issue DetailsThis is one of disabled tests mentioned in #49157. [Fact]
public async Task AcceptStream_ConnectionAborted_ByClient_Throws()
{
const int ExpectedErrorCode = 1234;
using var sync = new SemaphoreSlim(0);
await RunClientServer(
async clientConnection =>
{
await clientConnection.CloseAsync(ExpectedErrorCode);
sync.Release();
},
async serverConnection =>
{
await sync.WaitAsync();
QuicConnectionAbortedException ex = await Assert.ThrowsAsync<QuicConnectionAbortedException>(() => serverConnection.AcceptStreamAsync().AsTask());
Assert.Equal(ExpectedErrorCode, ex.ErrorCode);
});
} In good case the event sequence is:
for the failure we get SHUTDOWN_INITIATED_BY_TRANSPORT instead:
Could you please take a look at attached logs @nibanks and @ThadHouse ???
quic.log.OK.txt
|
Just from the issue description, it seems like you are racing the shutdown with something. If you sometimes get app shutdown and sometimes transport shutdown that means you are likely shutting down right around handshake complete. |
I assume the handshake complete is the |
Before I look at logs, would you mind trying the absolute latest (from today)? I actually just made some changes in that area. |
looks promising @nibanks. I did ~ 300 test iterations and I did not see any failure. |
This is because we do not have good mechanism in place to update MsQuic on Linux machines. |
This is one of disabled tests mentioned in #49157.
The test is pretty simple as it closed since with particular error and it expects peer to see it.
Note that the
RunClientServer
has synchronization so the connection should not be touched/Disposed until both test sides are done.In good case the event sequence is:
for the failure we get SHUTDOWN_INITIATED_BY_TRANSPORT instead:
Could you please take a look at attached logs @nibanks and @ThadHouse ???
Note from the code claims:
quic.log.OK.txt
quic.log.fail.txt
The text was updated successfully, but these errors were encountered: