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

SPMI: More information on CI failures #77361

Merged
merged 3 commits into from
Oct 24, 2022

Conversation

jakobbotsch
Copy link
Member

@jakobbotsch jakobbotsch commented Oct 23, 2022

This enhances parts of the SPMI process with more information on failures.

Also fixes a bug I introduced when I added tpdiffs: when asmdiffs fails, it was not marking the entire pipeline as failing.

We've seen some SPMI diffs fail due to the JitStdOutFile not existing
after running the subprocess. This throws an error with some more
information in those case.
@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 Oct 23, 2022
@ghost ghost assigned jakobbotsch Oct 23, 2022
@ghost
Copy link

ghost commented Oct 23, 2022

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

Issue Details

We've seen some SPMI diffs fail due to the JitStdOutFile not existing after running the subprocess. This throws an error with some more information in those case.

Author: jakobbotsch
Assignees: -
Labels:

area-CodeGen-coreclr

Milestone: -

Copy link
Member

@BruceForstall BruceForstall left a comment

Choose a reason for hiding this comment

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

I'll go ahead and approve in case I'm wrong about needing to remove the existing proc.communicate line, or in case you can fix it and merge with the fix long before I wake up so we can make progress investigating this issue.

src/coreclr/scripts/superpmi.py Outdated Show resolved Hide resolved
@jakobbotsch jakobbotsch changed the title SPMI: Collect some more info when no file exists SPMI: More information on CI failures Oct 24, 2022
@jakobbotsch
Copy link
Member Author

@BruceForstall I've updated this PR with some more enhancements, can you please take another look?
The changes are:

  • Stop passing -v q to superpmi when creating dasm files, since we now use JitStdOutFile and this was hiding failures
  • Make sure we also fail on superpmi sub process failure with more information (previously, we would hide these failures if the JitStdOutFile ended up being created)
  • Fix superpmi_diffs.py to properly return a failure error code when asmdiffs fails. This should mark CI as failing in this case so it is more visible. This was a bug introduced by me with the tpdiff support.

Copy link
Member

@BruceForstall BruceForstall left a comment

Choose a reason for hiding this comment

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

LGTM.

When you said "fail on superpmi sub process failure" I thought maybe you'd fixed #56506. Oh well :-)

@jakobbotsch jakobbotsch merged commit 9290f85 into dotnet:main Oct 24, 2022
@jakobbotsch jakobbotsch deleted the superpmi-more-info branch October 24, 2022 22:11
@jakobbotsch
Copy link
Member Author

When you said "fail on superpmi sub process failure" I thought maybe you'd fixed #56506. Oh well :-)

Afraid not. I think the ideal way to fix that is if we can start using threads instead of processes. Would simplify a lot of other things, too, like if we want to add compression support.

@ghost ghost locked as resolved and limited conversation to collaborators Nov 24, 2022
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.

2 participants