-
Notifications
You must be signed in to change notification settings - Fork 5.3k
Closed
Labels
area-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
Seeing this assertion in win-x86 libraries.pmi replay:
Example console log: https://helixr1107v0xdcypoyl9e7f.blob.core.windows.net/dotnet-runtime-refs-pull-123690-merge-5bff0455b68440a8b7/windows-x86-2/1/console.24c68eb7.log
[13:00:38] Invoking: C:\h\w\ACEB0980\p\superpmi.exe -a -v ewi -f C:\h\w\ACEB0980\t\tmptzy50v66\libraries.pmi.windows.x86.checked.mch_fail.mcl -details C:\h\w\ACEB0980\t\tmptzy50v66\libraries.pmi.windows.x86.checked.mch_details.csv -jitoption force JitEnableNoWayAssert=1 -jitoption force JitNoForceFallback=1 -jitoption force JitAlignLoops=0 -jit2option force JitEnableNoWayAssert=1 -jit2option force JitNoForceFallback=1 -jit2option force JitAlignLoops=0 -p -failureLimit 100 C:\h\w\ACEB0980\p\base\checked\clrjit_win_x86_x86.dll C:\h\w\ACEB0980\p\diff\checked\clrjit_win_x86_x86.dll C:\h\w\ACEB0980\w\BE7809DC\e\artifacts\spmi\mch\db46fd97-a8e8-4bda-9cec-d7feb061154c.windows.x86\libraries.pmi.windows.x86.checked.mch
[13:06:31] ERROR: Exception thrown: DebugBreak or AV Exception 123
[13:06:31] ERROR: Method 167054 of size 339 failed to load and compile correctly by JIT1 (C:\h\w\ACEB0980\p\base\checked\clrjit_win_x86_x86.dll).
[13:06:31] ERROR: Exception thrown: DebugBreak or AV Exception 123
[13:06:31] ERROR: Method 167054 of size 339 failed to load and compile correctly by JIT2 (C:\h\w\ACEB0980\p\diff\checked\clrjit_win_x86_x86.dll).
[13:06:31] ERROR: Exception thrown: DebugBreak or AV Exception 123
[13:06:31] ERROR: Method 149203 of size 339 failed to load and compile correctly by JIT1 (C:\h\w\ACEB0980\p\base\checked\clrjit_win_x86_x86.dll).
[13:06:31] ERROR: Exception thrown: DebugBreak or AV Exception 123
[13:06:31] ERROR: Method 149203 of size 339 failed to load and compile correctly by JIT2 (C:\h\w\ACEB0980\p\diff\checked\clrjit_win_x86_x86.dll).
[13:06:31] ISSUE: <ASSERT> #167054 D:\a\_work\1\s\src\coreclr\jit\lsraxarch.cpp (535) - Assertion failed '!"Non-store block node in Lowering"' in 'Microsoft.CodeAnalysis.Diagnostics.HostAnalysisScope+<>c__DisplayClass11_0:<RegisterSymbolAction>b__0(Microsoft.CodeAnalysis.Diagnostics.SymbolAnalysisContext):this' during 'Linear scan register alloc' (IL size 339; hash 0x9e1b0bc1; FullOpts)
From a quick look it looks like a retyping bug in object stack allocation. We have
------------ BB09 [0008] [06B..072) -> BB11(1) (always), preds={BB08} succs={BB11}
***** BB09 [0008]
STMT00053 ( 0x06B[E--] ... 0x070 )
[000174] -ACXG------ ▌ COMMA struct
[000173] H-CXG------ ├──▌ CALL help byref CORINFO_HELP_GET_GCSTATIC_BASE
[000172] H---------- arg0 │ └──▌ CNS_INT(h) int 0xDF31EDC class System.Collections.Immutable.ImmutableArray`1[Microsoft.CodeAnalysis.IParameterSymbol]
[000175] DA--G------ └──▌ STORE_LCL_VAR struct<System.Collections.Immutable.ImmutableArray`1, 4> V24 tmp15
[000170] n---G------ └──▌ BLK struct<System.Collections.Immutable.ImmutableArray`1, 4>
[000169] ----------- └──▌ ADD byref
[000167] I---------- ├──▌ IND ref
[000166] H---------- │ └──▌ CNS_INT(h) int 0x71224C0 static box ptr
[000168] ----------- └──▌ CNS_INT int 4 Fseq[<unknown field>]before, and
***** BB09 [0008]
STMT00053 ( 0x06B[E--] ... 0x070 )
[000174] -ACXG------ ▌ COMMA byref
[000173] H-CXG------ ├──▌ CALL help byref CORINFO_HELP_GET_GCSTATIC_BASE
[000172] H---------- arg0 │ └──▌ CNS_INT(h) int 0xDF31EDC class System.Collections.Immutable.ImmutableArray`1[Microsoft.CodeAnalysis.IParameterSymbol]
[000175] DA--G------ └──▌ STORE_LCL_VAR byref V24 tmp15
[000170] n---G------ └──▌ BLK struct<System.Collections.Immutable.ImmutableArray`1, 4>
[000169] ----------- └──▌ ADD byref
[000167] I---------- ├──▌ IND ref
[000166] H---------- │ └──▌ CNS_INT(h) int 0x71224C0 static box ptr
[000168] ----------- └──▌ CNS_INT int 4 Fseq[<unknown field>]after. Notice the illegal IR at [000175]. cc @dotnet/jit-contrib @AndyAyersMS
Metadata
Metadata
Assignees
Labels
area-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