-
Notifications
You must be signed in to change notification settings - Fork 5.8k
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
8293660: Fix frame::sender_for_compiled_frame frame size assert #10242
Conversation
👋 Welcome back shade! A progress list of the required criteria for merging this PR into |
Webrevs
|
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.
This looks fine. You could probably even use >= 2. More correct would probably be >= metadata_words, but some ports are setting that value to 0, which will probably break things with loom.
There are also some places under hotspot/agent/src/share/classes that are doing the equivalent in Java:
Assert.that(cb.getFrameSize() > 0, "CodeBlob must have non-zero frame size");
which would probably be low-risk to fix in this PR if you wanted.
@shipilev This change now passes all automated pre-integration checks. ℹ️ This project also has non-automated pre-integration requirements. Please see the file CONTRIBUTING.md for details. After integration, the commit message for the final commit will be:
You can use pull request commands such as /summary, /contributor and /issue to adjust it as needed. At the time when this comment was updated there had been 24 new commits pushed to the
As there are no conflicts, your changes will automatically be rebased on top of these commits when integrating. If you prefer to avoid this automatic rebasing, please check the documentation for the /integrate command for further details. ➡️ To integrate this PR with the above commit message to the |
Yeah, I'd prefer to keep the most accepting form. It seems we really want to catch the zero case to guarantee stack walking progress.
Fixed those in new commit. |
Any other reviews? |
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.
Good.
Thank you! /integrate |
Going to push as commit 60f59a4.
Your commit was automatically rebased without conflicts. |
The condition and assert messages are contradicting each other here:
I found this in x86_32 Loom port, where a entry generator bug caused zero-sized frames. I believe the assert message is correct, and the condition is not: sender SP should be different from (unextended) SP. In fact, if allowed to proceed, the tests can then fail the later assert, assuming
sp() == unextended_sp()
:This code predates OpenJDK history, and assert was copy-pasted in this form to many arches.
Additional testing:
tier1
Progress
Issue
Reviewers
Reviewing
Using
git
Checkout this PR locally:
$ git fetch https://git.openjdk.org/jdk pull/10242/head:pull/10242
$ git checkout pull/10242
Update a local copy of the PR:
$ git checkout pull/10242
$ git pull https://git.openjdk.org/jdk pull/10242/head
Using Skara CLI tools
Checkout this PR locally:
$ git pr checkout 10242
View PR using the GUI difftool:
$ git pr show -t 10242
Using diff file
Download this PR as a diff file:
https://git.openjdk.org/jdk/pull/10242.diff