I had another .NET ThreadPool Worker crash overnight. here’s a snippet of the console log
-------------------------------------
Translated Report (Full Report Below)
-------------------------------------
Process: RoonAppliance [4614]
Path: /Applications/Roon.app/Contents/RoonServer.app/Contents/RoonAppliance.app/Contents/MacOS/RoonAppliance
Identifier: com.roon.RoonAppliance
Version: 1.0 (1.0)
Code Type: X86-64 (Native)
Parent Process: RoonServer [4474]
User ID: 502
Date/Time: 2024-04-11 03:20:52.8810 -0400
OS Version: macOS 14.4.1 (23E224)
Report Version: 12
Bridge OS Version: 8.4 (21P4222)
Anonymous UUID: B1953D07-DEE7-B54E-48C3-624D643E112C
Time Awake Since Boot: 720000 seconds
System Integrity Protection: enabled
Crashed Thread: 55 .NET ThreadPool Worker
Exception Type: EXC_CRASH (SIGABRT)
Exception Codes: 0x0000000000000000, 0x0000000000000000
Termination Reason: Namespace SIGNAL, Code 6 Abort trap: 6
Terminating Process: RoonAppliance [4614]
Application Specific Information:
abort() called
...
Thread 55 Crashed:: .NET ThreadPool Worker
0 libsystem_kernel.dylib 0x7ff80761314a __pthread_kill + 10
1 libsystem_pthread.dylib 0x7ff80764bebd pthread_kill + 262
2 libsystem_c.dylib 0x7ff807571a39 abort + 126
3 libcoreclr.dylib 0x104c3b752 PROCAbort + 50
4 libcoreclr.dylib 0x104c3b680 PROCEndProcess(void*, unsigned int, int) + 320
5 libcoreclr.dylib 0x104db12e9 EEPolicy::HandleFatalStackOverflow(_EXCEPTION_POINTERS*, int) + 761
6 libcoreclr.dylib 0x104e82d6e HandleHardwareException(PAL_SEHException*) + 542
7 libcoreclr.dylib 0x104c08bbb SEHProcessException(PAL_SEHException*) + 315
8 libcoreclr.dylib 0x104c42fd9 PAL_DispatchException + 137
9 libcoreclr.dylib 0x104c42c63 PAL_DispatchExceptionWrapper + 10
10 dyld 0x7ff807309f20 invocation function for block in dyld3::MachOLoaded::getSlide() const + 47
11 dyld 0x7ff8072bc07f dyld3::MachOFile::forEachLoadCommand(Diagnostics&, void (load_command const*, bool&) block_pointer) const + 249
12 dyld 0x7ff807309be9 dyld3::MachOLoaded::getSlide() const + 127
13 dyld 0x7ff80730a4c0 invocation function for block in dyld3::MachOLoaded::findSectionContent(char const*, char const*, unsigned long long&, bool) const + 159
14 dyld 0x7ff807305bcf invocation function for block in dyld3::MachOFile::forEachSection(void (dyld3::MachOFile::SectionInfo const&, bool, bool&) block_pointer) const + 543
15 dyld 0x7ff8072bc07f dyld3::MachOFile::forEachLoadCommand(Diagnostics&, void (load_command const*, bool&) block_pointer) const + 249
16 dyld 0x7ff807304d0c dyld3::MachOFile::forEachSection(void (dyld3::MachOFile::SectionInfo const&, bool, bool&) block_pointer) const + 176
17 dyld 0x7ff80730a400 dyld3::MachOLoaded::findSectionContent(char const*, char const*, unsigned long long&, bool) const + 118
18 dyld 0x7ff8072f0710 dyld4::APIs::_dyld_find_unwind_sections(void*, dyld_unwind_sections*) + 280
19 libunwind.dylib 0x7ff8148a8045 libunwind::UnwindCursor<libunwind::LocalAddressSpace, libunwind::Registers_x86_64>::setInfoBasedOnIPRegister(bool) + 101
20 libunwind.dylib 0x7ff8148ac156 unw_set_reg + 150
21 libcoreclr.dylib 0x104c08fa4 PAL_VirtualUnwind + 148
22 libcoreclr.dylib 0x104e91b1f LazyMachState::unwindLazyState(LazyMachState*, MachState*, unsigned int, int, HostCallPreference) + 271
23 libcoreclr.dylib 0x104cb68db HelperMethodFrame::InsureInit(bool, MachState*, HostCallPreference) + 171
24 libcoreclr.dylib 0x104cb6822 HelperMethodFrame::GetFunction() + 18
25 libcoreclr.dylib 0x104d2ca4b StackFrameIterator::ProcessCurrentFrame() + 123
26 libcoreclr.dylib 0x104d2e204 StackFrameIterator::NextRaw() + 1476
27 libcoreclr.dylib 0x104d2ccb8 StackFrameIterator::Filter() + 88
28 libcoreclr.dylib 0x104d2c46b StackFrameIterator::Init(Thread*, Frame*, REGDISPLAY*, unsigned int) + 443
29 libcoreclr.dylib 0x104d2c0ec Thread::StackWalkFramesEx(REGDISPLAY*, StackWalkAction (*)(CrawlFrame*, void*), void*, unsigned int, Frame*) + 268
30 libcoreclr.dylib 0x104d2c5e3 Thread::StackWalkFrames(StackWalkAction (*)(CrawlFrame*, void*), void*, unsigned int, Frame*) + 211
31 libcoreclr.dylib 0x104dbcbc9 ScanStackRoots(Thread*, void (*)(Object**, ScanContext*, unsigned int), ScanContext*) + 313
32 libcoreclr.dylib 0x104dbc9e9 GCToEEInterface::GcScanRoots(void (*)(Object**, ScanContext*, unsigned int), int, int, ScanContext*) + 249
33 libcoreclr.dylib 0x104f026b2 WKS::gc_heap::mark_phase(int, int) + 818
34 libcoreclr.dylib 0x104efefed WKS::gc_heap::gc1() + 909
35 libcoreclr.dylib 0x104f09f2e WKS::gc_heap::garbage_collect(int) + 2110
36 libcoreclr.dylib 0x104ef9eda WKS::GCHeap::GarbageCollectGeneration(unsigned int, gc_reason) + 1082
37 libcoreclr.dylib 0x104efc07f WKS::gc_heap::try_allocate_more_space(alloc_context*, unsigned long, unsigned int, int) + 719
38 libcoreclr.dylib 0x104f24820 WKS::GCHeap::Alloc(gc_alloc_context*, unsigned long, unsigned int) + 160
39 libcoreclr.dylib 0x104dc1ad8 AllocateObject(MethodTable*) + 200
40 libcoreclr.dylib 0x104dded1d JIT_New(CORINFO_CLASS_STRUCT_*) + 141
41 ??? 0x10cdc2c7c ???
42 ??? 0x10cdc273c ???
...
507 ??? 0x111bd2e4f ???
508 ??? 0x111c1cc53 ???
509 ??? 0x111c1c805 ???
510 ??? 0x111bd1adb ???
511 ??? 0x111bd2e4f ???