Quarantine OutputFlowControl_ConnectionAndRequestAborted_NoException #44415
Labels
area-networking
Includes servers, yarp, json patch, bedrock, websockets, http client factory, and http abstractions
feature-kestrel
HTTP2
test-failure
Milestone
Failing Test(s)
Microsoft.AspNetCore.Server.Kestrel.Core.Tests.Http2ConnectionTests.OutputFlowControl_ConnectionAndRequestAborted_NoException
Error Message
Helix just reports "The Helix Work Item failed. Often this is due to a test crash. Please see the 'Artifacts' tab above for additional logs." for the InMemory.FunctionalTests--net7.0 Work Item.
This is a deadlock with two relevant stack traces collected from the hangdump using
clrstack -all
.After a quick look at that stack traces, I'm convince this is a test-only issue that's only possible because we use
AllowSynchronousContinuations = true
on the Http2FrameWriter channel in Kestrel's in-memory tests. I tried settingAllowSynchronousContinuations = false
to see how many tests failed, and I saw these 11 test failures immediately. There could more than that that would become flaky with this change.Test failures without AllowSynchronousContinuations
I'm not sure, but I think this could be the root cause for other Http2Connection tests timeouts like the one described in #41172. It seems possible that deadlocks might happen on only on background threads in cases where we see Task timeouts instead of the entire helix work item hanging.
Stacktrace
Stack Trace 1
Stack Trace 2
Logs
Build
https://dev.azure.com/dnceng-public/public/_build/results?buildId=43548&view=results
https://dev.azure.com/dnceng-public/public/_build/results?buildId=43548&view=ms.vss-test-web.build-test-results-tab&runId=885050&resultId=122079&paneView=dotnet-dnceng.dnceng-build-release-tasks.helix-test-information-tab
The text was updated successfully, but these errors were encountered: