Open
Description
Also possible that GC stress needs some update for runtime async.
Example of a windows-x64 GC stress failure:
https://github.com/dotnet/runtime/pull/115947/checks?check_run_id=43432208236
C:\h\w\B46109A4\w\AAD40950\e>call async\async\async.cmd -usewatcher
BEGIN EXECUTION
"C:\h\w\B46109A4\p\watchdog.exe" 299 "C:\h\w\B46109A4\p\corerun.exe" -p "System.Reflection.Metadata.MetadataUpdater.IsSupported=false" -p "System.Runtime.Serialization.EnableUnsafeBinaryFormatterSerialization=true" async.dll
00:55:38.705 Running test: async/awaitingnotasync/awaitingnotasync/awaitingnotasync.dll
Assert failure(PID 4040 [0x00000fc8], Thread: 4812 [0x12cc]): !CREATE_CHECK_STRING(!"Detected use of a corrupted OBJECTREF. Possible GC hole.")
CORECLR! `Object::ValidateInner'::`1'::catch$13 + 0x10B (0x00007fff`65613cab)
CORECLR! CallSettingFrame_LookupContinuationIndex + 0x20 (0x00007fff`65530660)
CORECLR! _FrameHandler4::CxxCallCatchBlock + 0x1DE (0x00007fff`6552e42e)
NTDLL! RtlCaptureContext + 0x3C3 (0x00007fff`87eba173)
CORECLR! Object::ValidateInner + 0xE8 (0x00007fff`65011368)
CORECLR! Object::Validate + 0xA1 (0x00007fff`65011241)
CORECLR! TGcInfoDecoder<AMD64GcInfoEncoding>::ReportRegisterToGC + 0x1A8 (0x00007fff`65447838)
CORECLR! TGcInfoDecoder<AMD64GcInfoEncoding>::EnumerateLiveSlots + 0x14C2 (0x00007fff`65443ae2)
CORECLR! EECodeManager::EnumGcRefs + 0x25B (0x00007fff`64edd09b)
CORECLR! GcStackCrawlCallBack + 0x758 (0x00007fff`651a99f8)
File: D:\a\_work\1\s\src\coreclr\vm\object.cpp:626
Image: C:\h\w\B46109A4\p\corerun.exe
This is with
set DOTNET_TieredCompilation=0
set DOTNET_GCStress=0xC
set DOTNET_JitStress=2
set DOTNET_ReadyToRun=0