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: ilasm round-trip HugeField2 #38529

Closed
BruceForstall opened this issue Jun 29, 2020 · 1 comment
Closed

Test failure: ilasm round-trip HugeField2 #38529

BruceForstall opened this issue Jun 29, 2020 · 1 comment
Assignees
Milestone

Comments

@BruceForstall
Copy link
Member

With:

set COMPlus_TieredCompilation=0
set RunningIlasmRoundTrip=1

C:\h\w\968F0820\w\A48B0918\e>set PATH=C:\h\w\968F0820\p\dotnet;C:\python3.7.0\lib\site-packages\pywin32_system32;C:\python3.7.0\Scripts\;C:\python3.7.0\;C:\windows\system32;C:\windows;C:\windows\System32\Wbem;C:\windows\System32\WindowsPowerShell\v1.0\;C:\Program Files\Microsoft SQL Server\130\Tools\Binn\;C:\Users\runner\AppData\Local\Microsoft\WindowsApps 

C:\h\w\968F0820\w\A48B0918\e>dotnet C:\h\w\968F0820\p\xunit.console.dll JIT\jit64\JIT.jit64.XUnitWrapper.dll -parallel collections -nocolor -noshadow -xml testResults.xml -trait TestGroup=JIT.jit64.opt 
Microsoft.DotNet.XUnitConsoleRunner v2.5.0 (32-bit .NET 5.0.0-preview.6.20305.6)
  Discovering: JIT.jit64.XUnitWrapper
  Discovered:  JIT.jit64.XUnitWrapper
  Starting:    JIT.jit64.XUnitWrapper
    JIT\jit64\opt\cse\HugeField2\HugeField2.cmd [FAIL]
      
      Return code:      1
      Raw output file:      C:\h\w\968F0820\w\A48B0918\e\JIT\jit64\Reports\JIT.jit64\opt\cse\HugeField2\HugeField2.output.txt
      Raw output:
      BEGIN EXECUTION
      C:\h\w\968F0820\p\ildasm.exe /raweh /out=HugeField2.dasm.il HugeField2.dll
      C:\h\w\968F0820\p\ilasm.exe /output=HugeField2.asm.dll  HugeField2.dasm.il
      EXECUTION OF ILASM - FAILED 3
      Test Harness Exitcode is : 1
      To run the test:
      > set CORE_ROOT=C:\h\w\968F0820\p
      > C:\h\w\968F0820\w\A48B0918\e\JIT\jit64\opt\cse\HugeField2\HugeField2.cmd
      Expected: True
      Actual:   False
      Stack Trace:
        F:\workspace\_work\1\s\artifacts\tests\coreclr\Windows_NT.x86.Checked\TestWrappers\JIT.jit64\JIT.jit64.XUnitWrapper.cs(22159,0): at JIT_jit64._opt_cse_HugeField2_HugeField2_._opt_cse_HugeField2_HugeField2_cmd()
      Output:
        
        Return code:      1
        Raw output file:      C:\h\w\968F0820\w\A48B0918\e\JIT\jit64\Reports\JIT.jit64\opt\cse\HugeField2\HugeField2.output.txt
        Raw output:
        BEGIN EXECUTION
        C:\h\w\968F0820\p\ildasm.exe /raweh /out=HugeField2.dasm.il HugeField2.dll
        C:\h\w\968F0820\p\ilasm.exe /output=HugeField2.asm.dll  HugeField2.dasm.il
        EXECUTION OF ILASM - FAILED 3
        Test Harness Exitcode is : 1
        To run the test:
        > set CORE_ROOT=C:\h\w\968F0820\p
        > C:\h\w\968F0820\w\A48B0918\e\JIT\jit64\opt\cse\HugeField2\HugeField2.cmd
  Finished:    JIT.jit64.XUnitWrapper
=== TEST EXECUTION SUMMARY ===
   JIT.jit64.XUnitWrapper  Total: 145, Errors: 0, Failed: 1, Skipped: 0, Time: 738.446s

From Windows x86:

https://dev.azure.com/dnceng/public/_build/results?buildId=708755&view=ms.vss-test-web.build-test-results-tab&runId=21956288&resultId=103873&paneView=debug

@BruceForstall BruceForstall added this to the 5.0.0 milestone Jun 29, 2020
@Dotnet-GitSync-Bot Dotnet-GitSync-Bot added the untriaged New issue has not been triaged by the area owner label Jun 29, 2020
@JulieLeeMSFT JulieLeeMSFT removed the untriaged New issue has not been triaged by the area owner label Jun 29, 2020
BruceForstall added a commit that referenced this issue Jul 2, 2020
* Enable ilasm/ildasm round trip testing in new AzDO pipeline

Pipeline is `runtime-coreclr ilasm`.

Also, add an optional `IlasmRoundTripIncompatible` msbuild
property to allow disabling tests for the IlasmRoundTrip test.

* Disable tests for ilasm round-trip testing

Tracking issues:
#11412
#38515
#38506
#38507
#38508
#38529
@BruceForstall BruceForstall modified the milestones: 5.0.0, Future Jul 6, 2020
@JulieLeeMSFT JulieLeeMSFT modified the milestones: Future, 8.0.0 Oct 4, 2022
markples added a commit that referenced this issue Oct 5, 2022
Indx256 is a trie (or prefix tree) used to map labels to instructions.  It is very space-intensive because it allocates 256-element arrays for child nodes.  This is a localized fix to lazily allocate the child arrays and to split them into two 128-element arrays to handle common cases such as ildasm's output (IL_<hex>).  A more aggressive change to a different data structure would save much more memory but should probably include an analysis of why a trie was originally used.

Fixes #38515, #38529, #43818, and #73139.  I don't think hugeExpr1 (#38515) is going to get picked up by our current testing since the ilasmroundtrip run doesn't turn off tiered compilation, but I did check its behavior on x86 locally.
@markples
Copy link
Member

markples commented Oct 5, 2022

Fixed in #76590

@markples markples closed this as completed Oct 5, 2022
@ghost ghost locked as resolved and limited conversation to collaborators Nov 4, 2022
Sign up for free to subscribe to this conversation on GitHub. Already have an account? Sign in.
Projects
None yet
Development

No branches or pull requests

4 participants