Uh oh!
There was an error while loading. Please reload this page.
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. Fixesdotnet#77450.
ghost
commented
Jan 30, 2023
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.
|
AndyAyersMS
commented
Jan 30, 2023
@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. |
EgorBo
left a comment
There was a problem hiding this comment.
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. |
AndyAyersMS
commented
Jan 31, 2023
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? |
MichalStrehovsky
commented
Feb 1, 2023
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. |
MichalStrehovsky
commented
Feb 1, 2023
/azp run runtime-extra-platforms |
|
Azure Pipelines successfully started running 1 pipeline(s). |
AndyAyersMS
commented
Feb 1, 2023
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. |
MichalStrehovsky
commented
Feb 1, 2023
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. |
AndyAyersMS
commented
Feb 1, 2023
Let me bounce this and see if it still repros with merged-up bits. |
AndyAyersMS
commented
Feb 2, 2023
arm64 linux CI machines see to be mis-provisioned or something? |
AndyAyersMS
commented
Feb 2, 2023
retry didn't fix the build issues, so bounced the PR once more. |
AndyAyersMS
commented
Feb 2, 2023
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 |
AndyAyersMS
commented
Feb 3, 2023
Hopefully we can figure this out; let me know if I can help somehow. |
ivanpovazan
commented
Feb 3, 2023
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.