Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Test failure: System.Collections.Concurrent.Tests.ConcurrentStackTests.Add_TakeFromAnotherThread_ExpectedItemsTaken #39398

Closed
BruceForstall opened this issue Jul 16, 2020 · 1 comment · Fixed by #40698
Assignees
Labels
arch-arm64 area-CodeGen-coreclr CLR JIT compiler in src/coreclr/src/jit and related components such as SuperPMI JitStress CLR JIT issues involving JIT internal stress modes os-windows
Milestone

Comments

@BruceForstall
Copy link
Member

BruceForstall commented Jul 16, 2020

The failure is not a consistent repro, but I see it fail about 50% of the time. It will fail without GCStress as well, if you are "lucky". The failure mode also changes, but always looks like one of the set of common GCStress asserts.

set COMPlus_TieredCompilation=0
set COMPlus_TailcallStress=1
set COMPlus_GCStress=C
C:\bugs\System.Collections.Concurrent.Tests\net5.0-Release>"C:\bugs\testhost\net5.0-Windows_NT-Release-arm64\dotnet.exe" exec --runtimeconfig System.Collections.Concurrent.Tests.runtimeconfig.json --depsfile System.Collections.Concurrent.Tests.deps.json xunit.console.dll System.Collections.Concurrent.Tests.dll -xml testResults.xml -nologo -nocolor -notrait category=IgnoreForCI -notrait category=OuterLoop -notrait category=failing -verbose -parallel none -method "System.Collections.Concurrent.Tests.ConcurrentStackTests.Add_TakeFromAnotherThread_ExpectedItemsTaken"
  Discovering: System.Collections.Concurrent.Tests (method display = ClassAndMethod, method display options = None)
  Discovered:  System.Collections.Concurrent.Tests (found 1 of 876 test case)
  Starting:    System.Collections.Concurrent.Tests (parallel test collections = off, max threads = 8)
    System.Collections.Concurrent.Tests.ConcurrentStackTests.Add_TakeFromAnotherThread_ExpectedItemsTaken [STARTING]

Assert failure(PID 11808 [0x00002e20], Thread: 11172 [0x2ba4]): RawGetMethodTable()

CORECLR! GetCLRRuntimeHost + 0x2B72F8 (0x00007ffa`ace95d78)
CORECLR! GetCLRRuntimeHost + 0x2B79E4 (0x00007ffa`ace96464)
CORECLR! GetCLRRuntimeHost + 0x29C748 (0x00007ffa`ace7b1c8)
CORECLR! GetCLRRuntimeHost + 0x2607C4 (0x00007ffa`ace3f244)
CORECLR! GetCLRRuntimeHost + 0x25F040 (0x00007ffa`ace3dac0)
CORECLR! GetCLRRuntimeHost + 0x25E9F0 (0x00007ffa`ace3d470)
CORECLR! GetCLRRuntimeHost + 0x25F108 (0x00007ffa`ace3db88)
CORECLR! GetCLRRuntimeHost + 0x25F340 (0x00007ffa`ace3ddc0)
CORECLR! GetCLRRuntimeHost + 0x25C830 (0x00007ffa`ace3b2b0)
CORECLR! GetCLRRuntimeHost + 0x2619E0 (0x00007ffa`ace40460)
    File: C:\gh\runtime\src\coreclr\src\gc\gc.cpp Line: 3677
    Image: C:\bugs\testhost\net5.0-Windows_NT-Release-arm64\dotnet.exe

In a separate run under a debugger, I see:

coreclr!WKS::my_get_size(void)+0x10
coreclr!WKS::gc_heap::find_first_object(unsigned char * start = 0x000001be`4ec4f460 "", unsigned char * first_object = 0x000001be`4ea01000 "???")+0x180
coreclr!WKS::gc_heap::find_object(unsigned char * interior = 0x000001be`4ec4f460 "")+0x190
coreclr!WKS::GCHeap::Promote(class Object ** ppObject = 0x000001be`4cba6098, struct ScanContext * sc = <Value unavailable error>, unsigned int flags = 1)+0x58
coreclr!PromoteCarefully(<function> * fn = 0x00007ffa`ab72b0b0, class Object ** ppObj = 0x000001be`4cba6098, struct ScanContext * sc = 0x000000a4`565bb7e0, unsigned int flags = 1)+0xb8
coreclr!GcEnumObject(void * pData = <Value unavailable error>, class OBJECTREF * pObj = 0x000001be`4cba6098, unsigned int flags = 1)+0x64
coreclr!GcInfoDecoder::ReportRegisterToGC(int regNum = 0n0, unsigned int gcFlags = 1, struct REGDISPLAY * pRD = <Value unavailable error>, unsigned int flags = 1, <function> * pCallBack = 0x00007ffa`ab5c8b70, void * hCallBack = 0x000000a4`565bb6e0)+0x288
coreclr!GcInfoDecoder::ReportSlotToGC(class GcSlotDecoder * slotDecoder = <Value unavailable error>, unsigned int slotIndex = 0, struct REGDISPLAY * pRD = 0x000000a4`565bad30, bool reportScratchSlots = true, unsigned int inputFlags = 1, <function> * pCallBack = 0x00007ffa`ab5c8b70, void * hCallBack = 0x000000a4`565bb6e0)+0xe4
coreclr!GcInfoDecoder::EnumerateLiveSlots(struct REGDISPLAY * pRD = 0x000000a4`565bad30, bool reportScratchSlots = true, unsigned int inputFlags = 1, <function> * pCallBack = 0x00007ffa`ab5c8b70, void * hCallBack = 0x000000a4`565bb6e0)+0xd3c
coreclr!EECodeManager::EnumGcRefs(struct REGDISPLAY * pRD = 0x000000a4`565bad30, class EECodeInfo * pCodeInfo = 0x000000a4`565ba800, unsigned int flags = 1, <function> * pCallBack = 0x00007ffa`ab5c8b70, void * hCallBack = 0x000000a4`565bb6e0, unsigned long relOffsetOverride = <Value unavailable error>)+0x2cc
coreclr!GcStackCrawlCallBack(class CrawlFrame * pCF = 0x000000a4`565ba5d0, void * pData = 0x000000a4`565bb6e0)+0x274
coreclr!Thread::MakeStackwalkerCallback(class CrawlFrame * pCF = 0x000000a4`565ba5d0, <function> * pCallback = 0x00007ffa`ab5c8ce0, void * pData = 0x000000a4`565bb6e0, unsigned int uFramesProcessed = <Value unavailable error>)+0x70
coreclr!Thread::StackWalkFramesEx(struct REGDISPLAY * pRD = 0x000000a4`565bad30, <function> * pCallback = 0x00007ffa`ab5c8ce0, void * pData = 0x000000a4`565bb6e0, unsigned int flags = <Value unavailable error>, class Frame * pStartFrame = 0x00000000`00000000)+0x174
coreclr!Thread::StackWalkFrames(<function> * pCallback = 0x00007ffa`ab5c8ce0, void * pData = 0x000000a4`565bb6e0, unsigned int flags = 0x8500, class Frame * pStartFrame = 0x00000000`00000000)+0x130
coreclr!ScanStackRoots(class Thread * pThread = 0x000001be`4ca38270, <function> * fn = 0x00007ffa`ab72b0b0, struct ScanContext * sc = 0x000000a4`565bb7e0)+0x1b4
coreclr!GCToEEInterface::GcScanRoots(<function> * fn = 0x00007ffa`ab72b0b0, int condemned = 0n2, int max_gen = 0n2, struct ScanContext * sc = 0x000000a4`565bb7e0)+0x19c
coreclr!WKS::gc_heap::mark_phase(int condemned_gen_number = 0n2, int mark_only_p = 0n0)+0x238
coreclr!WKS::gc_heap::gc1(void)+0x238
coreclr!WKS::gc_heap::garbage_collect(int n = <Value unavailable error>)+0x4cc
coreclr!WKS::GCHeap::GarbageCollectGeneration(unsigned int gen = 2, gc_reason reason = reason_gcstress (0n8))+0x3b4
coreclr!WKS::GCHeap::GarbageCollect(int generation = <Value unavailable error>, bool low_memory_p = <Value unavailable error>, int mode = 0n-2147483648)+0x12c
coreclr!WKS::GCHeap::StressHeap(struct gc_alloc_context * context = <Value unavailable error>)+0x5d4
coreclr!DoGcStress(struct _CONTEXT * regs = 0x000001be`4cba6090, class NativeCodeVersion * nativeCodeVersion = <Value unavailable error>)+0x2f0
coreclr!Thread::RedirectedHandledJITCase(Thread::RedirectReason reason = RedirectReason_GCStress (0n3))+0x17c
coreclr!RedirectedHandledJITCaseForGCStress_Stub(void)+0x28
System_Private_CoreLib!System.Collections.Generic.HashSet`1[[System.__Canon, System.Private.CoreLib]].AddIfNotPresent(<Win32 error 0n318>)+0xffffffff`a26db0c8
System_Collections_Concurrent_Tests!System.Collections.Concurrent.Tests.ProducerConsumerCollectionTests.Add_TakeFromAnotherThread_ExpectedItemsTaken(<Win32 error 0n318>)+0x164
coreclr!CallDescrWorkerInternal(void)+0x84
coreclr!CallDescrWorkerWithHandler(struct CallDescrData * pCallDescrData = 0x000000a4`565bc540, int fCriticalCall = 0n0)+0xd0
coreclr!CallDescrWorkerReflectionWrapper::__l6::__Body::Run(void)+0x8

and the function being examined:

0:000> !u -gcinfo 7ffa4d67f058
Normal JIT generated code
System.Collections.Generic.HashSet`1[[System.Int32, System.Private.CoreLib]].AddIfNotPresent(Int32, Int32 ByRef)
ilAddr is 00007FFAAA92B2C8 pImport is 000001E307EFE780
Begin 00007FFA4D67E958, size 760
Prolog size: 0
Security object: <none>
GS cookie: <none>
PSPSym: <none>
Generics inst context: <none>
PSP slot: <none>
GenericInst slot: <none>
Varargs: 0
Frame pointer: Fp
Has tailcalls: 0
Size of parameter area: 0
Return Kind: Scalar
Code size: 760
00007ffa`4d67e958 a9b57bfd stp         fp,lr,[sp,#-0xB0]!
00007ffa`4d67e95c a90653f3 stp         x19,x20,[sp,#0x60]
00007ffa`4d67e960 a9075bf5 stp         x21,x22,[sp,#0x70]
00007ffa`4d67e964 a90863f7 stp         x23,x24,[sp,#0x80]
00007ffa`4d67e968 a9096bf9 stp         x25,x26,[sp,#0x90]
00007ffa`4d67e96c a90a73fb stp         x27,x28,[sp,#0xA0]
00007ffa`4d67e970 910003fd mov         fp,sp
00007ffa`4d67e974 aa0003f3 mov         x19,x0
00007ffa`4d67e978 2a0103f4 mov         w20,w1
00007ffa`4d67e97c aa0203f5 mov         x21,x2
00000028 interruptible
00000028 +X19 +X21(interior)
00007ffa`4d67e980 f9400660 ldr         x0,[x19,#8]
0000002c +X0
00007ffa`4d67e984 b5000080 cbnz        x0,00007FFA4D67E994
00000030 -X0
00007ffa`4d67e988 aa1303e0 mov         x0,x19
00000034 +X0
00007ffa`4d67e98c 52800001 mov         w1,#0
00007ffa`4d67e990 97ffe08a bl          00007FFA4D676BB8
0000003c -X0
00007ffa`4d67e994 f9400660 ldr         x0,[x19,#8]
00000040 +X0
00007ffa`4d67e998 f100001f cmp         x0,#0
00007ffa`4d67e99c 9a9f07e0 csetne      x0
00000048 -X0
00007ffa`4d67e9a0 d2860c01 mov         x1,#0x3060
00007ffa`4d67e9a4 f2abd401 movk        x1,#0x5EA0,lsl #0x10
00007ffa`4d67e9a8 f2c037c1 movk        x1,#0x1BE,lsl #0x20
00007ffa`4d67e9ac f9400036 ldr         x22,[x1]
00000058 +X22
00007ffa`4d67e9b0 aa1603f7 mov         x23,x22
0000005c +X23
00007ffa`4d67e9b4 35000200 cbnz        w0,00007FFA4D67E9F4
00007ffa`4d67e9b8 d2800500 mov         x0,#0x28 (gcstress)
00007ffa`4d67e9bc f2a97700 movk        x0,#0x4BB8,lsl #0x10 (gcstress)
00007ffa`4d67e9c0 f2cfff40 movk        x0,#0x7FFA,lsl #0x20 (gcstress)
00007ffa`4d67e9c4 5280dde1 mov         w1,#0x6EF (gcstress)
00007ffa`4d67e9c8 97957fa6 bl          00007FFA4BCE2C74 (gcstress)
00007ffa`4d67e9cc d284d200 mov         x0,#0x2690 (gcstress)
00007ffa`4d67e9d0 f2abd400 movk        x0,#0x5EA0,lsl #0x10 (gcstress)
00007ffa`4d67e9d4 f2c037c0 movk        x0,#0x1BE,lsl #0x20 (gcstress)
00007ffa`4d67e9d8 c8dffc00 ldar        x0,[x0] (gcstress)
00000084 +X0
00007ffa`4d67e9dc aa1703e1 mov         x1,x23 (gcstress)
00000088 +X1
00007ffa`4d67e9e0 aa1603e2 mov         x2,x22 (gcstress)
0000008c +X2
00007ffa`4d67e9e4 f9400003 ldr         x3,[x0] (gcstress)
00007ffa`4d67e9e8 f9402463 ldr         x3,[x3,#0x48] (gcstress)
00007ffa`4d67e9ec f9401063 ldr         x3,[x3,#0x20] (gcstress)
00007ffa`4d67e9f0 d63f0060 blr         x3 (gcstress)
0000009c -X23 -X22 -X2 -X1 -X0
00007ffa`4d67e9f4 f9400a76 ldr         x22,[x19,#0x10]
000000a0 +X22
00007ffa`4d67e9f8 d2860c00 mov         x0,#0x3060
00007ffa`4d67e9fc f2abd400 movk        x0,#0x5EA0,lsl #0x10
00007ffa`4d67ea00 f2c037c0 movk        x0,#0x1BE,lsl #0x20
00007ffa`4d67ea04 f9400017 ldr         x23,[x0]
000000b0 +X23
00007ffa`4d67ea08 b5000276 cbnz        x22,00007FFA4D67EA54
00007ffa`4d67ea0c d2800500 mov         x0,#0x28 (gcstress)
00007ffa`4d67ea10 f2a97700 movk        x0,#0x4BB8,lsl #0x10 (gcstress)
00007ffa`4d67ea14 f2cfff40 movk        x0,#0x7FFA,lsl #0x20 (gcstress)
00007ffa`4d67ea18 5280dde1 mov         w1,#0x6EF (gcstress)
00007ffa`4d67ea1c 97957f91 bl          00007FFA4BCE2C74 (gcstress)
00007ffa`4d67ea20 d284d200 mov         x0,#0x2690 (gcstress)
00007ffa`4d67ea24 f2abd400 movk        x0,#0x5EA0,lsl #0x10 (gcstress)
00007ffa`4d67ea28 f2c037c0 movk        x0,#0x1BE,lsl #0x20 (gcstress)
00007ffa`4d67ea2c c8dffc00 ldar        x0,[x0] (gcstress)
000000d8 +X0
00007ffa`4d67ea30 d2860e01 mov         x1,#0x3070 (gcstress)
00007ffa`4d67ea34 f2abd401 movk        x1,#0x5EA0,lsl #0x10 (gcstress)
00007ffa`4d67ea38 f2c037c1 movk        x1,#0x1BE,lsl #0x20 (gcstress)
00007ffa`4d67ea3c f9400021 ldr         x1,[x1] (gcstress)
000000e8 +X1
00007ffa`4d67ea40 aa1703e2 mov         x2,x23 (gcstress)
000000ec +X2
00007ffa`4d67ea44 f9400003 ldr         x3,[x0] (gcstress)
00007ffa`4d67ea48 f9402463 ldr         x3,[x3,#0x48] (gcstress)
00007ffa`4d67ea4c f9401063 ldr         x3,[x3,#0x20] (gcstress)
00007ffa`4d67ea50 d63f0060 blr         x3 (gcstress)
000000fc -X23 -X2 -X1 -X0
00007ffa`4d67ea54 f9400e77 ldr         x23,[x19,#0x18]
00000100 +X23
00007ffa`4d67ea58 52800018 mov         w24,#0
00007ffa`4d67ea5c b5000db7 cbnz        x23,00007FFA4D67EC10
00000108 -X23
00007ffa`4d67ea60 2a1403f9 mov         w25,w20
00007ffa`4d67ea64 f9400677 ldr         x23,[x19,#8]
00000110 +X23
00007ffa`4d67ea68 b9400afa ldr         w26,[x23,#8]
00007ffa`4d67ea6c 2a1a03fb mov         w27,w26
00007ffa`4d67ea70 f940167c ldr         x28,[x19,#0x28]
00007ffa`4d67ea74 d2860c00 mov         x0,#0x3060
00007ffa`4d67ea78 f2abd400 movk        x0,#0x5EA0,lsl #0x10
00007ffa`4d67ea7c f2c037c0 movk        x0,#0x1BE,lsl #0x20
00007ffa`4d67ea80 f9400002 ldr         x2,[x0]
0000012c +X2
00007ffa`4d67ea84 f90023a2 str         x2,[fp,#0x40]
00000130 +Fp+40
00007ffa`4d67ea88 f9001fa2 str         x2,[fp,#0x38]
00000134 +Fp+38
00007ffa`4d67ea8c 12b00000 mov         w0,#-0x80000001
00007ffa`4d67ea90 6b00037f cmp         w27,w0
00007ffa`4d67ea94 54000209 bls         00007FFA4D67EAD4
00000140 -X2
00007ffa`4d67ea98 d2800500 mov         x0,#0x28 (gcstress)
00007ffa`4d67ea9c f2a97700 movk        x0,#0x4BB8,lsl #0x10 (gcstress)
00007ffa`4d67eaa0 f2cfff40 movk        x0,#0x7FFA,lsl #0x20 (gcstress)
00007ffa`4d67eaa4 5280dde1 mov         w1,#0x6EF (gcstress)
00007ffa`4d67eaa8 97957f6e bl          00007FFA4BCE2C74 (gcstress)
00007ffa`4d67eaac d284d200 mov         x0,#0x2690 (gcstress)
00007ffa`4d67eab0 f2abd400 movk        x0,#0x5EA0,lsl #0x10 (gcstress)
00007ffa`4d67eab4 f2c037c0 movk        x0,#0x1BE,lsl #0x20 (gcstress)
00007ffa`4d67eab8 c8dffc00 ldar        x0,[x0] (gcstress)
00000164 +X0
00007ffa`4d67eabc f94023a1 ldr         x1,[fp,#0x40] (gcstress)
00000168 +X1
00007ffa`4d67eac0 f9401fa2 ldr         x2,[fp,#0x38] (gcstress)
0000016c +X2
00007ffa`4d67eac4 f9400003 ldr         x3,[x0] (gcstress)
00007ffa`4d67eac8 f9402463 ldr         x3,[x3,#0x48] (gcstress)
00007ffa`4d67eacc f9401063 ldr         x3,[x3,#0x20] (gcstress)
00000178 -Fp+40 -Fp+38
00007ffa`4d67ead0 d63f0060 blr         x3 (gcstress)
0000017c -X2 -X1 -X0
00007ffa`4d67ead4 2a1403e0 mov         w0,w20
00007ffa`4d67ead8 9b007f80 mul         x0,x28,x0
00007ffa`4d67eadc d360fc00 lsr         x0,x0,#0x20
00007ffa`4d67eae0 91000400 add         x0,x0,#1
00007ffa`4d67eae4 2a1b03e1 mov         w1,w27
00007ffa`4d67eae8 9b017c00 mul         x0,x0,x1
00007ffa`4d67eaec d360fc00 lsr         x0,x0,#0x20
00007ffa`4d67eaf0 2a0003fc mov         w28,w0
00007ffa`4d67eaf4 7100037f cmp         w27,#0
00007ffa`4d67eaf8 54002d60 beq         00007FFA4D67F0A4
00007ffa`4d67eafc 1adb0a80 udiv        w0,w20,w27
00007ffa`4d67eb00 1b1b7c00 mul         w0,w0,w27
00007ffa`4d67eb04 4b000280 sub         w0,w20,w0
00007ffa`4d67eb08 6b1c001f cmp         w0,w28
00007ffa`4d67eb0c 9a9f17e0 cseteq      x0
00007ffa`4d67eb10 d2860c01 mov         x1,#0x3060
00007ffa`4d67eb14 f2abd401 movk        x1,#0x5EA0,lsl #0x10
00007ffa`4d67eb18 f2c037c1 movk        x1,#0x1BE,lsl #0x20
00007ffa`4d67eb1c f940003b ldr         x27,[x1]
000001c8 +X27
00007ffa`4d67eb20 f9001bbb str         x27,[fp,#0x30]
000001cc +Fp+30
00007ffa`4d67eb24 35000200 cbnz        w0,00007FFA4D67EB64
00007ffa`4d67eb28 d2800500 mov         x0,#0x28 (gcstress)
00007ffa`4d67eb2c f2a97700 movk        x0,#0x4BB8,lsl #0x10 (gcstress)
00007ffa`4d67eb30 f2cfff40 movk        x0,#0x7FFA,lsl #0x20 (gcstress)
00007ffa`4d67eb34 5280dde1 mov         w1,#0x6EF (gcstress)
00007ffa`4d67eb38 97957f4a bl          00007FFA4BCE2C74 (gcstress)
00007ffa`4d67eb3c d284d200 mov         x0,#0x2690 (gcstress)
00007ffa`4d67eb40 f2abd400 movk        x0,#0x5EA0,lsl #0x10 (gcstress)
00007ffa`4d67eb44 f2c037c0 movk        x0,#0x1BE,lsl #0x20 (gcstress)
00007ffa`4d67eb48 c8dffc00 ldar        x0,[x0] (gcstress)
000001f4 +X0
00007ffa`4d67eb4c f9401ba1 ldr         x1,[fp,#0x30] (gcstress)
000001f8 +X1
00007ffa`4d67eb50 aa1b03e2 mov         x2,x27 (gcstress)
000001fc +X2
00007ffa`4d67eb54 f9400003 ldr         x3,[x0] (gcstress)
00007ffa`4d67eb58 f9402463 ldr         x3,[x3,#0x48] (gcstress)
00007ffa`4d67eb5c f9401063 ldr         x3,[x3,#0x20] (gcstress)
00000208 -Fp+30
00007ffa`4d67eb60 d63f0060 blr         x3 (gcstress)
0000020c -X27 -X2 -X1 -X0
00007ffa`4d67eb64 6b1a039f cmp         w28,w26
00007ffa`4d67eb68 54002a42 bhs         00007FFA4D67F0B0
00007ffa`4d67eb6c 93407f80 sxtw        x0,w28
00007ffa`4d67eb70 d37ef400 lsl         x0,x0,#2
00007ffa`4d67eb74 91004000 add         x0,x0,#0x10
00007ffa`4d67eb78 8b0002fa add         x26,x23,x0
00000224 +X26(interior)
00007ffa`4d67eb7c b9400340 ldr         w0,[x26]
00007ffa`4d67eb80 5100041b sub         w27,w0,#1
00007ffa`4d67eb84 7100037f cmp         w27,#0
00007ffa`4d67eb88 540012cb blt         00007FFA4D67EDE0
00007ffa`4d67eb8c b9400ac0 ldr         w0,[x22,#8] (gcstress)
00007ffa`4d67eb90 2a0003f7 mov         w23,w0 (gcstress)
0000023c -X23
00007ffa`4d67eb94 6b17037f cmp         w27,w23 (gcstress)
00007ffa`4d67eb98 540028c2 bhs         00007FFA4D7834C4 (gcstress)
00007ffa`4d67eb9c 93407f60 sxtw        x0,w27 (gcstress)
00007ffa`4d67eba0 d2800061 mov         x1,#3 (gcstress)
00007ffa`4d67eba4 9b017c00 mul         x0,x0,x1 (gcstress)
00007ffa`4d67eba8 d37ef400 lsl         x0,x0,#2 (gcstress)
00007ffa`4d67ebac 91004000 add         x0,x0,#0x10 (gcstress)
00007ffa`4d67ebb0 8b0002c0 add         x0,x22,x0 (gcstress)
0000025c +X0(interior)
00007ffa`4d67ebb4 b9400001 ldr         w1,[x0] (gcstress)
00007ffa`4d67ebb8 6b14003f cmp         w1,w20 (gcstress)
00007ffa`4d67ebbc 540000a1 bne         00007FFA4D782FE4 (gcstress)
00007ffa`4d67ebc0 b9400801 ldr         w1,[x0,#8] (gcstress)
00007ffa`4d67ebc4 6b19003f cmp         w1,w25 (gcstress)
00007ffa`4d67ebc8 9a9f17e1 cseteq      x1 (gcstress)
00007ffa`4d67ebcc 35000101 cbnz        w1,00007FFA4D783000 (gcstress)
00007ffa`4d67ebd0 b940041b ldr         w27,[x0,#4] (gcstress)
00007ffa`4d67ebd4 11000718 add         w24,w24,#1 (gcstress)
00007ffa`4d67ebd8 6b1802ff cmp         w23,w24 (gcstress)
00007ffa`4d67ebdc 54002663 blo         00007FFA4D7834BC (gcstress)
00000288 -X0(interior)
00007ffa`4d67ebe0 7100037f cmp         w27,#0 (gcstress)
00007ffa`4d67ebe4 54fffd8a bge         00007FFA4D782FA8 (gcstress)
00007ffa`4d67ebe8 1400007e b           00007FFA4D7831F4 (gcstress)
00000294 -X22 -X19 -X26(interior)
00007ffa`4d67ebec b90002bb str         w27,[x21] (gcstress)
00007ffa`4d67ebf0 52800000 mov         w0,#0 (gcstress)
0000029c not interruptible
0000029c -X21(interior)
00007ffa`4d67ebf4 a94a73fb ldp         x27,x28,[sp,#0xA0]
00007ffa`4d67ebf8 a9496bf9 ldp         x25,x26,[sp,#0x90]
00007ffa`4d67ebfc a94863f7 ldp         x23,x24,[sp,#0x80]
00007ffa`4d67ec00 a9475bf5 ldp         x21,x22,[sp,#0x70]
00007ffa`4d67ec04 a94653f3 ldp         x19,x20,[sp,#0x60]
00007ffa`4d67ec08 a8cb7bfd ldp         fp,lr,[sp],#0xB0
00007ffa`4d67ec0c d65f03c0 ret
000002b8 interruptible
000002b8 +X23 +X22 +X19 +X21(interior)
00007ffa`4d67ec10 aa1703e0 mov         x0,x23 (gcstress)
000002bc +X0
00007ffa`4d67ec14 2a1403e1 mov         w1,w20 (gcstress)
00007ffa`4d67ec18 d2872a0b mov         x11,#0x3950 (gcstress)
00007ffa`4d67ec1c f2a974ab movk        x11,#0x4BA5,lsl #0x10 (gcstress)
00007ffa`4d67ec20 f2cfff4b movk        x11,#0x7FFA,lsl #0x20 (gcstress)
00007ffa`4d67ec24 f9400162 ldr         x2,[x11] (gcstress)
00007ffa`4d67ec28 d63f0040 blr         x2 (gcstress)
000002d4 -X0
00007ffa`4d67ec2c 2a0003f9 mov         w25,w0 (gcstress)
00007ffa`4d67ec30 f940067a ldr         x26,[x19,#8] (gcstress)
000002dc +X26
00007ffa`4d67ec34 b9400b5b ldr         w27,[x26,#8] (gcstress)
00007ffa`4d67ec38 2a1b03fc mov         w28,w27 (gcstress)
00007ffa`4d67ec3c f9401662 ldr         x2,[x19,#0x28] (gcstress)
00007ffa`4d67ec40 f9002fa2 str         x2,[fp,#0x58] (gcstress)
00007ffa`4d67ec44 d2860c00 mov         x0,#0x3060 (gcstress)
00007ffa`4d67ec48 f2abd400 movk        x0,#0x5EA0,lsl #0x10 (gcstress)
00007ffa`4d67ec4c f2c037c0 movk        x0,#0x1BE,lsl #0x20 (gcstress)
00007ffa`4d67ec50 f9400003 ldr         x3,[x0] (gcstress)
000002fc +X3
00007ffa`4d67ec54 f90017a3 str         x3,[fp,#0x28] (gcstress)
00000300 +Fp+28
00007ffa`4d67ec58 f90013a3 str         x3,[fp,#0x20] (gcstress)
00000304 +Fp+20
00007ffa`4d67ec5c 12b00000 mov         w0,#-0x80000001 (gcstress)
00007ffa`4d67ec60 6b00039f cmp         w28,w0 (gcstress)
00007ffa`4d67ec64 54000209 bls         00007FFA4D7830B8 (gcstress)
00000310 -X3
00007ffa`4d67ec68 d2800500 mov         x0,#0x28 (gcstress)
00007ffa`4d67ec6c f2a97700 movk        x0,#0x4BB8,lsl #0x10 (gcstress)
00007ffa`4d67ec70 f2cfff40 movk        x0,#0x7FFA,lsl #0x20 (gcstress)
00007ffa`4d67ec74 5280dde1 mov         w1,#0x6EF (gcstress)
00007ffa`4d67ec78 97957efa bl          00007FFA4BCE2C74 (gcstress)
00007ffa`4d67ec7c d284d200 mov         x0,#0x2690 (gcstress)
00007ffa`4d67ec80 f2abd400 movk        x0,#0x5EA0,lsl #0x10 (gcstress)
00007ffa`4d67ec84 f2c037c0 movk        x0,#0x1BE,lsl #0x20 (gcstress)
00007ffa`4d67ec88 c8dffc00 ldar        x0,[x0] (gcstress)
00000334 +X0
00007ffa`4d67ec8c f94017a1 ldr         x1,[fp,#0x28] (gcstress)
00000338 +X1
00007ffa`4d67ec90 f94013a2 ldr         x2,[fp,#0x20] (gcstress)
0000033c +X2
00007ffa`4d67ec94 f9400003 ldr         x3,[x0] (gcstress)
00007ffa`4d67ec98 f9402463 ldr         x3,[x3,#0x48] (gcstress)
00007ffa`4d67ec9c f9401063 ldr         x3,[x3,#0x20] (gcstress)
00000348 -Fp+28 -Fp+20
00007ffa`4d67eca0 d63f0060 blr         x3 (gcstress)
0000034c -X2 -X1 -X0
00007ffa`4d67eca4 2a1903e0 mov         w0,w25 (gcstress)
00007ffa`4d67eca8 f9402fa2 ldr         x2,[fp,#0x58] (gcstress)
00007ffa`4d67ecac 9b007c40 mul         x0,x2,x0 (gcstress)
00007ffa`4d67ecb0 d360fc00 lsr         x0,x0,#0x20 (gcstress)
00007ffa`4d67ecb4 91000400 add         x0,x0,#1 (gcstress)
00007ffa`4d67ecb8 2a1c03e1 mov         w1,w28 (gcstress)
00007ffa`4d67ecbc 9b017c00 mul         x0,x0,x1 (gcstress)
00007ffa`4d67ecc0 d360fc00 lsr         x0,x0,#0x20 (gcstress)
00007ffa`4d67ecc4 2a0003e2 mov         w2,w0 (gcstress)
00007ffa`4d67ecc8 7100039f cmp         w28,#0 (gcstress)
00007ffa`4d67eccc 54001ec0 beq         00007FFA4D7834B8 (gcstress)
00007ffa`4d67ecd0 1adc0b20 udiv        w0,w25,w28 (gcstress)
00007ffa`4d67ecd4 1b1c7c00 mul         w0,w0,w28 (gcstress)
00007ffa`4d67ecd8 4b000320 sub         w0,w25,w0 (gcstress)
00007ffa`4d67ecdc b90057a2 str         w2,[fp,#0x54] (gcstress)
00007ffa`4d67ece0 6b02001f cmp         w0,w2 (gcstress)
00007ffa`4d67ece4 9a9f17e0 cseteq      x0 (gcstress)
00007ffa`4d67ece8 d2860c01 mov         x1,#0x3060 (gcstress)
00007ffa`4d67ecec f2abd401 movk        x1,#0x5EA0,lsl #0x10 (gcstress)
00007ffa`4d67ecf0 f2c037c1 movk        x1,#0x1BE,lsl #0x20 (gcstress)
00007ffa`4d67ecf4 f940003c ldr         x28,[x1] (gcstress)
000003a0 +X28
00007ffa`4d67ecf8 f9000fbc str         x28,[fp,#0x18] (gcstress)
000003a4 +Fp+18
00007ffa`4d67ecfc 35000200 cbnz        w0,00007FFA4D783150 (gcstress)
00007ffa`4d67ed00 d2800500 mov         x0,#0x28 (gcstress)
00007ffa`4d67ed04 f2a97700 movk        x0,#0x4BB8,lsl #0x10 (gcstress)
00007ffa`4d67ed08 f2cfff40 movk        x0,#0x7FFA,lsl #0x20 (gcstress)
00007ffa`4d67ed0c 5280dde1 mov         w1,#0x6EF (gcstress)
00007ffa`4d67ed10 97957ed4 bl          00007FFA4BCE2C74 (gcstress)
00007ffa`4d67ed14 d284d200 mov         x0,#0x2690 (gcstress)
00007ffa`4d67ed18 f2abd400 movk        x0,#0x5EA0,lsl #0x10 (gcstress)
00007ffa`4d67ed1c f2c037c0 movk        x0,#0x1BE,lsl #0x20 (gcstress)
00007ffa`4d67ed20 c8dffc00 ldar        x0,[x0] (gcstress)
000003cc +X0
00007ffa`4d67ed24 f9400fa1 ldr         x1,[fp,#0x18] (gcstress)
000003d0 +X1
00007ffa`4d67ed28 aa1c03e2 mov         x2,x28 (gcstress)
000003d4 +X2
00007ffa`4d67ed2c f9400003 ldr         x3,[x0] (gcstress)
00007ffa`4d67ed30 f9402463 ldr         x3,[x3,#0x48] (gcstress)
00007ffa`4d67ed34 f9401063 ldr         x3,[x3,#0x20] (gcstress)
000003e0 -Fp+18
00007ffa`4d67ed38 d63f0060 blr         x3 (gcstress)
000003e4 -X28 -X2 -X1 -X0
00007ffa`4d67ed3c b94057a2 ldr         w2,[fp,#0x54] (gcstress)
00007ffa`4d67ed40 6b1b005f cmp         w2,w27 (gcstress)
00007ffa`4d67ed44 54001b62 bhs         00007FFA4D7834C4 (gcstress)
00007ffa`4d67ed48 93407c40 sxtw        x0,w2 (gcstress)
00007ffa`4d67ed4c d37ef400 lsl         x0,x0,#2 (gcstress)
00007ffa`4d67ed50 91004000 add         x0,x0,#0x10 (gcstress)
00007ffa`4d67ed54 8b00035a add         x26,x26,x0 (gcstress)
00000400 -X26 +X26(interior)
00007ffa`4d67ed58 b9400340 ldr         w0,[x26] (gcstress)
00007ffa`4d67ed5c 5100041c sub         w28,w0,#1 (gcstress)
00007ffa`4d67ed60 7100039f cmp         w28,#0 (gcstress)
00007ffa`4d67ed64 540003eb blt         00007FFA4D7831F4 (gcstress)
00007ffa`4d67ed68 b9400ac1 ldr         w1,[x22,#8] (gcstress)
00007ffa`4d67ed6c 2a0103fb mov         w27,w1 (gcstress)
00007ffa`4d67ed70 6b1b039f cmp         w28,w27 (gcstress)
00007ffa`4d67ed74 540019e2 bhs         00007FFA4D7834C4 (gcstress)
00007ffa`4d67ed78 93407f81 sxtw        x1,w28 (gcstress)
00007ffa`4d67ed7c d2800060 mov         x0,#3 (gcstress)
00007ffa`4d67ed80 9b007c21 mul         x1,x1,x0 (gcstress)
00007ffa`4d67ed84 d37ef421 lsl         x1,x1,#2 (gcstress)
00007ffa`4d67ed88 91004021 add         x1,x1,#0x10 (gcstress)
00007ffa`4d67ed8c 8b0102c3 add         x3,x22,x1 (gcstress)
00000438 +X3(interior)
00007ffa`4d67ed90 b9400061 ldr         w1,[x3] (gcstress)
00007ffa`4d67ed94 6b19003f cmp         w1,w25 (gcstress)
00007ffa`4d67ed98 54000181 bne         00007FFA4D7831DC (gcstress)
00007ffa`4d67ed9c f90027a3 str         x3,[fp,#0x48] (gcstress)
00000448 +Fp+48(interior)
00007ffa`4d67eda0 b9400861 ldr         w1,[x3,#8] (gcstress)
00007ffa`4d67eda4 aa1703e0 mov         x0,x23 (gcstress)
00000450 +X0
00007ffa`4d67eda8 2a1403e2 mov         w2,w20 (gcstress)
00007ffa`4d67edac d2872b0b mov         x11,#0x3958 (gcstress)
00007ffa`4d67edb0 f2a974ab movk        x11,#0x4BA5,lsl #0x10 (gcstress)
00007ffa`4d67edb4 f2cfff4b movk        x11,#0x7FFA,lsl #0x20 (gcstress)
00007ffa`4d67edb8 f9400164 ldr         x4,[x11] (gcstress)
00007ffa`4d67edbc d63f0080 blr         x4 (gcstress)
00000468 -X0 -X3(interior)
00007ffa`4d67edc0 f94027a3 ldr         x3,[fp,#0x48] (gcstress)
0000046c +X3(interior)
00007ffa`4d67edc4 35000820 cbnz        w0,00007FFA4D7832DC (gcstress)
00000470 -Fp+48(interior)
00007ffa`4d67edc8 b940047c ldr         w28,[x3,#4] (gcstress)
00007ffa`4d67edcc 11000718 add         w24,w24,#1 (gcstress)
00007ffa`4d67edd0 6b18037f cmp         w27,w24 (gcstress)
00007ffa`4d67edd4 540016a3 blo         00007FFA4D7834BC (gcstress)
00000480 -X3(interior)
00007ffa`4d67edd8 7100039f cmp         w28,#0 (gcstress)
00007ffa`4d67eddc 54fffcaa bge         00007FFA4D783184 (gcstress)
00000488 -X23
00007ffa`4d67ede0 b9403a60 ldr         w0,[x19,#0x38]
00007ffa`4d67ede4 7100001f cmp         w0,#0
00007ffa`4d67ede8 5400082d ble         00007FFA4D67EEEC
00007ffa`4d67edec b9403661 ldr         w1,[x19,#0x34] (gcstress)
00007ffa`4d67edf0 2a0103f8 mov         w24,w1 (gcstress)
00007ffa`4d67edf4 51000400 sub         w0,w0,#1 (gcstress)
00007ffa`4d67edf8 b9003a60 str         w0,[x19,#0x38] (gcstress)
00007ffa`4d67edfc b9400adb ldr         w27,[x22,#8] (gcstress)
00007ffa`4d67ee00 6b1b003f cmp         w1,w27 (gcstress)
00007ffa`4d67ee04 54001562 bhs         00007FFA4D7834C4 (gcstress)
00007ffa`4d67ee08 93407c20 sxtw        x0,w1 (gcstress)
00007ffa`4d67ee0c d2800061 mov         x1,#3 (gcstress)
00007ffa`4d67ee10 9b017c00 mul         x0,x0,x1 (gcstress)
00007ffa`4d67ee14 d37ef400 lsl         x0,x0,#2 (gcstress)
00007ffa`4d67ee18 91004000 add         x0,x0,#0x10 (gcstress)
00007ffa`4d67ee1c 8b0002c0 add         x0,x22,x0 (gcstress)
000004c8 +X0(interior)
00007ffa`4d67ee20 b9400400 ldr         w0,[x0,#4] (gcstress)
000004cc -X0(interior)
00007ffa`4d67ee24 4b0003e0 neg         w0,w0 (gcstress)
00007ffa`4d67ee28 51000c00 sub         w0,w0,#3 (gcstress)
00007ffa`4d67ee2c 3100041f cmn         w0,#1 (gcstress)
00007ffa`4d67ee30 9a9fb7e0 csetge      x0 (gcstress)
00007ffa`4d67ee34 d2860c01 mov         x1,#0x3060 (gcstress)
00007ffa`4d67ee38 f2abd401 movk        x1,#0x5EA0,lsl #0x10 (gcstress)
00007ffa`4d67ee3c f2c037c1 movk        x1,#0x1BE,lsl #0x20 (gcstress)
00007ffa`4d67ee40 f9400037 ldr         x23,[x1] (gcstress)
000004ec +X23
00007ffa`4d67ee44 35000260 cbnz        w0,00007FFA4D7832A4 (gcstress)
00007ffa`4d67ee48 d2800500 mov         x0,#0x28 (gcstress)
00007ffa`4d67ee4c f2a97700 movk        x0,#0x4BB8,lsl #0x10 (gcstress)
00007ffa`4d67ee50 f2cfff40 movk        x0,#0x7FFA,lsl #0x20 (gcstress)
00007ffa`4d67ee54 5280dde1 mov         w1,#0x6EF (gcstress)
00007ffa`4d67ee58 97957e82 bl          00007FFA4BCE2C74 (gcstress)
00007ffa`4d67ee5c d284d200 mov         x0,#0x2690 (gcstress)
00007ffa`4d67ee60 f2abd400 movk        x0,#0x5EA0,lsl #0x10 (gcstress)
00007ffa`4d67ee64 f2c037c0 movk        x0,#0x1BE,lsl #0x20 (gcstress)
00007ffa`4d67ee68 c8dffc00 ldar        x0,[x0] (gcstress)
00000514 +X0
00007ffa`4d67ee6c d2860f01 mov         x1,#0x3078 (gcstress)
00007ffa`4d67ee70 f2abd401 movk        x1,#0x5EA0,lsl #0x10 (gcstress)
00007ffa`4d67ee74 f2c037c1 movk        x1,#0x1BE,lsl #0x20 (gcstress)
00007ffa`4d67ee78 f9400021 ldr         x1,[x1] (gcstress)
00000524 +X1
00007ffa`4d67ee7c aa1703e2 mov         x2,x23 (gcstress)
00000528 +X2
00007ffa`4d67ee80 f9400003 ldr         x3,[x0] (gcstress)
00007ffa`4d67ee84 f9402463 ldr         x3,[x3,#0x48] (gcstress)
00007ffa`4d67ee88 f9401063 ldr         x3,[x3,#0x20] (gcstress)
00007ffa`4d67ee8c d63f0060 blr         x3 (gcstress)
00000538 -X23 -X2 -X1 -X0
00007ffa`4d67ee90 b9403660 ldr         w0,[x19,#0x34] (gcstress)
00007ffa`4d67ee94 6b1b001f cmp         w0,w27 (gcstress)
00007ffa`4d67ee98 540010c2 bhs         00007FFA4D7834C4 (gcstress)
00007ffa`4d67ee9c 93407c00 sxtw        x0,w0 (gcstress)
00007ffa`4d67eea0 d2800061 mov         x1,#3 (gcstress)
00007ffa`4d67eea4 9b017c00 mul         x0,x0,x1 (gcstress)
00007ffa`4d67eea8 d37ef400 lsl         x0,x0,#2 (gcstress)
00007ffa`4d67eeac 91004000 add         x0,x0,#0x10 (gcstress)
00007ffa`4d67eeb0 8b0002c0 add         x0,x22,x0 (gcstress)
0000055c +X0(interior)
00007ffa`4d67eeb4 b9400400 ldr         w0,[x0,#4] (gcstress)
00000560 -X0(interior)
00007ffa`4d67eeb8 4b0003e0 neg         w0,w0 (gcstress)
00007ffa`4d67eebc 51000c00 sub         w0,w0,#3 (gcstress)
00007ffa`4d67eec0 b9003660 str         w0,[x19,#0x34] (gcstress)
00007ffa`4d67eec4 1400005c b           00007FFA4D783448 (gcstress)
00000570 -X22 -X19 -X26(interior)
00007ffa`4d67eec8 b90002bc str         w28,[x21] (gcstress)
00007ffa`4d67eecc 52800000 mov         w0,#0 (gcstress)
00000578 not interruptible
00000578 -X21(interior)
00007ffa`4d67eed0 a94a73fb ldp         x27,x28,[sp,#0xA0]
00007ffa`4d67eed4 a9496bf9 ldp         x25,x26,[sp,#0x90]
00007ffa`4d67eed8 a94863f7 ldp         x23,x24,[sp,#0x80]
00007ffa`4d67eedc a9475bf5 ldp         x21,x22,[sp,#0x70]
00007ffa`4d67eee0 a94653f3 ldp         x19,x20,[sp,#0x60]
00007ffa`4d67eee4 a8cb7bfd ldp         fp,lr,[sp],#0xB0
00007ffa`4d67eee8 d65f03c0 ret
00000594 interruptible
00000594 +X22 +X19 +X26(interior) +X21(interior)
00007ffa`4d67eeec b9403260 ldr         w0,[x19,#0x30]
00007ffa`4d67eef0 2a0003f8 mov         w24,w0
00007ffa`4d67eef4 b9400adb ldr         w27,[x22,#8]
00007ffa`4d67eef8 6b18037f cmp         w27,w24
00007ffa`4d67eefc 54000961 bne         00007FFA4D67F028
00007ffa`4d67ef00 9795b3b2 bl          00007FFA4BCF01DC (gcstress)
000005ac -X22 -X26(interior)
00007ffa`4d67ef04 2a0003e1 mov         w1,w0 (gcstress)
00007ffa`4d67ef08 aa1303e0 mov         x0,x19 (gcstress)
000005b4 +X0
00007ffa`4d67ef0c 52800002 mov         w2,#0 (gcstress)
00007ffa`4d67ef10 97ffdf18 bl          00007FFA4D77AF84 (gcstress)
000005bc -X0
00007ffa`4d67ef14 f940067a ldr         x26,[x19,#8] (gcstress)
000005c0 +X26
00007ffa`4d67ef18 b9400b56 ldr         w22,[x26,#8] (gcstress)
00007ffa`4d67ef1c 2a1603fb mov         w27,w22 (gcstress)
00007ffa`4d67ef20 f940167c ldr         x28,[x19,#0x28] (gcstress)
00007ffa`4d67ef24 d2860c00 mov         x0,#0x3060 (gcstress)
00007ffa`4d67ef28 f2abd400 movk        x0,#0x5EA0,lsl #0x10 (gcstress)
00007ffa`4d67ef2c f2c037c0 movk        x0,#0x1BE,lsl #0x20 (gcstress)
00007ffa`4d67ef30 f9400017 ldr         x23,[x0] (gcstress)
000005dc +X23
00007ffa`4d67ef34 f9000bb7 str         x23,[fp,#0x10] (gcstress)
000005e0 +Fp+10
00007ffa`4d67ef38 12b00000 mov         w0,#-0x80000001 (gcstress)
00007ffa`4d67ef3c 6b00037f cmp         w27,w0 (gcstress)
00007ffa`4d67ef40 54000209 bls         00007FFA4D783394 (gcstress)
00007ffa`4d67ef44 d2800500 mov         x0,#0x28 (gcstress)
00007ffa`4d67ef48 f2a97700 movk        x0,#0x4BB8,lsl #0x10 (gcstress)
00007ffa`4d67ef4c f2cfff40 movk        x0,#0x7FFA,lsl #0x20 (gcstress)
00007ffa`4d67ef50 5280dde1 mov         w1,#0x6EF (gcstress)
00007ffa`4d67ef54 97957e43 bl          00007FFA4BCE2C74 (gcstress)
00007ffa`4d67ef58 d284d200 mov         x0,#0x2690 (gcstress)
00007ffa`4d67ef5c f2abd400 movk        x0,#0x5EA0,lsl #0x10 (gcstress)
00007ffa`4d67ef60 f2c037c0 movk        x0,#0x1BE,lsl #0x20 (gcstress)
00007ffa`4d67ef64 c8dffc00 ldar        x0,[x0] (gcstress)
00000610 +X0
00007ffa`4d67ef68 f9400ba1 ldr         x1,[fp,#0x10] (gcstress)
00000614 +X1
00007ffa`4d67ef6c aa1703e2 mov         x2,x23 (gcstress)
00000618 +X2
00007ffa`4d67ef70 f9400003 ldr         x3,[x0] (gcstress)
00007ffa`4d67ef74 f9402463 ldr         x3,[x3,#0x48] (gcstress)
00007ffa`4d67ef78 f9401063 ldr         x3,[x3,#0x20] (gcstress)
00000624 -Fp+10
00007ffa`4d67ef7c d63f0060 blr         x3 (gcstress)
00000628 -X23 -X2 -X1 -X0
00007ffa`4d67ef80 2a1903e0 mov         w0,w25 (gcstress)
00007ffa`4d67ef84 9b007f80 mul         x0,x28,x0 (gcstress)
00007ffa`4d67ef88 d360fc00 lsr         x0,x0,#0x20 (gcstress)
00007ffa`4d67ef8c 91000400 add         x0,x0,#1 (gcstress)
00007ffa`4d67ef90 2a1b03e1 mov         w1,w27 (gcstress)
00007ffa`4d67ef94 9b017c00 mul         x0,x0,x1 (gcstress)
00007ffa`4d67ef98 d360fc00 lsr         x0,x0,#0x20 (gcstress)
00007ffa`4d67ef9c 2a0003f7 mov         w23,w0 (gcstress)
00007ffa`4d67efa0 7100037f cmp         w27,#0 (gcstress)
00007ffa`4d67efa4 54000800 beq         00007FFA4D7834B8 (gcstress)
00007ffa`4d67efa8 1adb0b20 udiv        w0,w25,w27 (gcstress)
00007ffa`4d67efac 1b1b7c00 mul         w0,w0,w27 (gcstress)
00007ffa`4d67efb0 4b000320 sub         w0,w25,w0 (gcstress)
00007ffa`4d67efb4 6b17001f cmp         w0,w23 (gcstress)
00007ffa`4d67efb8 9a9f17e0 cseteq      x0 (gcstress)
00007ffa`4d67efbc d2860c01 mov         x1,#0x3060 (gcstress)
00007ffa`4d67efc0 f2abd401 movk        x1,#0x5EA0,lsl #0x10 (gcstress)
00007ffa`4d67efc4 f2c037c1 movk        x1,#0x1BE,lsl #0x20 (gcstress)
00007ffa`4d67efc8 f940003b ldr         x27,[x1] (gcstress)
00000674 +X27
00007ffa`4d67efcc aa1b03fc mov         x28,x27 (gcstress)
00000678 +X28
00007ffa`4d67efd0 35000200 cbnz        w0,00007FFA4D783424 (gcstress)
00007ffa`4d67efd4 d2800500 mov         x0,#0x28 (gcstress)
00007ffa`4d67efd8 f2a97700 movk        x0,#0x4BB8,lsl #0x10 (gcstress)
00007ffa`4d67efdc f2cfff40 movk        x0,#0x7FFA,lsl #0x20 (gcstress)
00007ffa`4d67efe0 5280dde1 mov         w1,#0x6EF (gcstress)
00007ffa`4d67efe4 97957e1f bl          00007FFA4BCE2C74 (gcstress)
00007ffa`4d67efe8 d284d200 mov         x0,#0x2690 (gcstress)
00007ffa`4d67efec f2abd400 movk        x0,#0x5EA0,lsl #0x10 (gcstress)
00007ffa`4d67eff0 f2c037c0 movk        x0,#0x1BE,lsl #0x20 (gcstress)
00007ffa`4d67eff4 c8dffc00 ldar        x0,[x0] (gcstress)
000006a0 +X0
00007ffa`4d67eff8 aa1c03e1 mov         x1,x28 (gcstress)
000006a4 +X1
00007ffa`4d67effc aa1b03e2 mov         x2,x27 (gcstress)
000006a8 +X2
00007ffa`4d67f000 f9400003 ldr         x3,[x0] (gcstress)
00007ffa`4d67f004 f9402463 ldr         x3,[x3,#0x48] (gcstress)
00007ffa`4d67f008 f9401063 ldr         x3,[x3,#0x20] (gcstress)
00007ffa`4d67f00c d63f0060 blr         x3 (gcstress)
000006b8 -X28 -X27 -X2 -X1 -X0
00007ffa`4d67f010 6b1602ff cmp         w23,w22 (gcstress)
00007ffa`4d67f014 540004e2 bhs         00007FFA4D7834C4 (gcstress)
00007ffa`4d67f018 93407ee0 sxtw        x0,w23 (gcstress)
00007ffa`4d67f01c d37ef400 lsl         x0,x0,#2 (gcstress)
00007ffa`4d67f020 91004000 add         x0,x0,#0x10 (gcstress)
00007ffa`4d67f024 8b00035a add         x26,x26,x0 (gcstress)
000006d0 -X26 +X26(interior)
00007ffa`4d67f028 11000700 add         w0,w24,#1
00007ffa`4d67f02c b9003260 str         w0,[x19,#0x30]
00007ffa`4d67f030 f9400a76 ldr         x22,[x19,#0x10]
000006dc +X22
00007ffa`4d67f034 b9400ac0 ldr         w0,[x22,#8]
00007ffa`4d67f038 6b00031f cmp         w24,w0
00007ffa`4d67f03c 540003a2 bhs         00007FFA4D67F0B0
00007ffa`4d67f040 93407f00 sxtw        x0,w24
00007ffa`4d67f044 d2800061 mov         x1,#3
00007ffa`4d67f048 9b017c00 mul         x0,x0,x1
00007ffa`4d67f04c d37ef400 lsl         x0,x0,#2
00007ffa`4d67f050 91004000 add         x0,x0,#0x10
00007ffa`4d67f054 8b0002c0 add         x0,x22,x0
00000700 +X0(interior)
>>> 00007ffa`4d67f058 b9000019 str         w25,[x0]
00007ffa`4d67f05c b9400341 ldr         w1,[x26] (gcstress)
00007ffa`4d67f060 51000421 sub         w1,w1,#1 (gcstress)
00007ffa`4d67f064 b9000401 str         w1,[x0,#4] (gcstress)
00007ffa`4d67f068 b9000814 str         w20,[x0,#8] (gcstress)
00007ffa`4d67f06c 11000700 add         w0,w24,#1 (gcstress)
00000718 -X0(interior)
00007ffa`4d67f070 b9000340 str         w0,[x26] (gcstress)
00007ffa`4d67f074 b9403e60 ldr         w0,[x19,#0x3C] (gcstress)
00007ffa`4d67f078 11000400 add         w0,w0,#1 (gcstress)
00007ffa`4d67f07c b9003e60 str         w0,[x19,#0x3C] (gcstress)
00007ffa`4d67f080 b90002b8 str         w24,[x21] (gcstress)
00007ffa`4d67f084 52800020 mov         w0,#1 (gcstress)
00000730 not interruptible
00000730 -X22 -X19 -X26(interior) -X21(interior)
00007ffa`4d67f088 a94a73fb ldp         x27,x28,[sp,#0xA0]
00007ffa`4d67f08c a9496bf9 ldp         x25,x26,[sp,#0x90]
00007ffa`4d67f090 a94863f7 ldp         x23,x24,[sp,#0x80]
00007ffa`4d67f094 a9475bf5 ldp         x21,x22,[sp,#0x70]
00007ffa`4d67f098 a94653f3 ldp         x19,x20,[sp,#0x60]
00007ffa`4d67f09c a8cb7bfd ldp         fp,lr,[sp],#0xB0
00007ffa`4d67f0a0 d65f03c0 ret
0000074c interruptible
00007ffa`4d67f0a4 97957df7 bl          00007FFA4BCE2C94 (gcstress)
00007ffa`4d67f0a8 9796bec8 bl          00007FFA4BD32FDC (gcstress)
00007ffa`4d67f0ac d43e0000 brk         #0xF000 (gcstress)
00007ffa`4d67f0b0 97957de8 bl          00007FFA4BCE2C64 (gcstress)
00007ffa`4d67f0b4 d43e0000 brk         #0xF000 (gcstress)
00000760 not interruptible

category:correctness
theme:testing
skill-level:expert
cost:medium

@BruceForstall BruceForstall added arch-arm64 os-windows JitStress CLR JIT issues involving JIT internal stress modes area-CodeGen-coreclr CLR JIT compiler in src/coreclr/src/jit and related components such as SuperPMI labels Jul 16, 2020
@BruceForstall BruceForstall added this to the 5.0.0 milestone Jul 16, 2020
@Dotnet-GitSync-Bot Dotnet-GitSync-Bot added the untriaged New issue has not been triaged by the area owner label Jul 16, 2020
@BruceForstall BruceForstall removed the untriaged New issue has not been triaged by the area owner label Jul 16, 2020
BruceForstall added a commit to BruceForstall/runtime that referenced this issue Jul 16, 2020
@erozenfeld
Copy link
Member

I ran this test in a loop for many iterations but wasn't able to repro the failure with recent sources. I will re-enable the test.

erozenfeld added a commit to erozenfeld/runtime that referenced this issue Aug 14, 2020
Improve validation of tail calls that are not tail-prefixed in the IL
but are marked as such because of TailCallStress. We now do the same
correctness validation in morph for such tail calls as we do for
implicit tail calls. That blocks tail calls when we have address-taken
locals, struct promoted params, and pinned vars.

Fixes dotnet#39398.
Fixes dotnet#39309.
Fixes dotnet#38892.
Fixes dotnet#38889.
Fixes dotnet#38887.
Fixes dotnet#37117.
Fixes dotnet#8017.
erozenfeld added a commit that referenced this issue Aug 15, 2020
Improve validation of tail calls that are not tail-prefixed in the IL
but are marked as such because of TailCallStress. We now do the same
correctness validation in morph for such tail calls as we do for
implicit tail calls. That blocks tail calls when we have address-taken
locals, struct promoted params, and pinned vars.

Fixes #39398.
Fixes #39309.
Fixes #38892.
Fixes #38889.
Fixes #38887.
Fixes #37117.
Fixes #8017.
@ghost ghost locked as resolved and limited conversation to collaborators Dec 8, 2020
ViktorHofer pushed a commit to dotnet/winforms that referenced this issue Dec 5, 2022
Improve validation of tail calls that are not tail-prefixed in the IL
but are marked as such because of TailCallStress. We now do the same
correctness validation in morph for such tail calls as we do for
implicit tail calls. That blocks tail calls when we have address-taken
locals, struct promoted params, and pinned vars.

Fixes dotnet/runtime#39398.
Fixes dotnet/runtime#39309.
Fixes dotnet/runtime#38892.
Fixes dotnet/runtime#38889.
Fixes dotnet/runtime#38887.
Fixes dotnet/runtime#37117.
Fixes dotnet/runtime#8017.

Commit migrated from dotnet/runtime@7742b57
Sign up for free to subscribe to this conversation on GitHub. Already have an account? Sign in.
Labels
arch-arm64 area-CodeGen-coreclr CLR JIT compiler in src/coreclr/src/jit and related components such as SuperPMI JitStress CLR JIT issues involving JIT internal stress modes os-windows
Projects
None yet
Development

Successfully merging a pull request may close this issue.

3 participants