#51 .NET Core 3.1 and .NET 5 hang on Fedora >= 35
Closed a year ago by omajid. Opened 2 years ago by omajid.

The recent builds of .NET Core 3.1 and .NET 5 on Fedora 35 and rawhide have started failing. The build hangs at a few possible points:

  • MSBuild hangs
  • dotnet --info hangs after printing host information

Something is broken and it affects multiple .NET versions, but I don't know what it is.


To reproduce, building the .NET 5.0 package locally on Fedora 35 should be sufficient:

dnf build-dep dotnet5.0
dnf install -y fedora-packager
fedpkg clone -a dotnet5.0
cd dotnet5.0
fedpkg local

Hi Omair, I managed to reproduce the hang.

The leaf dotnet process is stuck in LoggingService.TerminateLoggingEventQueue. We may be hitting the issue that was fixed in: https://github.com/dotnet/msbuild/pull/6717.

Tom

# pstree -T -p $(pidof rpmbuild)
rpmbuild(2864)───sh(3100)───bash(3109)───dotnet(3197)───sh(21939)───build.sh(21940)───dotnet(22038)───dotnet(22051)
# lldb -p 22051
(lldb) clrstack -all
OS Thread Id: 0x5623
        Child SP               IP Call Site
00007FFE10305270 00007fad92dd777a [HelperMethodFrame_1OBJ: 00007ffe10305270] System.Threading.Monitor.ObjWait(Boolean, Int32, System.Object)
00007FFE103053A0 00007FAD1901570B System.Threading.ManualResetEventSlim.Wait(Int32, System.Threading.CancellationToken)
00007FFE10305420 00007FAD19027D39 System.Threading.Tasks.Task.SpinThenBlockingWait(Int32, System.Threading.CancellationToken)
00007FFE10305470 00007FAD19027BDB System.Threading.Tasks.Task.InternalWaitCore(Int32, System.Threading.CancellationToken)
00007FFE103054C0 00007FAD19027997 System.Threading.Tasks.Task.Wait(Int32, System.Threading.CancellationToken)
00007FFE103054F0 00007FAD190278AE System.Threading.Tasks.Task.Wait()
00007FFE10305500 00007FAD19F9B953 Microsoft.Build.BackEnd.Logging.LoggingService.TerminateLoggingEventQueue()
00007FFE10305520 00007FAD19F9B594 Microsoft.Build.BackEnd.Logging.LoggingService.WaitForThreadToProcessEvents()
00007FFE10305540 00007FAD19F9DCFD Microsoft.Build.BackEnd.Logging.LoggingService.LogBuildStarted()
00007FFE10305590 00007FAD19F34EF5 Microsoft.Build.Execution.BuildManager.<BeginBuild>g__InitializeLoggingService|61_0()
00007FFE103055D0 00007FAD19F2DAD7 Microsoft.Build.Execution.BuildManager.BeginBuild(Microsoft.Build.Execution.BuildParameters)
00007FFE10305620 00007FAD19F2D8FA Microsoft.Build.Execution.BuildManager.BeginBuild(Microsoft.Build.Execution.BuildParameters, System.Collections.Generic.IEnumerable`1<DeferredBuildMessage>)
00007FFE10305640 00007FAD195A71BE Microsoft.Build.CommandLine.MSBuildApp.BuildProject(System.String, System.String[], System.String, System.Collections.Generic.Dictionary`2<System.String,System.String>, System.Collections.Generic.Dictionary`2<System.String,System.String>, Microsoft.Build.Framework.ILogger[], Microsoft.Build.Framework.LoggerVerbosity, Microsoft.Build.CommandLine.DistributedLoggerRecord[], Int32, Boolean, System.IO.TextWriter, System.IO.TextWriter, Boolean, System.Collections.Generic.ISet`1<System.String>, System.Collections.Generic.ISet`1<System.String>, Boolean, Microsoft.Build.Logging.ProfilerLogger, Boolean, Boolean, Boolean, Boolean, Boolean, System.String[], System.String)
00007FFE10305780 00007FAD195A5E64 Microsoft.Build.CommandLine.MSBuildApp.Execute(System.String[])
00007FFE10305980 00007FAD195A5419 Microsoft.Build.CommandLine.MSBuildApp.Main(System.String[])
OS Thread Id: 0x562a
        Child SP               IP Call Site
00007FAD18A1EC90 00007fad92dd777a [DebuggerU2MCatchHandlerFrame: 00007fad18a1ec90] 
OS Thread Id: 0x562b
        Child SP               IP Call Site
OS Thread Id: 0x562d
        Child SP               IP Call Site
00007FACE9CA0520 00007fad92dd777a [HelperMethodFrame_1OBJ: 00007face9ca0520] System.Threading.Monitor.ReliableEnter(System.Object, Boolean ByRef)
00007FACE9CA0670 00007FAD1900A5FF System.Threading.Monitor.Enter(System.Object, Boolean ByRef)
00007FACE9CA0680 00007FAD1A96BD0F System.Threading.Tasks.Dataflow.Internal.SourceCore`1[[System.__Canon, System.Private.CoreLib]].OfferMessagesLoopCore()
00007FACE9CA06C0 00007FAD1A96C30E System.Threading.Tasks.Dataflow.Internal.SourceCore`1+<>c[[System.__Canon, System.Private.CoreLib]].<OfferAsyncIfNecessary_Slow>b__44_0(System.Object)
00007FACE9CA06E0 00007FAD190274C3 System.Threading.Tasks.Task.InnerInvoke()
00007FACE9CA0700 00007FAD1902CEC1 System.Threading.Tasks.Task+<>c.<.cctor>b__277_0(System.Object)
00007FACE9CA0710 00007FAD19014036 System.Threading.ExecutionContext.RunFromThreadPoolDispatchLoop(System.Threading.Thread, System.Threading.ExecutionContext, System.Threading.ContextCallback, System.Object)
00007FACE9CA0740 00007FAD190272D9 System.Threading.Tasks.Task.ExecuteWithThreadLocal(System.Threading.Tasks.Task ByRef, System.Threading.Thread)
00007FACE9CA07C0 00007FAD190270B8 System.Threading.Tasks.Task.ExecuteEntryUnsafe(System.Threading.Thread)
00007FACE9CA07E0 00007FAD19027057 System.Threading.Tasks.Task.ExecuteFromThreadPool(System.Threading.Thread)
00007FACE9CA07F0 00007FAD1901C9ED System.Threading.ThreadPoolWorkQueue.Dispatch()
00007FACE9CA0850 00007FAD1900CD17 System.Threading._ThreadPoolWaitCallback.PerformWaitCallback()
00007FACE9CA0BD0 00007fad9295beb3 [DebuggerU2MCatchHandlerFrame: 00007face9ca0bd0] 
OS Thread Id: 0x562f
        Child SP               IP Call Site
00007FACE949F530 00007fad92dd777a [HelperMethodFrame_1OBJ: 00007face949f530] System.Threading.Monitor.ReliableEnter(System.Object, Boolean ByRef)
00007FACE949F680 00007FAD1900A5FF System.Threading.Monitor.Enter(System.Object, Boolean ByRef)
00007FACE949F690 00007FAD1A96C24A System.Threading.Tasks.Dataflow.Internal.SourceCore`1+<>c[[System.__Canon, System.Private.CoreLib]].<Complete>b__37_0(System.Object)
00007FACE949F6E0 00007FAD190274C3 System.Threading.Tasks.Task.InnerInvoke()
00007FACE949F700 00007FAD1902CEC1 System.Threading.Tasks.Task+<>c.<.cctor>b__277_0(System.Object)
00007FACE949F710 00007FAD19014036 System.Threading.ExecutionContext.RunFromThreadPoolDispatchLoop(System.Threading.Thread, System.Threading.ExecutionContext, System.Threading.ContextCallback, System.Object)
00007FACE949F740 00007FAD190272D9 System.Threading.Tasks.Task.ExecuteWithThreadLocal(System.Threading.Tasks.Task ByRef, System.Threading.Thread)
00007FACE949F7C0 00007FAD190270B8 System.Threading.Tasks.Task.ExecuteEntryUnsafe(System.Threading.Thread)
00007FACE949F7E0 00007FAD19027057 System.Threading.Tasks.Task.ExecuteFromThreadPool(System.Threading.Thread)
00007FACE949F7F0 00007FAD1901C9ED System.Threading.ThreadPoolWorkQueue.Dispatch()
00007FACE949F850 00007FAD1900CD17 System.Threading._ThreadPoolWaitCallback.PerformWaitCallback()
00007FACE949FBD0 00007fad9295beb3 [DebuggerU2MCatchHandlerFrame: 00007face949fbd0] 

These versions of .NET are all EOL

Metadata Update from @omajid:
- Issue status updated to: Closed (was: Open)

a year ago

Login to comment on this ticket.

Metadata