Skip to content

Crash in GC #49684

@mfilippov

Description

@mfilippov

Description

.NET Runtime crash in GC with stack:

[0x0]   coreclr!CGCDesc::GetNumPointers + 0x24   
[0x1]   coreclr!WKS::gc_heap::background_mark_simple1 + 0x10262a   
[0x2]   coreclr!WKS::gc_heap::background_mark_simple + 0x74   
[0x3]   coreclr!WKS::gc_heap::background_promote + 0x52   
[0x4]   coreclr!ScanConsecutiveHandlesWithoutUserData + 0x45   
[0x5]   coreclr!BlockScanBlocksWithoutUserData + 0x44   
[0x6]   coreclr!ProcessScanQNode + 0x44   
[0x7]   coreclr!ProcessScanQueue + 0x3f   
[0x8]   coreclr!xxxTableScanQueuedBlocksAsync + 0x5d   
[0x9]   coreclr!xxxAsyncSegmentIterator + 0x55   
[0xa]   coreclr!TableScanHandles + 0x7c   
[0xb]   coreclr!xxxTableScanHandlesAsync + 0x97   
[0xc]   coreclr!HndScanHandlesForGC + 0x10c   
[0xd]   coreclr!Ref_TracePinningRoots + 0x96   
[0xe]   coreclr!GCScan::GcScanHandles + 0xd4   
[0xf]   coreclr!WKS::gc_heap::background_mark_phase + 0x1244   
[0x10]   coreclr!WKS::gc_heap::gc1 + 0x1b5   
[0x11]   coreclr!WKS::gc_heap::bgc_thread_function + 0x90   
[0x12]   coreclr!<lambda_c5a49c859c7ba70587da980d74c056e1>::operator() + 0xa0   
[0x13]   kernel32!BaseThreadInitThunk + 0x14   
[0x14]   ntdll!RtlUserThreadStart + 0x21   

I tried to switch into Server GC but it crashed too:

[0x0]   coreclr!CGCDesc::GetNumPointers + 0x25   
[0x1]   coreclr!SVR::gc_heap::background_mark_simple1 + 0xf4   
[0x2]   coreclr!SVR::gc_heap::background_mark_simple + 0x96   
[0x3]   coreclr!SVR::gc_heap::background_promote + 0x11d   
[0x4]   coreclr!ScanConsecutiveHandlesWithoutUserData + 0x45   
[0x5]   coreclr!BlockScanBlocksWithoutUserData + 0x44   
[0x6]   coreclr!ProcessScanQNode + 0x44   
[0x7]   coreclr!ProcessScanQueue + 0x3f   
[0x8]   coreclr!xxxTableScanQueuedBlocksAsync + 0x5d   
[0x9]   coreclr!xxxAsyncSegmentIterator + 0x55   
[0xa]   coreclr!TableScanHandles + 0x7c   
[0xb]   coreclr!xxxTableScanHandlesAsync + 0x97   
[0xc]   coreclr!HndScanHandlesForGC + 0x10c   
[0xd]   coreclr!Ref_TraceNormalRoots + 0xb8   
[0xe]   coreclr!GCScan::GcScanHandles + 0x218   
[0xf]   coreclr!SVR::gc_heap::background_mark_phase + 0x13ba   
[0x10]   coreclr!SVR::gc_heap::gc1 + 0x136   
[0x11]   coreclr!SVR::gc_heap::bgc_thread_function + 0xe0   
[0x12]   coreclr!<lambda_c5a49c859c7ba70587da980d74c056e1>::operator() + 0xa0   
[0x13]   kernel32!BaseThreadInitThunk + 0x14   
[0x14]   ntdll!RtlUserThreadStart + 0x21   

It happened in our internal build system. When I run build with /m:16 and worked if I run build without /m.

Configuration

Windows: 19042.867
.NET Core SDK: dotnet-sdk-5.0.103-win-x64
x64

Other information

I create two full dumps in Server and Workstation GC mode.
https://drive.google.com/file/d/1RvDtBOVmexXFYRdJuaEIpZUXmWLsRTg7/view?usp=sharing
https://drive.google.com/file/d/1yzqwsb2WXwmYaxBQE7kp702L1YR9qodb/view?usp=sharing

Metadata

Metadata

Assignees

No one assigned

    Type

    No type

    Projects

    No projects

    Milestone

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions