-
Notifications
You must be signed in to change notification settings - Fork 4.7k
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: change profile slop assert to a jitdump note #81377
JIT: change profile slop assert to a jitdump note #81377
Conversation
Stop asserting if we see unusually large discrepancies in the outgoing profile flow from a block. Instead just make a note in the jit dump. Fixes dotnet#77450.
Tagging subscribers to this area: @JulieLeeMSFT, @jakobbotsch, @kunalspathak Issue DetailsStop asserting if we see unusually large discrepancies in the outgoing profile flow from a block. Instead just make a note in the jit dump. Fixes #77450.
|
@EgorBo PTAL Note edge profile weights are slated to be revised during .NET 8, so this is just an interim fix to stop this assert from firing. |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
Wonder if we should have a special format for sort of warnings in the DUMP
Failure is a crash in ILC building crossgen2. Likely unrelated since this PR is only changing an assert into a dump.
|
Hmm, the failure is persistent. I am going to see if I can get a local repro. @MichalStrehovsky is there any way to get crash dumps from CI when ILC fails like this? Or a stack trace? |
That would be a question for @dotnet/runtime-infrastructure - I don't think we are able to collect crash dumps in build legs. This is using live-built ILC with live-built JIT, hosted on top of whatever CoreCLR was used to build the repo. Such capability would have been useful in the past, and not just when using live-built tools. I'll trigger more thorough NativeAOT testing run just in case we can hit this on a less obscure configuration. |
/azp run runtime-extra-platforms |
Azure Pipelines successfully started running 1 pipeline(s). |
Seems like lots of issues? This change only affects jit internal diagnostics and is changing an assert into something that won't assert. So hard for me to see how it could cause any sort of failures. |
Yes, we had a regression (that is now fixed), but this would show up as a build break, not test break and those are easy to see. The only build break I see is in the
I'm a bit worried if you say this happened on repeated run. I'm not aware of seeing this in other PRs. I guess we could merge this and if this starts happening everywhere, we can start suspecting something bad like a C++ codegen bug. |
Let me bounce this and see if it still repros with merged-up bits. |
arm64 linux CI machines see to be mis-provisioned or something?
|
retry didn't fix the build issues, so bounced the PR once more. |
ILC failure didn't repro. Extra platform failures are unrelated (and mostly fixed elsewhere). |
#81476 now hit the crossgen2 musl arm64 crossbuild crash that we observed here. The run started after this PR merged to main so it's still inconclusive as to whether this change triggered it. I've not seen this failure before. Cc @ivanpovazan |
Hopefully we can figure this out; let me know if I can help somehow. |
After a rerun, the failure was not observed. |
Stop asserting if we see unusually large discrepancies in the outgoing profile flow from a block. Instead just make a note in the jit dump.
Fixes #77450.