-
Notifications
You must be signed in to change notification settings - Fork 4.7k
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: access violation in cpblk tests #76506
Comments
Tagging subscribers to this area: @JulieLeeMSFT, @jakobbotsch Issue Detailsarm64, JitStress Also fails in MinOpts Started with 20220929.1 build: Tests: JIT\Directed\PREFIX\unaligned\2\cpblk\cpblk.cmd Example:
@dotnet/jit-contrib
|
Actually, this is occuring in outerloop, no stress required: |
Yes, this is blocking outside of JIT Stress quite a bit -- it is blocking clean CI |
Codegen for tier 0 for 52800081 mov w1, #4
93407C21 sxtw x1, w1
D292E882 movz x2, #0x9744
F2ABDFA2 movk x2, #0x5EFD LSL #16
CB020022 sub x2, x1, x2
B9000040 str w0, [x2] AV on the |
Bisected to bfef7cc |
IR looks like: Generating: N014 ( 1, 2) [000010] ----------- t10 = CNS_INT int 0xFFFFFFFF REG x0
IN0006: movn w0, #0
/--* t10 int
Generating: N016 ( 2, 3) [000013] -c--------- t13 = * INIT_VAL int REG NA
Generating: N018 ( 1, 2) [000007] ----------- t7 = CNS_INT int 4 REG x1
IN0007: mov w1, #4
/--* t7 int
Generating: N020 ( 2, 4) [000008] ----------- t8 = * CAST long <- int REG x1
IN0008: sxtw x1, w1
/--* t8 long
Generating: N022 ( 6, 17) [000009] -c--------- t9 = * LEA(b+-789485380) long REG NA
/--* t9 long
+--* t13 int
Generating: N024 ( 9, 19) [000012] -A-X------- * STORE_BLK struct<4> (init) (Unroll) REG NA
IN0009: movz x2, #0x9744
IN000a: movk x2, #0x2F0E LSL #16
IN000b: sub x2, x1, x2
IN000c: str w0, [x2] |
Not sure that we are supposed to be creating LEA nodes with constants this large on ARM64. |
The offset here can be a "base" address due to various JIT transformations so we should ensure the range [offset, offset+size) does not overflow. Fix dotnet#76506
If possible, could you paste a diff of JitDump after your change in #76532 ? |
The diff in IR looks like: @@ -1033,8 +1033,10 @@ N002 ( 2, 3) [000013] -c--------- t13 = * INIT_VAL int
N003 ( 1, 2) [000007] ----------- t7 = CNS_INT int 4
/--* t7 int
N004 ( 2, 4) [000008] ----------- t8 = * CAST long <- int
+N005 ( 3, 12) [000006] H---------- t6 = CNS_INT(h) long 0x7ffcd0ed68bc static Fseq[DATA]
/--* t8 long
-N006 ( 6, 17) [000009] -c--------- t9 = * LEA(b+-789747524) long
+ +--* t6 long
+N006 ( 6, 17) [000009] ----------- t9 = * ADD long
/--* t9 long
+--* t13 int
N007 ( 9, 19) [000012] -A-X------- * STORE_BLK struct<4> (init) (Unroll)
@@ -1122,8 +1124,10 @@ N002 ( 2, 3) [000013] -c--------- t13 = * INIT_VAL int
N003 ( 1, 2) [000007] ----------- t7 = CNS_INT int 4
/--* t7 int
N004 ( 2, 4) [000008] ----------- t8 = * CAST long <- int
+N005 ( 3, 12) [000006] H---------- t6 = CNS_INT(h) long 0x7ffcd0ed68bc static Fseq[DATA]
/--* t8 long
-N006 ( 6, 17) [000009] -c--------- t9 = * LEA(b+-789747524) long
+ +--* t6 long
+N006 ( 6, 17) [000009] ----------- t9 = * ADD long
/--* t9 long
+--* t13 int
N007 ( 9, 19) [000012] -A-X------- * STORE_BLK struct<4> (init) (Unroll)
Attached full jitdumps if you want to look further. |
The offset here can be a "base" address due to various JIT transformations so we should ensure the range [offset, offset+size) does not overflow. Fix #76506
Thanks @jakobbotsch for quickly fixing this blocking issue. |
Affected tests:
JIT/Directed/PREFIX/volatile/1/cpblk/cpblk.sh
JIT\\Directed\\PREFIX\\volatile\\1\\cpblk\\cpblk.cmd
Runfo hits for last 30 days as of 10/3:
Original Report
arm64, JitStress
Also fails in MinOpts
https://dev.azure.com/dnceng-public/public/_build/results?buildId=37829&view=ms.vss-test-web.build-test-results-tab&runId=754244&paneView=debug&resultId=108471
Started with 20220929.1 build:
https://dev.azure.com/dnceng-public/public/_build/results?buildId=37829&view=results
Tests:
JIT\Directed\PREFIX\unaligned\2\cpblk\cpblk.cmd
JIT\IL_Conformance\Old\Conformance_Base\ldc_c_cpblk\ldc_c_cpblk.cmd
JIT\Directed\PREFIX\unaligned\4\cpblk\cpblk.cmd
JIT\IL_Conformance\Old\Base\cpblk\cpblk.cmd
JIT\IL_Conformance\Old\Conformance_Base\c_cpblk\c_cpblk.cmd
JIT\IL_Conformance\Old\Conformance_Base\cpblk\cpblk.cmd
JIT\Directed\PREFIX\unaligned\1\cpblk\cpblk.cmd
Example:
@dotnet/jit-contrib
Report
Summary
The text was updated successfully, but these errors were encountered: