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: don't allow negative edge weights #56651

Merged
merged 1 commit into from
Aug 2, 2021

Conversation

AndyAyersMS
Copy link
Member

Due to rounding errors or inconsistencies we may end up with unexpected
ratios of profile counts. Fix one place where that was leading to a negative
edge weight.

Fixes #56647.

Due to rounding errors or inconsistencies we may end up with unexpected
ratios of profile counts. Fix one place where that was leading to a negative
edge weight.

Fixes dotnet#56647.
@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 Jul 30, 2021
@AndyAyersMS
Copy link
Member Author

Affected test (leakwheel) was asserting about 25% of the time without this fix; ran several hundred times with the fix w/o asserting.

Will run the PGO CI pipelines on this one too, as the new asserts may fire for other problematic computations.

cc @dotnet/jit-contrib

@AndyAyersMS
Copy link
Member Author

/azp run runtime-coreclr pgo

@azure-pipelines
Copy link

Azure Pipelines successfully started running 1 pipeline(s).

@AndyAyersMS
Copy link
Member Author

/azp run runtime-coreclr libraries-pgo

@azure-pipelines
Copy link

Azure Pipelines successfully started running 1 pipeline(s).

@AndyAyersMS
Copy link
Member Author

Note the pgo pipelines will probably hit other errors; so I'm mainly checking to see that the new asserts don't fire.

@AndyAyersMS
Copy link
Member Author

One leg of the runtime tests has hit this recurring xunit failure (#11063):

System.InvalidOperationException: Collection was modified after the enumerator was instantiated.
   at System.Collections.Generic.Stack`1.Enumerator.MoveNext() in System.Collections.dll:token 0x6000289+0x0
   at Xunit.Sdk.DisposalTracker.Dispose() in C:\Dev\xunit\xunit\src\xunit.execution\Sdk\DisposalTracker.cs:line 26

@AndyAyersMS
Copy link
Member Author

PGO failures are all "known issues..."

Copy link
Contributor

@briansull briansull left a comment

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Looks Good

@AndyAyersMS
Copy link
Member Author

@briansull can you approve?

@AndyAyersMS AndyAyersMS merged commit d01dae4 into dotnet:main Aug 2, 2021
@AndyAyersMS AndyAyersMS deleted the AvoidNegativeEdgeWeights branch August 2, 2021 18:20
@ghost ghost locked as resolved and limited conversation to collaborators Sep 1, 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
Projects
None yet
Development

Successfully merging this pull request may close these issues.

Assert hit in leakwheel running under full pgo
2 participants