Repository navigation
Regression_4.5.10: Assert failure: !CREATE_CHECK_STRING(!"Detected use of a corrupted OBJECTREF. Possible GC hole.") #134837
Copy link
Copy link
Open
Labels
Known Build ErrorUse this to report build issues in the .NET Helix tabUse this to report build issues in the .NET Helix tabarch-x86area-CodeGen-coreclrCLR JIT compiler in src/coreclr/src/jit and related components such as SuperPMICLR JIT compiler in src/coreclr/src/jit and related components such as SuperPMIblocking-clean-ci-optionalBlocking optional rolling runsBlocking optional rolling runs
Milestone
Description
Activity
- addedblocking-clean-ci-optionalBlocking optional rolling runsBlocking optional rolling runsKnown Build ErrorUse this to report build issues in the .NET Helix tabUse this to report build issues in the .NET Helix tab
on Sep 29, 2026 - addeduntriagedNew issue has not been triaged by the area ownerNew issue has not been triaged by the area owner
on Sep 29, 2026 dotnet-policy-service commented
on Sep 29, 2026 ContributorMore actionsTagging subscribers to this area: @anicka-net, @dotnet/gc
See info in area-owners.md if you want to be subscribed.- changed the title
[-]Assert failure: !CREATE_CHECK_STRING(!"Detected use of a corrupted OBJECTREF. Possible GC hole.")[/-][+]Regression_4.5.10: Assert failure: !CREATE_CHECK_STRING(!"Detected use of a corrupted OBJECTREF. Possible GC hole.")[/+]on Sep 29, 2026 Also failed in runtime-coreclr gcstress-extra 20261004.1
Failed tests:
coreclr windows x86 Checked gcstress0xc_disabler2r_heapverify1 @ Windows.10.Amd64.Open - JIT/Regression_3/DevDiv_377155/DevDiv_377155/DevDiv_377155.cmd - JIT/Regression_3/DevDiv_736188/DevDiv_736188/DevDiv_736188.cmd - JIT/Regression_2/Runtime_65694/Runtime_65694_2/Runtime_65694_2.cmd - JIT/Regression_2/Runtime_71831/Runtime_71831/Runtime_71831.cmd - JIT/Regression_2/Runtime_72926/Runtime_72926/Runtime_72926.cmd - JIT/Regression_2/Runtime_73628/Runtime_73628/Runtime_73628.cmd coreclr windows x86 Checked gcstress0xc_disabler2r @ Windows.10.Amd64.Open - JIT/Regression_3/DevDiv_278372/DevDiv_278372/DevDiv_278372.cmd - JIT/Regression_3/DevDiv_362706/DevDiv_362706/DevDiv_362706.cmd - JIT/Regression_3/DevDiv_367099/DevDiv_367099/DevDiv_367099.cmd - JIT/Regression_3/DevDiv_370233/DevDiv_370233/DevDiv_370233.cmd - JIT/Regression_3/DevDiv_377155/DevDiv_377155/DevDiv_377155.cmd - JIT/Regression_3/DevDiv_736188/DevDiv_736188/DevDiv_736188.cmd - JIT/Regression_2/Runtime_109269/Runtime_109269/Runtime_109269.cmd - JIT/Regression_2/Runtime_65694/Runtime_65694_2/Runtime_65694_2.cmd - JIT/Regression_2/Runtime_71831/Runtime_71831/Runtime_71831.cmd - JIT/Regression_2/Runtime_72926/Runtime_72926/Runtime_72926.cmd - JIT/Regression_2/Runtime_73628/Runtime_73628/Runtime_73628.cmd - JIT/Regression_2/Runtime_85611/Runtime_85611/Runtime_85611.cmd - JIT/Regression_3/DevDiv_278372/DevDiv_278372/DevDiv_278372.cmd - JIT/Regression_3/DevDiv_362706/DevDiv_362706/DevDiv_362706.cmd - JIT/Regression_3/DevDiv_367099/DevDiv_367099/DevDiv_367099.cmd - JIT/Regression_3/DevDiv_370233/DevDiv_370233/DevDiv_370233.cmd - JIT/Regression_3/DevDiv_377155/DevDiv_377155/DevDiv_377155.cmd - JIT/Regression_3/DevDiv_736188/DevDiv_736188/DevDiv_736188.cmd - JIT/Regression_2/Runtime_109269/Runtime_109269/Runtime_109269.cmd - JIT/Regression_2/Runtime_65694/Runtime_65694_2/Runtime_65694_2.cmd - JIT/Regression_2/Runtime_71831/Runtime_71831/Runtime_71831.cmd - JIT/Regression_2/Runtime_72926/Runtime_72926/Runtime_72926.cmd - JIT/Regression_2/Runtime_73628/Runtime_73628/Runtime_73628.cmd - JIT/Regression_2/Runtime_85611/Runtime_85611/Runtime_85611.cmd coreclr windows x86 Checked gcstress0xc_disabler2r_heapverify1 @ Windows.10.Amd64.Open - JIT/Regression_2/Runtime_109269/Runtime_109269/Runtime_109269.cmd - JIT/Regression_2/Runtime_65694/Runtime_65694_2/Runtime_65694_2.cmd - JIT/Regression_2/Runtime_71831/Runtime_71831/Runtime_71831.cmd - JIT/Regression_2/Runtime_72926/Runtime_72926/Runtime_72926.cmd - JIT/Regression_2/Runtime_73628/Runtime_73628/Runtime_73628.cmd - JIT/Regression_2/Runtime_85611/Runtime_85611/Runtime_85611.cmdError message:
Assert failure(PID 5432 [0x00001538], Thread: 5284 [0x14a4]): !CREATE_CHECK_STRING(!"Detected use of a corrupted OBJECTREF. Possible GC hole.") CORECLR! Object::Validate + 0xA9 (0x7376b279) CORECLR! WKS::GCHeap::Promote + 0x17C (0x7353622c) CORECLR! GcEnumObject + 0x15D (0x738e8aed) CORECLR! EnumGcRefsX86 + 0x4CF (0x7364ab6f) CORECLR! EECodeManager::EnumGcRefs + 0x1E4 (0x7364a644) CORECLR! GcStackCrawlCallBack + 0x2B9 (0x738e8f99) CORECLR! Thread::StackWalkFramesEx + 0x223 (0x737b46b3) CORECLR! Thread::StackWalkFrames + 0x1BB (0x737b447b) CORECLR! ScanStackRoots + 0x2CE (0x738e735e) CORECLR! GCToEEInterface::GcScanRoots + 0x172 (0x738e5052) File: D:\a\_work\1\s\src\coreclr\vm\object.cpp:618 Image: C:\h\w\AF0C0A2A\p\corerun.exe Return code: 1 Raw output file: C:\h\w\AF0C0A2A\w\A34F0912\uploads\DevDiv_377155\DevDiv_377155\output.txt Raw output: BEGIN EXECUTION "C:\h\w\AF0C0A2A\p\corerun.exe" -p "System.Reflection.Metadata.MetadataUpdater.IsSupported=false" -p "System.Runtime.Serialization.EnableUnsafeBinaryFormatterSerialization=true" DevDiv_377155.dll Expected: 100 Actual: -1073740286 END EXECUTION - FAILED FAILED Test Harness Exitcode is : 1 To run the test: Set up CORE_ROOT and run. > C:\h\w\AF0C0A2A\w\A34F0912\e\JIT\Regression_3\Regression_3\../DevDiv_377155/DevDiv_377155/DevDiv_377155.cmdStack trace:
at Xunit.Assert.True(Nullable`1 condition, String userMessage) in /_/src/arcade/src/Microsoft.DotNet.XUnitAssert/src/BooleanAsserts.cs:line 135 at TestLibrary.OutOfProcessTest.RunOutOfProcessTest(String assemblyPath, String testPathPrefix) in /__w/1/s/src/tests/Common/CoreCLRTestLibrary/OutOfProcessTest.cs:line 202 at Program.<>c__DisplayClass0_0.<<Main>$>g__TestExecutor107|108(StreamWriter tempLogSw, StreamWriter statsCsvSw, StreamWriter outOfProcessPlanWriter)- addedarea-CodeGen-coreclrCLR JIT compiler in src/coreclr/src/jit and related components such as SuperPMICLR JIT compiler in src/coreclr/src/jit and related components such as SuperPMIand removed
on Oct 8, 2026 dotnet-policy-service commented
on Oct 8, 2026 ContributorMore actionsTagging subscribers to this area: @JulieLeeMSFT, @jakobbotsch
See info in area-owners.md if you want to be subscribed.@dotnet/jit-contrib We have accumulated multiple GC hole crashes in last week or two. Please take a look before it gets out of hand.
; Assembly listing for method System.Runtime.CompilerServices.VirtualDispatchHelpers:VirtualFunctionPointer(System.Object,nint,nint):nint (FullOpts) ; Emitting BLENDED_CODE for x86 + VEX on Windows .... G_M50750_IG01: ; bbWeight=1, gcrefRegs=00000000 {}, byrefRegs=00000000 {}, byref, prolog, nogc 000000 push ebp 000001 mov ebp, esp 000003 push edi 000004 push esi 000005 push ebx 000006 sub esp, 68 000009 mov edi, ecx ; gcrRegs +[edi] <------------------------------------- EDI becomes live 00000B mov esi, edx ;; size=13 bbWeight=1 PerfScore 5.00 G_M50750_IG02: ; bbWeight=1, gcrefRegs=00000080 {edi}, byrefRegs=00000000 {}, byref 00000D vxorps xmm0, xmm0, xmm0 000011 vmovups xmmword ptr [ebp-0x20], xmm0 000016 test byte ptr [0x056F27EC], 1 ; global ptr 00001D je G_M50750_IG11 ;; size=22 bbWeight=1 PerfScore 4.33 G_M50750_IG03: ; bbWeight=1, gcrefRegs=00000080 {edi}, byrefRegs=00000000 {}, byref, isz 000023 mov ecx, gword ptr [0x07A81278] ; gcrRegs +[ecx] 000029 add ecx, 4 ; gcrRegs -[ecx] ; byrRegs +[ecx] 00002C mov gword ptr [ebp-0x4C], edi ; GC ptr vars +{V00} 00002F mov edx, dword ptr [edi] 000031 mov dword ptr [ebp-0x48], edx 000034 mov eax, edx 000036 mov ebx, esi 000038 rol ebx, 5 00003B add ebx, eax 00003D rorx edi, dword ptr [ebp+0x08], 5 <----- EDI is overwritten with a value that's clearly not a GC reference, but it is still live -> bug 000044 add edi, ebx ; gcrRegs -[edi] <--- EDI is becoming dead one instruction too late; Assembly listing for method System.Reflection.MethodBaseInvoker:InvokeDirectByRefWithFewArgs(System.Object,System.Span`1[System.Object],int):System.Object:this (FullOpts) ; Emitting BLENDED_CODE for x86 + VEX on Windows ; FullOpts code ... 000140 mov ecx, bword ptr [ebp-0x34] ; byrRegs +[ecx] 000143 add esi, ecx ; byrRegs +[esi] <----- ESI is byref 000145 xchg eax, edi 000147 xchg ecx, edi ; byrRegs -[ecx] +[edi] 000149 xchg edx, edi ; byrRegs -[edi] +[edx] 00014B xchg ebx, edi ; gcrRegs -[ebx] +[edi] <----- EDI is objref 00014D xchg esi, edi <----- ESI is swapped with EDI, but GC reporting is missing. EDI is reported as objref, but it actually contains byref -> bug 00014F jmp SHORT G_M51382_IG14- added a commit that references this issue
on Oct 8, 2026 - removeduntriagedNew issue has not been triaged by the area ownerNew issue has not been triaged by the area owner
on Oct 9, 2026
Metadata
Metadata
Assignees
Labels
Known Build ErrorUse this to report build issues in the .NET Helix tabUse this to report build issues in the .NET Helix tabarch-x86area-CodeGen-coreclrCLR JIT compiler in src/coreclr/src/jit and related components such as SuperPMICLR JIT compiler in src/coreclr/src/jit and related components such as SuperPMIblocking-clean-ci-optionalBlocking optional rolling runsBlocking optional rolling runs
Type
Projects
- StatusShow more project fieldsNo status
Build Information
Build: https://dev.azure.com/dnceng-public/cbb18261-c48f-4abb-8651-8cdcb5474649/_build/results?buildId=1613975
Build error leg or test failing: Regression_4.5.10.WorkItemExecution
Error Detail
Error Message
Fill the error message using step by step known issues guidance.
{ "ErrorMessage": "Failed test: Regression_4.5.10.WorkItemExecution", "BuildRetry": false, "ExcludeConsoleLog": false }Known issue validation
Build: 🔎 https://dev.azure.com/dnceng-public/public/_build/results?buildId=1613975
Error message validated:
[Failed test: Regression_4.5.10.WorkItemExecution]Result validation: ❌ Known issue did not match with the provided build.
Validation performed at: 9/29/2026 1:44:48 AM UTC
Report
Summary