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

Assertion failed 'this->bbNext->isEmpty()' #51326

Closed
BruceForstall opened this issue Apr 15, 2021 · 5 comments · Fixed by #51340
Closed

Assertion failed 'this->bbNext->isEmpty()' #51326

BruceForstall opened this issue Apr 15, 2021 · 5 comments · Fixed by #51340
Assignees
Labels
area-CodeGen-coreclr CLR JIT compiler in src/coreclr/src/jit and related components such as SuperPMI blocking-clean-ci-optional Blocking optional rolling runs
Milestone

Comments

@BruceForstall
Copy link
Member

All jitstress jobs are failing:

https://dev.azure.com/dnceng/public/_build/results?buildId=1089760&view=ms.vss-test-web.build-test-results-tab&runId=33410616&resultId=103827&paneView=dotnet-dnceng.dnceng-build-release-tasks.helix-test-information-tab

    JIT\Methodical\flowgraph\bug619534\twoEndFinallys_il\twoEndFinallys_il.cmd [FAIL]
      
      Assert failure(PID 1332 [0x00000534], Thread: 4256 [0x10a0]): Assertion failed 'this->bbNext->isEmpty()' in 'Test:TwoEndFinallys(System.String[]):Test' during 'SSA: insert phis' (IL size 137)
      
          File: D:\workspace\_work\1\s\src\coreclr\jit\block.cpp Line: 1539
          Image: C:\h\w\9A55085C\p\corerun.exe
      
      
      Return code:      1
      Raw output file:      C:\h\w\9A55085C\w\B3B40983\e\JIT\Methodical\Reports\JIT.Methodical\flowgraph\bug619534\twoEndFinallys_il\twoEndFinallys_il.output.txt
      Raw output:
      BEGIN EXECUTION
       "C:\h\w\9A55085C\p\corerun.exe" twoEndFinallys_il.dll 
      Expected: 100
      Actual: -1073740286
      END EXECUTION - FAILED
@BruceForstall BruceForstall added area-CodeGen-coreclr CLR JIT compiler in src/coreclr/src/jit and related components such as SuperPMI blocking-clean-ci-optional Blocking optional rolling runs labels Apr 15, 2021
@BruceForstall BruceForstall added this to the 6.0.0 milestone Apr 15, 2021
@dotnet-issue-labeler dotnet-issue-labeler bot added the untriaged New issue has not been triaged by the area owner label Apr 15, 2021
@BruceForstall
Copy link
Member Author

It appears this is due to #50806

@BruceForstall BruceForstall removed the untriaged New issue has not been triaged by the area owner label Apr 15, 2021
@BruceForstall
Copy link
Member Author

@AndyAyersMS Given this is failing in all jitstress configurations, can you revert #50806?

@AndyAyersMS
Copy link
Member

Let me take a quick look. Might be just as easy to fix.

@AndyAyersMS
Copy link
Member

AndyAyersMS commented Apr 15, 2021

Fix looks simple enough: BasicBlock::isEmpty isn't checking for PHIs properly. Testing....

AndyAyersMS added a commit to AndyAyersMS/runtime that referenced this issue Apr 15, 2021
The detection of blocks with only PHI assignments was broken by dotnet#50806.
Fix by using existing helper to find the first non-PHI assignment.

Closes dotnet#51326.
@ghost ghost added the in-pr There is an active PR which will close this issue when it is merged label Apr 15, 2021
@VincentBu
Copy link
Contributor

Failed again in runtime-coreclr outerloop 20210415.3

 -JIT\\Methodical\\flowgraph\\bug619534\\twoEndFinallys_il\\twoEndFinallys_il.cmd

Assert failure(PID 5576 [0x000015c8], Thread: 3376 [0x0d30]): Assertion failed 'this->bbNext->isEmpty()' in 'Test:TwoEndFinallys(System.String[]):Test' during 'SSA: insert phis' (IL size 137)

 File: D:\workspace\_work\1\s\src\coreclr\jit\block.cpp Line: 1535
 Image: C:\h\w\978C0895\p\corerun.exe


Return code: 1
Raw output file: C:\h\w\978C0895\w\ACD609B8\e\JIT\Methodical\Reports\JIT.Methodical\flowgraph\bug619534\twoEndFinallys_il\twoEndFinallys_il.output.txt
Raw output:
BEGIN EXECUTION
 "C:\h\w\978C0895\p\corerun.exe" twoEndFinallys_il.dll 
Expected: 100
Actual: -1073740286
END EXECUTION - FAILED
FAILED
Test Harness Exitcode is : 1
To run the test:
> set CORE_ROOT=C:\h\w\978C0895\p
> C:\h\w\978C0895\w\ACD609B8\e\JIT\Methodical\flowgraph\bug619534\twoEndFinallys_il\twoEndFinallys_il.cmd
Expected: True
Actual: False

Stack trace
   at JIT_Methodical._flowgraph_bug619534_twoEndFinallys_il_twoEndFinallys_il_._flowgraph_bug619534_twoEndFinallys_il_twoEndFinallys_il_cmd()

Historical failures of this test:

Queued OS Arch Pipeline
2021-04-15T07:39:30.397Z ubuntu.1804.amd64.open.rt x64 runtime-coreclr jitstress Checked-tailcallstress
2021-04-15T07:38:30.446Z ubuntu.1804.amd64.open.rt x64 runtime-coreclr jitstress Checked-zapdisable
2021-04-15T07:21:57Z windows.10.amd64.open.rt x64 runtime-coreclr jitstress Checked-tailcallstress
2021-04-15T07:20:36.449Z windows.10.amd64.open.rt x86 runtime-coreclr jitstress Checked-tailcallstress
2021-04-15T07:17:46.696Z windows.10.amd64.open.rt x64 runtime-coreclr jitstress Checked-zapdisable
2021-04-15T07:16:35.871Z windows.10.amd64.open.rt x86 runtime-coreclr jitstress Checked-zapdisable
2021-04-15T07:10:22.875Z ubuntu.1804.amd64.open.rt x64 runtime-coreclr jitstress Checked-jitstress2
2021-04-15T07:10:20.516Z ubuntu.1804.amd64.open.rt x64 runtime-coreclr jitstress Checked-jitstress1
2021-04-15T07:06:51.881Z osx.1100.arm64.open arm64 runtime-coreclr jitstress Checked-tailcallstress
More failures
Queued OS Arch Pipeline
2021-04-15T07:02:37.573Z osx.1100.arm64.open arm64 runtime-coreclr jitstress Checked-zapdisable
2021-04-15T07:02:24.767Z osx.1013.amd64.open x64 runtime-coreclr jitstress Checked-tailcallstress
2021-04-15T07:00:51.061Z ubuntu.1804.armarch.open arm64 runtime-coreclr jitstress Checked-tailcallstress
2021-04-15T07:00:12.726Z osx.1013.amd64.open x64 runtime-coreclr jitstress Checked-zapdisable
2021-04-15T06:59:42.98Z ubuntu.1804.armarch.open arm64 runtime-coreclr jitstress Checked-zapdisable
2021-04-15T06:58:05.447Z ubuntu.1804.armarch.open arm runtime-coreclr jitstress Checked-tailcallstress
2021-04-15T06:57:48.48Z ubuntu.1804.armarch.open arm runtime-coreclr jitstress Checked-zapdisable
2021-04-15T06:55:23.67Z osx.1100.arm64.open arm64 runtime-coreclr jitstress Checked-jitstress2
2021-04-15T06:54:21.633Z windows.10.arm64v8.open arm64 runtime-coreclr jitstress Checked-tailcallstress
2021-04-15T06:54:18.455Z windows.10.arm64v8.open arm64 runtime-coreclr jitstress Checked-zapdisable
2021-04-15T06:52:31.87Z osx.1013.amd64.open x64 runtime-coreclr jitstress Checked-jitstress2
2021-04-15T06:44:16.591Z ubuntu.1804.armarch.open arm runtime-coreclr jitstress Checked-jitstress2
2021-04-15T06:44:15.185Z ubuntu.1804.armarch.open arm runtime-coreclr jitstress Checked-jitstress1
2021-04-15T06:43:50.669Z osx.1013.amd64.open x64 runtime-coreclr jitstress Checked-jitstress1
2021-04-15T06:43:20.839Z osx.1100.arm64.open arm64 runtime-coreclr jitstress Checked-jitstress1
2021-04-15T06:42:36.703Z windows.10.arm64v8.open arm64 runtime-coreclr jitstress Checked-jitstress2
2021-04-15T06:42:34.478Z windows.10.arm64v8.open arm64 runtime-coreclr jitstress Checked-jitstress1
2021-04-15T06:42:31.524Z ubuntu.1804.armarch.open arm64 runtime-coreclr jitstress Checked-jitstress2
2021-04-15T06:42:30.438Z ubuntu.1804.armarch.open arm64 runtime-coreclr jitstress Checked-jitstress1
2021-04-15T06:41:36.281Z windows.10.amd64.open.rt x64 runtime-coreclr jitstress Checked-jitstress2
2021-04-15T06:41:33.125Z windows.10.amd64.open.rt x64 runtime-coreclr jitstress Checked-jitstress1
2021-04-15T06:38:07.078Z windows.10.amd64.open.rt x86 runtime-coreclr jitstress Checked-jitstress2
2021-04-15T06:38:06.298Z windows.10.amd64.open.rt x86 runtime-coreclr jitstress Checked-jitstress1
2021-04-11T09:09:19.952Z osx.1013.amd64.open x64 runtime-coreclr crossgen2-composite gcstress Checked-gcstress0xc_zapdisable_jitstress2
2021-04-04T08:48:05.534Z osx.1013.amd64.open x64 runtime-coreclr crossgen2-composite gcstress Checked-gcstress0xc_jitstress1
2021-03-22T09:00:27.03Z osx.1013.amd64.open x64 runtime-coreclr crossgen2-composite gcstress Checked-gcstress0xc_zapdisable_jitstress2

BruceForstall pushed a commit that referenced this issue Apr 16, 2021
The detection of blocks with only PHI assignments was broken by #50806.
Fix by using existing helper to find the first non-PHI assignment.

Closes #51326.
@ghost ghost removed the in-pr There is an active PR which will close this issue when it is merged label Apr 16, 2021
@ghost ghost locked as resolved and limited conversation to collaborators May 16, 2021
Sign up for free to subscribe to this conversation on GitHub. Already have an account? Sign in.
Labels
area-CodeGen-coreclr CLR JIT compiler in src/coreclr/src/jit and related components such as SuperPMI blocking-clean-ci-optional Blocking optional rolling runs
Projects
None yet
Development

Successfully merging a pull request may close this issue.

4 participants