Rare deadlock in GraphNode.GetOrComputeValue
#18115
Labels
Area-Compiler-Service
Various compiler service issues which do not belong to other labels/areas.
Bug
Impact-Low
(Internal MS Team use only) Describes an issue with limited impact on existing code.
Milestone
GraphNode.GetOrComputeValue
can deadlock when the threadpool is under some pressure.See: https://dev.azure.com/dnceng-public/public/_build/results?buildId=886415&view=logs&j=966a6946-91f0-5397-81f4-d998467880f9&t=344839a9-08c6-5829-65fb-26f32c5a016f&l=17626
Repro steps
This is reproducible in #17872 locally. For example:
in VS select all
BuildGraphTests
in Test Explorer and "run until failure".The tests run in parallel and after few dozens or some more iterations the test case
Many requests to get a value asynchronously might evaluate the computation more than once even when some requests get canceled
will get stuck herefsharp/tests/FSharp.Compiler.Service.Tests/BuildGraphTests.fs
Line 221 in a90f6d1
The text was updated successfully, but these errors were encountered: