-
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
[HTTP/3] ReservedFrameType_Throws test fails #53090
Comments
Tagging subscribers to this area: @dotnet/ncl Issue DetailsSystem.Net.Http.Functional.Tests.SocketsHttpHandlerTest_Http3_MsQuic.ReservedFrameType_ThrowsIntermittently fails with:
|
BTW I was under impression that the INVALID_STATE should not happen any more with current msquic and we should get different error code when the connection is closed remotely. Do you still see it? |
I've seen that on 8/24 on that day's runtime main. I will re-check later
|
OK. I was expecting we would no longer see this after #57541 as that should bring microsoft/msquic#1875 |
You can still get invalid state if you have closed the connection locally. Are you sure that hasn't happened? |
I would expect not but @CarnaViire to confirm. |
I was looking at microsoft/msquic#1875 and it seems to fix that only for StreamStart and StreamOpen, but not for StreamSend. Is it possible INVALID_STATE is still used for StreamSend? @nibanks @thhous-msft |
I confirm that I can still get INVALID_STATE because of the race between calling StreamSend and receiving SHUTDOWN_INITIATED_BY_PEER. The test is to call StreamSend indefinitely while peer is calling ConnectionClose after a couple of reads.
It would be great if we could distinguish INVALID_STATE from connection shutdown vs all other possible invalid states. Same with Canceled. If the send is canceled because of connection shutdown, we can ignore the event and wait for SHUTDOWN_COMPLETE, but if it's a user cancelation of Send operation, we should throw OperationCanceledException. |
StreamSend wasn't part of the changes done before, as the bug we got seemed to only apply to Start. I'll look into StreamSend. |
@CarnaViire would you mind opening a new MsQuic Issue to track |
Sure! We are currently in the middle of collecting all the potential problems and asks to discuss with you and then convert some or all of them into issues. |
Judging from the discussion here #55485 (comment) is it correct that if SEND_COMPLETE contains Canceled=true, that could only mean that the stream is being closed (because of connection shutdown or other reasons)? Meaning, can we skip that event and wait for the following STREAM_SHUTDOWN* event? @nibanks @thhous-msft |
A canceled send can happen for one of the following reasons:
|
System.Net.Http.Functional.Tests.SocketsHttpHandlerTest_Http3_MsQuic.ReservedFrameType_Throws
Intermittently fails with:
The text was updated successfully, but these errors were encountered: