dotnet / runtime

.NET is a cross-platform runtime for cloud, mobile, desktop, and IoT apps.
https://docs.microsoft.com/dotnet/core/
MIT License
15.16k stars 4.71k forks source link

Test failure JIT\\Performance\\CodeQuality\\Bytemark\\Bytemark\\Bytemark.cmd #65940

Closed VincentBu closed 2 years ago

VincentBu commented 2 years ago

Run: runtime-coreclr jitstress 20220226.1

Failed test:

CoreCLR windows arm64 Checked jitstress2_tiered @ Windows.10.Arm64v8.Open
- JIT\\Performance\\CodeQuality\\Bytemark\\Bytemark\\Bytemark.cmd
- JIT\\superpmi\\superpmicollect\\Bytemark\\Bytemark.cmd
- JIT\\Performance\\CodeQuality\\Benchstones\\BenchF\\DMath\\DMath\\DMath.cmd
- JIT\\jit64\\eh\\FinallyExec\\nestedTryRegionsWithSameOffset2_o\\nestedTryRegionsWithSameOffset2_o.cmd
- JIT\\Regression\\JitBlue\\GitHub_9692\\GitHub_9692\\GitHub_9692.cmd
- JIT\\jit64\\eh\\FinallyExec\\nestedTryRegionsWithSameOffset1_o\\nestedTryRegionsWithSameOffset1_o.cmd

CoreCLR windows arm64 Checked jitstress2 @ Windows.10.Arm64v8.Open
- JIT\\Performance\\CodeQuality\\Bytemark\\Bytemark\\Bytemark.cmd
- JIT\\superpmi\\superpmicollect\\Bytemark\\Bytemark.cmd
- JIT\\Performance\\CodeQuality\\Benchstones\\BenchI\\Ackermann\\Ackermann\\Ackermann.cmd
- JIT\\Performance\\CodeQuality\\BenchmarksGame\\regex-redux\\regex-redux-1\\regex-redux-1.cmd
- JIT\\Performance\\CodeQuality\\BenchmarksGame\\regex-redux\\regex-redux-5\\regex-redux-5.cmd
- JIT\\Methodical\\AsgOp\\r4\\r4_cs_do\\r4_cs_do.cmd
- JIT\\Regression\\JitBlue\\GitHub_CoreRT_2073\\GitHub_CoreRT_2073\\GitHub_CoreRT_2073.cmd
- ilasm\\System\\Runtime\\CompilerServices\\MethodImplOptionsTests\\MethodImplOptionsTests.cmd
- JIT\\jit64\\eh\\FinallyExec\\nestedTryRegionsWithSameOffset1_o\\nestedTryRegionsWithSameOffset1_o.cmd
- JIT\\jit64\\rtchecks\\overflow\\overflow03_mul\\overflow03_mul.cmd
- JIT\\Regression\\JitBlue\\DevDiv_487701\\DevDiv_487701\\DevDiv_487701.cmd
- JIT\\Directed\\shift\\int32_ro\\int32_ro.cmd
- JIT\\Directed\\shift\\int32_do\\int32_do.cmd
- JIT\\Directed\\shift\\uint16_cs_ro\\uint16_cs_ro.cmd
- JIT\\Regression\\JitBlue\\GitHub_9692\\GitHub_9692\\GitHub_9692.cmd
- JIT\\Performance\\CodeQuality\\Benchstones\\BenchF\\DMath\\DMath\\DMath.cmd

CoreCLR windows arm64 Checked jitstress1_tiered @ Windows.10.Arm64v8.Open
- JIT\\Performance\\CodeQuality\\Bytemark\\Bytemark\\Bytemark.cmd
- JIT\\superpmi\\superpmicollect\\Bytemark\\Bytemark.cmd
- JIT\\jit64\\eh\\FinallyExec\\nestedTryRegionsWithSameOffset2_o\\nestedTryRegionsWithSameOffset2_o.cmd
- JIT\\Regression\\JitBlue\\GitHub_9692\\GitHub_9692\\GitHub_9692.cmd
- JIT\\jit64\\eh\\FinallyExec\\nestedTryRegionsWithSameOffset1_o\\nestedTryRegionsWithSameOffset1_o.cmd

CoreCLR windows arm64 Checked jitstress1 @ Windows.10.Arm64v8.Open
- JIT\\Performance\\CodeQuality\\Bytemark\\Bytemark\\Bytemark.cmd
- JIT\\superpmi\\superpmicollect\\Bytemark\\Bytemark.cmd
- JIT\\jit64\\rtchecks\\overflow\\overflow03_add\\overflow03_add.cmd
- JIT\\Performance\\CodeQuality\\BenchmarksGame\\regex-redux\\regex-redux-5\\regex-redux-5.cmd
- JIT\\Performance\\CodeQuality\\BenchmarksGame\\regex-redux\\regex-redux-1\\regex-redux-1.cmd
- JIT\\Regression\\JitBlue\\DevDiv_462269\\DevDiv_462269\\DevDiv_462269.cmd
- JIT\\jit64\\rtchecks\\overflow\\overflow03_sub\\overflow03_sub.cmd
- JIT\\jit64\\mcc\\interop\\mcc_i77\\mcc_i77.cmd
- ilasm\\System\\Runtime\\CompilerServices\\MethodImplOptionsTests\\MethodImplOptionsTests.cmd
- JIT\\Regression\\JitBlue\\GitHub_CoreRT_2073\\GitHub_CoreRT_2073\\GitHub_CoreRT_2073.cmd

CoreCLR windows x64 Checked jitstress2 @ Windows.10.Amd64.Open
- JIT\\superpmi\\superpmicollect\\Bytemark\\Bytemark.cmd
- JIT\\Performance\\CodeQuality\\Bytemark\\Bytemark\\Bytemark.cmd
- JIT\\Performance\\CodeQuality\\BenchmarksGame\\regex-redux\\regex-redux-5\\regex-redux-5.cmd
- JIT\\jit64\\mcc\\interop\\mcc_i77\\mcc_i77.cmd
- JIT\\Performance\\CodeQuality\\BenchmarksGame\\regex-redux\\regex-redux-1\\regex-redux-1.cmd

CoreCLR windows x86 Checked jitstress2 @ Windows.10.Amd64.Open
- JIT\\superpmi\\superpmicollect\\Bytemark\\Bytemark.cmd
- JIT\\Performance\\CodeQuality\\Bytemark\\Bytemark\\Bytemark.cmd
- JIT\\Performance\\CodeQuality\\BenchmarksGame\\regex-redux\\regex-redux-5\\regex-redux-5.cmd
- JIT\\jit64\\mcc\\interop\\mcc_i37\\mcc_i37.cmd
- JIT\\Performance\\CodeQuality\\BenchmarksGame\\regex-redux\\regex-redux-1\\regex-redux-1.cmd

CoreCLR windows x64 Checked jitstress1 @ Windows.10.Amd64.Open
- JIT\\superpmi\\superpmicollect\\Bytemark\\Bytemark.cmd

CoreCLR windows x86 Checked jitstress1 @ Windows.10.Amd64.Open
- JIT\\superpmi\\superpmicollect\\Bytemark\\Bytemark.cmd

CoreCLR Linux arm Checked jitstress1_tiered @ (Ubuntu.1804.Arm32.Open)Ubuntu.1804.Armarch.Open@mcr.microsoft.com/dotnet-buildtools/prereqs:ubuntu-18.04-helix-arm32v7-bfcd90a-20200121150440
- JIT/Performance/CodeQuality/Bytemark/Bytemark/Bytemark.sh

CoreCLR Linux arm64 Checked jitstress1_tiered @ (Ubuntu.1804.Arm64.Open)Ubuntu.1804.Armarch.Open@mcr.microsoft.com/dotnet-buildtools/prereqs:ubuntu-18.04-helix-arm64v8-20210531091519-97d8652
- JIT/Performance/CodeQuality/Bytemark/Bytemark/Bytemark.sh

CoreCLR Linux x64 Checked jitstress2 @ Ubuntu.1804.Amd64.Open
- JIT/superpmi/superpmicollect/Bytemark/Bytemark.sh

CoreCLR OSX arm64 Checked jitstress1_tiered @ OSX.1200.ARM64.Open
- JIT/Performance/CodeQuality/Bytemark/Bytemark/Bytemark.sh

CoreCLR OSX arm64 Checked jitstress2_tiered @ OSX.1200.ARM64.Open
- JIT/superpmi/superpmicollect/Bytemark/Bytemark.sh

One of error message:

Fatal error. System.AccessViolationException: Attempted to read or write protected memory. This is often an indication that other memory is corrupt.
at IDEAEncryption.inv(Char)
at IDEAEncryption.de_key_idea(Char[], Char[])
at IDEAEncryption.Run()
at ByteMark.bench_with_confidence(Int32, Double ByRef, Double ByRef, Int32 ByRef)
at ByteMark.ExecuteCore(System.String[])
at ByteMark.Main(System.String[])

Return code:      1
Raw output file:      D:\h\w\96070890\w\AFD3094E\uploads\Reports\JIT.Performance\CodeQuality\Bytemark\Bytemark\Bytemark.output.txt
Raw output:
BEGIN EXECUTION
"D:\h\w\96070890\p\corerun.exe" -p "System.Reflection.Metadata.MetadataUpdater.IsSupported=false"  Bytemark.dll
BBBBBB   YYY   Y  TTTTTTT  EEEEEEE
BBB   B  YYY   Y    TTT    EEE
BBB   B  YYY   Y    TTT    EEE
BBBBBB    YYY Y     TTT    EEEEEEE
BBB   B    YYY      TTT    EEE
BBB   B    YYY      TTT    EEE
BBBBBB     YYY      TTT    EEEEEEE

BYTEmark (tm) C# Mode Benchmark ver. 2 (06/99)
NUMERIC SORT(jagged):  Iterations/sec: 1309.21375  Index: 33.57561
NUMERIC SORT(rectangle):  Iterations/sec: 373.52271  Index: 9.57922
STRING SORT:  Iterations/sec: 4800.67187  Index: 2145.07233
BITFIELD:  Iterations/sec: 363612115.23108  Index: 62.37231
FP EMULATION(struct):  Iterations/sec: 104.56472  Index: 50.17501
FP EMULATION(class):  Iterations/sec: 59.25573  Index: 28.43365
FOURIER:  Iterations/sec: 22054.18061  Index: 25.08215
ASSIGNMENT(jagged):  Iterations/sec: 25.91827  Index: 98.62354
ASSIGNMENT(rectangle):  Iterations/sec: 19.32078  Index: 73.51896
IDEA:Expected: 100
Actual: -1073741819
END EXECUTION - FAILED
FAILED
Test Harness Exitcode is : 1
To run the test:

set CORE_ROOT=D:\h\w\96070890\p
D:\h\w\96070890\w\AFD3094E\e\JIT\Performance\CodeQuality\Bytemark\Bytemark\Bytemark.cmd
Expected: True
Actual:   False

Stack trace
   at JIT_Performance._CodeQuality_Bytemark_Bytemark_Bytemark_._CodeQuality_Bytemark_Bytemark_Bytemark_cmd()
ghost commented 2 years ago

Tagging subscribers to this area: @JulieLeeMSFT See info in area-owners.md if you want to be subscribed.

Issue Details
Run: [runtime-coreclr jitstress 20220226.1](https://dev.azure.com/dnceng/public/_build/results?buildId=1634576&view=ms.vss-test-web.build-test-results-tab&runId=45279068&resultId=101623&paneView=debug) Failed test: ``` CoreCLR windows arm64 Checked jitstress2_tiered @ Windows.10.Arm64v8.Open - JIT\\Performance\\CodeQuality\\Bytemark\\Bytemark\\Bytemark.cmd - JIT\\superpmi\\superpmicollect\\Bytemark\\Bytemark.cmd - JIT\\Performance\\CodeQuality\\Benchstones\\BenchF\\DMath\\DMath\\DMath.cmd - JIT\\jit64\\eh\\FinallyExec\\nestedTryRegionsWithSameOffset2_o\\nestedTryRegionsWithSameOffset2_o.cmd - JIT\\Regression\\JitBlue\\GitHub_9692\\GitHub_9692\\GitHub_9692.cmd - JIT\\jit64\\eh\\FinallyExec\\nestedTryRegionsWithSameOffset1_o\\nestedTryRegionsWithSameOffset1_o.cmd CoreCLR windows arm64 Checked jitstress2 @ Windows.10.Arm64v8.Open - JIT\\Performance\\CodeQuality\\Bytemark\\Bytemark\\Bytemark.cmd - JIT\\superpmi\\superpmicollect\\Bytemark\\Bytemark.cmd - JIT\\Performance\\CodeQuality\\Benchstones\\BenchI\\Ackermann\\Ackermann\\Ackermann.cmd - JIT\\Performance\\CodeQuality\\BenchmarksGame\\regex-redux\\regex-redux-1\\regex-redux-1.cmd - JIT\\Performance\\CodeQuality\\BenchmarksGame\\regex-redux\\regex-redux-5\\regex-redux-5.cmd - JIT\\Methodical\\AsgOp\\r4\\r4_cs_do\\r4_cs_do.cmd - JIT\\Regression\\JitBlue\\GitHub_CoreRT_2073\\GitHub_CoreRT_2073\\GitHub_CoreRT_2073.cmd - ilasm\\System\\Runtime\\CompilerServices\\MethodImplOptionsTests\\MethodImplOptionsTests.cmd - JIT\\jit64\\eh\\FinallyExec\\nestedTryRegionsWithSameOffset1_o\\nestedTryRegionsWithSameOffset1_o.cmd - JIT\\jit64\\rtchecks\\overflow\\overflow03_mul\\overflow03_mul.cmd - JIT\\Regression\\JitBlue\\DevDiv_487701\\DevDiv_487701\\DevDiv_487701.cmd - JIT\\Directed\\shift\\int32_ro\\int32_ro.cmd - JIT\\Directed\\shift\\int32_do\\int32_do.cmd - JIT\\Directed\\shift\\uint16_cs_ro\\uint16_cs_ro.cmd - JIT\\Regression\\JitBlue\\GitHub_9692\\GitHub_9692\\GitHub_9692.cmd - JIT\\Performance\\CodeQuality\\Benchstones\\BenchF\\DMath\\DMath\\DMath.cmd CoreCLR windows arm64 Checked jitstress1_tiered @ Windows.10.Arm64v8.Open - JIT\\Performance\\CodeQuality\\Bytemark\\Bytemark\\Bytemark.cmd - JIT\\superpmi\\superpmicollect\\Bytemark\\Bytemark.cmd - JIT\\jit64\\eh\\FinallyExec\\nestedTryRegionsWithSameOffset2_o\\nestedTryRegionsWithSameOffset2_o.cmd - JIT\\Regression\\JitBlue\\GitHub_9692\\GitHub_9692\\GitHub_9692.cmd - JIT\\jit64\\eh\\FinallyExec\\nestedTryRegionsWithSameOffset1_o\\nestedTryRegionsWithSameOffset1_o.cmd CoreCLR windows arm64 Checked jitstress1 @ Windows.10.Arm64v8.Open - JIT\\Performance\\CodeQuality\\Bytemark\\Bytemark\\Bytemark.cmd - JIT\\superpmi\\superpmicollect\\Bytemark\\Bytemark.cmd - JIT\\jit64\\rtchecks\\overflow\\overflow03_add\\overflow03_add.cmd - JIT\\Performance\\CodeQuality\\BenchmarksGame\\regex-redux\\regex-redux-5\\regex-redux-5.cmd - JIT\\Performance\\CodeQuality\\BenchmarksGame\\regex-redux\\regex-redux-1\\regex-redux-1.cmd - JIT\\Regression\\JitBlue\\DevDiv_462269\\DevDiv_462269\\DevDiv_462269.cmd - JIT\\jit64\\rtchecks\\overflow\\overflow03_sub\\overflow03_sub.cmd - JIT\\jit64\\mcc\\interop\\mcc_i77\\mcc_i77.cmd - ilasm\\System\\Runtime\\CompilerServices\\MethodImplOptionsTests\\MethodImplOptionsTests.cmd - JIT\\Regression\\JitBlue\\GitHub_CoreRT_2073\\GitHub_CoreRT_2073\\GitHub_CoreRT_2073.cmd CoreCLR windows x64 Checked jitstress2 @ Windows.10.Amd64.Open - JIT\\superpmi\\superpmicollect\\Bytemark\\Bytemark.cmd - JIT\\Performance\\CodeQuality\\Bytemark\\Bytemark\\Bytemark.cmd - JIT\\Performance\\CodeQuality\\BenchmarksGame\\regex-redux\\regex-redux-5\\regex-redux-5.cmd - JIT\\jit64\\mcc\\interop\\mcc_i77\\mcc_i77.cmd - JIT\\Performance\\CodeQuality\\BenchmarksGame\\regex-redux\\regex-redux-1\\regex-redux-1.cmd CoreCLR windows x86 Checked jitstress2 @ Windows.10.Amd64.Open - JIT\\superpmi\\superpmicollect\\Bytemark\\Bytemark.cmd - JIT\\Performance\\CodeQuality\\Bytemark\\Bytemark\\Bytemark.cmd - JIT\\Performance\\CodeQuality\\BenchmarksGame\\regex-redux\\regex-redux-5\\regex-redux-5.cmd - JIT\\jit64\\mcc\\interop\\mcc_i37\\mcc_i37.cmd - JIT\\Performance\\CodeQuality\\BenchmarksGame\\regex-redux\\regex-redux-1\\regex-redux-1.cmd CoreCLR windows x64 Checked jitstress1 @ Windows.10.Amd64.Open - JIT\\superpmi\\superpmicollect\\Bytemark\\Bytemark.cmd CoreCLR windows x86 Checked jitstress1 @ Windows.10.Amd64.Open - JIT\\superpmi\\superpmicollect\\Bytemark\\Bytemark.cmd CoreCLR Linux arm Checked jitstress1_tiered @ (Ubuntu.1804.Arm32.Open)Ubuntu.1804.Armarch.Open@mcr.microsoft.com/dotnet-buildtools/prereqs:ubuntu-18.04-helix-arm32v7-bfcd90a-20200121150440 - JIT/Performance/CodeQuality/Bytemark/Bytemark/Bytemark.sh CoreCLR Linux arm64 Checked jitstress1_tiered @ (Ubuntu.1804.Arm64.Open)Ubuntu.1804.Armarch.Open@mcr.microsoft.com/dotnet-buildtools/prereqs:ubuntu-18.04-helix-arm64v8-20210531091519-97d8652 - JIT/Performance/CodeQuality/Bytemark/Bytemark/Bytemark.sh CoreCLR Linux x64 Checked jitstress2 @ Ubuntu.1804.Amd64.Open - JIT/superpmi/superpmicollect/Bytemark/Bytemark.sh CoreCLR OSX arm64 Checked jitstress1_tiered @ OSX.1200.ARM64.Open - JIT/Performance/CodeQuality/Bytemark/Bytemark/Bytemark.sh CoreCLR OSX arm64 Checked jitstress2_tiered @ OSX.1200.ARM64.Open - JIT/superpmi/superpmicollect/Bytemark/Bytemark.sh ``` **One of error message:** ``` Fatal error. System.AccessViolationException: Attempted to read or write protected memory. This is often an indication that other memory is corrupt. at IDEAEncryption.inv(Char) at IDEAEncryption.de_key_idea(Char[], Char[]) at IDEAEncryption.Run() at ByteMark.bench_with_confidence(Int32, Double ByRef, Double ByRef, Int32 ByRef) at ByteMark.ExecuteCore(System.String[]) at ByteMark.Main(System.String[]) Return code: 1 Raw output file: D:\h\w\96070890\w\AFD3094E\uploads\Reports\JIT.Performance\CodeQuality\Bytemark\Bytemark\Bytemark.output.txt Raw output: BEGIN EXECUTION "D:\h\w\96070890\p\corerun.exe" -p "System.Reflection.Metadata.MetadataUpdater.IsSupported=false" Bytemark.dll BBBBBB YYY Y TTTTTTT EEEEEEE BBB B YYY Y TTT EEE BBB B YYY Y TTT EEE BBBBBB YYY Y TTT EEEEEEE BBB B YYY TTT EEE BBB B YYY TTT EEE BBBBBB YYY TTT EEEEEEE BYTEmark (tm) C# Mode Benchmark ver. 2 (06/99) NUMERIC SORT(jagged): Iterations/sec: 1309.21375 Index: 33.57561 NUMERIC SORT(rectangle): Iterations/sec: 373.52271 Index: 9.57922 STRING SORT: Iterations/sec: 4800.67187 Index: 2145.07233 BITFIELD: Iterations/sec: 363612115.23108 Index: 62.37231 FP EMULATION(struct): Iterations/sec: 104.56472 Index: 50.17501 FP EMULATION(class): Iterations/sec: 59.25573 Index: 28.43365 FOURIER: Iterations/sec: 22054.18061 Index: 25.08215 ASSIGNMENT(jagged): Iterations/sec: 25.91827 Index: 98.62354 ASSIGNMENT(rectangle): Iterations/sec: 19.32078 Index: 73.51896 IDEA:Expected: 100 Actual: -1073741819 END EXECUTION - FAILED FAILED Test Harness Exitcode is : 1 To run the test: set CORE_ROOT=D:\h\w\96070890\p D:\h\w\96070890\w\AFD3094E\e\JIT\Performance\CodeQuality\Bytemark\Bytemark\Bytemark.cmd Expected: True Actual: False Stack trace at JIT_Performance._CodeQuality_Bytemark_Bytemark_Bytemark_._CodeQuality_Bytemark_Bytemark_Bytemark_cmd() ```
Author: VincentBu
Assignees: -
Labels: `arch-arm64`, `arch-x86`, `os-linux`, `os-mac-os-x`, `os-windows`, `JitStress`, `arch-x64`, `area-CodeGen-coreclr`, `untriaged`
Milestone: -
BruceForstall commented 2 years ago

The JIT is crashing with a null pointer:

>   clrjit.dll!Compiler::optBlockCopyPropPopStacks(BasicBlock * block, JitHashTable<unsigned int,JitSmallPrimitiveKeyFuncs<unsigned int>,ArrayStack<Compiler::CopyPropSsaDef> *,CompAllocator,JitHashTableBehavior> * curSsaName) Line 47   C++
    [Inline Frame] clrjit.dll!Compiler::optVnCopyProp::__l2::CopyPropDomTreeVisitor::PostOrderVisit(BasicBlock *) Line 481  C++
    [Inline Frame] clrjit.dll!DomTreeVisitor<`Compiler::optVnCopyProp'::`2'::CopyPropDomTreeVisitor>::WalkTree() Line 11883 C++
    clrjit.dll!Compiler::optVnCopyProp() Line 486   C++
    clrjit.dll!CompilerPhase::DoPhase() Line 95 C++
    clrjit.dll!Phase::Run() Line 62 C++
    [Inline Frame] clrjit.dll!DoPhase(Compiler *) Line 107  C++
    clrjit.dll!Compiler::compCompile(void * * methodCodePtr, unsigned int * methodCodeSize, JitFlags * compileFlags) Line 4886  C++
JulieLeeMSFT commented 2 years ago

We think that this issue will be fixed by https://github.com/dotnet/runtime/pull/66070.

BruceForstall commented 2 years ago

Fixed by #66070