You signed in with another tab or window. Reload to refresh your session.You signed out in another tab or window. Reload to refresh your session.You switched accounts on another tab or window. Reload to refresh your session.Dismiss alert
This issue comes from investigating test failures on this Roslyn PR dotnet/roslyn#46510
At the conclusion of running the unit tests for VBCSCompiler server the xUnit process will refuse to exit. The xUnit output will indicate that the tests have completed running but the process itself will not exit. Attaching the debugger to the xUnit process and there are two threads of note that are still running:
The VBCSCompiler server makes heavy use of named pipes. Looking through the Socket on the finalizer thread I can confirm it's a Unix Domain socket related to the named pipes the compiler is creating (the path in the end point matches the paths we create in the tests).
Unfortunately after a day of debugging I have not been able to narrow this problem down any further:
The problem only repros when running the entire test assembly. I ran each test class in the assembly and none of them individually reproduce the issue. Have to run them as a group.
Went through a cycle of causing the hang, identifying the test which created the socket that was hung in the finalizer, disable that test, re-run the assembly. Did this for about five different tests and it had no impact on the hang.
This issue comes from investigating test failures on this Roslyn PR dotnet/roslyn#46510
At the conclusion of running the unit tests for VBCSCompiler server the xUnit process will refuse to exit. The xUnit output will indicate that the tests have completed running but the process itself will not exit. Attaching the debugger to the xUnit process and there are two threads of note that are still running:
GC Finalizer
.NET Sockets
The VBCSCompiler server makes heavy use of named pipes. Looking through the
Socketon the finalizer thread I can confirm it's a Unix Domain socket related to the named pipes the compiler is creating (the path in the end point matches the paths we create in the tests).Unfortunately after a day of debugging I have not been able to narrow this problem down any further:
NamedPipeServerStream.Disposeon any instance that was hung in aWaitForConnectionAsynccall.None of these has had any impact though. I've also been unsuccessful in constructing a more concise repro. 😦
More than happy to provide any info to make tracking this down easier.
Repro Information: