-
Notifications
You must be signed in to change notification settings - Fork 4.9k
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
JIT assert on arm64 when running DllImportGenerator tests: op2->TypeIs(TYP_LONG) #60624
Comments
Tagging subscribers to this area: @JulieLeeMSFT Issue Details
also seen in some PGO testing I did.
|
Possibly easier reproduction: @@ -4626,6 +4626,12 @@ void Lowering::ContainCheckMul(GenTreeOp* node)
assert(node->OperIs(GT_MUL, GT_MULHI));
#endif
+ if (node->OperIs(GT_MUL) && node->TypeIs(TYP_LONG))
+ {
+ assert(node->gtGetOp1()->TypeIs(TYP_LONG));
+ assert(node->gtGetOp2()->TypeIs(TYP_LONG));
+ }
+ Run SPMI on Windows x64 and see the following trees running around... [000251] ---------U-- >>> * MUL long
[000250] ------------ +--* RSZ int
[000020] ------------ | +--* LCL_VAR int V04 loc0 u:2 <l:$249, c:$248>
[000249] -c---------- | \--* CNS_INT int 2
[000021] -------N---- \--* CNS_INT long 0x396B207F $48 Edit: or not, this appears to be a different issue. |
This assertion failed the
|
Latest repro in my targeted CG2 testing: Compiling framework using Crossgen2: "/Users/runner/work/1/s/dotnet.sh" "/Users/runner/work/1/s/artifacts/tests/coreclr/OSX.arm64.Checked/Tests/Core_Root/R2RTest/R2RTest.dll" compile-framework -cr "/Users/runner/work/1/s/artifacts/tests/coreclr/OSX.arm64.Checked/Tests/Core_Root" --output-directory "/Users/runner/work/1/s/artifacts/tests/coreclr/obj/OSX.arm64.Checked/crossgen.out" --release --nocleanup --target-arch arm64 -dop 4 -m "/Users/runner/work/1/s/artifacts/tests/coreclr/OSX.arm64.Checked/Tests/Core_Root/StandardOptimizationData.mibc" --composite --verify-type-and-field-layout --crossgen2-path "/Users/runner/work/1/s/artifacts/bin/coreclr/OSX.arm64.Checked/x64/crossgen2/crossgen2.dll" Using dotnet: /Users/runner/work/1/s/.dotnet/dotnet 1 / 1 (0%, 0 failed): launching: /Users/runner/work/1/s/.dotnet/dotnet /Users/runner/work/1/s/artifacts/bin/coreclr/OSX.arm64.Checked/x64/crossgen2/crossgen2.dll @/Users/runner/work/1/s/artifacts/tests/coreclr/obj/OSX.arm64.Checked/crossgen.out/framework-r2r.dll.rsp 1 / 1 (100%, 1 failed): failed in 114584 msecs, exit code 133, expected 0: dotnet /Users/runner/work/1/s/artifacts/bin/coreclr/OSX.arm64.Checked/x64/crossgen2/crossgen2.dll @/Users/runner/work/1/s/artifacts/tests/coreclr/obj/OSX.arm64.Checked/crossgen.out/framework-r2r.dll.rsp /Users/runner/work/1/s/src/coreclr/jit/gentree.cpp:2257 Assertion failed 'op2->TypeIs(TYP_LONG)' in 'System.Collections.Generic.ArraySortHelper`1:InsertionSort(System.Span`1[Microsoft.Diagnostics.Tracing.CLRRuntimeActivityComputer+StartStopThreadEventData],System.Comparison`1[Microsoft.Diagnostics.Tracing.CLRRuntimeActivityComputer+StartStopThreadEventData])' during 'Lowering nodeinfo' (IL size 116) |
Looks like it is failing since this change 220b746#diff-fba867eda1c745875748370c59da2195c3823b85a17d199444068d93f91c749bR2473-R2476 |
As I note above, the assert means something is creating invalid IR, I think we should fix that place instead. It seems we have a CG2 reproduction now, so let me take a closer look. |
https://dev.azure.com/dnceng/public/_build/results?buildId=1429275&view=ms.vss-test-web.build-test-results-tab
also seen in some PGO testing I did.
The text was updated successfully, but these errors were encountered: