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

JIT: properly update trees in optOptimizeBoolsGcStress #75992

Merged
merged 2 commits into from
Sep 23, 2022

Conversation

AndyAyersMS
Copy link
Member

Under jit stress, optOptimizeBoolsGcStress will modify trees. Since this now happens in a phase that runs after fgSetBlockOrder, it must also recost and rethread the trees.

Fixes #75944.

Under jit stress, `optOptimizeBoolsGcStress` will modify trees. Since this
now happens in a phase that runs after `fgSetBlockOrder`, it must also
recost and rethread the trees.

Fixes dotnet#75944.
@dotnet-issue-labeler dotnet-issue-labeler bot added the area-CodeGen-coreclr CLR JIT compiler in src/coreclr/src/jit and related components such as SuperPMI label Sep 21, 2022
@ghost ghost assigned AndyAyersMS Sep 21, 2022
@ghost
Copy link

ghost commented Sep 21, 2022

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

Issue Details

Under jit stress, optOptimizeBoolsGcStress will modify trees. Since this now happens in a phase that runs after fgSetBlockOrder, it must also recost and rethread the trees.

Fixes #75944.

Author: AndyAyersMS
Assignees: -
Labels:

area-CodeGen-coreclr

Milestone: -

@AndyAyersMS
Copy link
Member Author

@jakobbotsch PTAL
cc @dotnet/jit-contrib

Likely also fixes #75942 and #75941.

@AndyAyersMS
Copy link
Member Author

/azp run runtime-coreclr jitstress

@azure-pipelines
Copy link

Azure Pipelines successfully started running 1 pipeline(s).

@AndyAyersMS
Copy link
Member Author

Still seeing some failures so will need to revise this.

@AndyAyersMS
Copy link
Member Author

We are ending up with out of order threading, despite calling fgSetStmtSeq. Seems like we are recosting part of the tree after this call, which leads to operand swapping after threading. Since OOB runs later now than it once did, there is no need to recost.

@AndyAyersMS
Copy link
Member Author

Not the first time I've been surprised by gtPrepareCost's operand swapping, and probably not the last.

@AndyAyersMS
Copy link
Member Author

/azp run runtime-coreclr jitstress

@azure-pipelines
Copy link

Azure Pipelines successfully started running 1 pipeline(s).

@AndyAyersMS
Copy link
Member Author

Another segfault from msbuild during restore:

/__w/1/s/.dotnet/sdk/7.0.100-preview.7.22377.5/MSBuild.dll /nologo -maxcpucount /m -verbosity:m /v:minimal /bl:/__w/1/s/artifacts/log/Checked/ToolsetRestore.binlog /clp:Summary /clp:ErrorsOnly;NoSummary /nr:false /p:TreatWarningsAsErrors=true /p:ContinuousIntegrationBuild=true /p:__ToolsetLocationOutputFile=/__w/1/s/artifacts/toolset/8.0.0-beta.22469.1.txt /t:__WriteToolsetLocation /warnaserror /__w/1/s/artifacts/toolset/restore.proj
/__w/1/s/eng/common/tools.sh: line 474:   503 Segmentation fault      (core dumped) "$_InitializeBuildTool" "$@"

@AndyAyersMS
Copy link
Member Author

Arm64 SPMI is lack of MCH, perhaps I'm too close to a GUID update or collections are broken?

No Azure Storage MCH files to download from 11b4ea58-c400-4c3d-995e-4e2f0676f6e8/linux/arm64/

@AndyAyersMS
Copy link
Member Author

x86 failure is in CriticalFinalizer which is supposedly fixed by #75952.

@AndyAyersMS
Copy link
Member Author

More critical finalizer failures in the jitstress legs. So far, no other failures there.

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
Projects
None yet
Development

Successfully merging this pull request may close these issues.

Test failure baseservices\\exceptions\\unittests\\RecursiveThrowNew\\RecursiveThrowNew.cmd
2 participants