-
Notifications
You must be signed in to change notification settings - Fork 5.8k
8303276: Secondary assertion failure in AdapterHandlerLibrary::contains during crash reporting #13500
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
Conversation
…ns during crash reporting
👋 Welcome back coleenp! A progress list of the required criteria for merging this PR into |
Webrevs
|
Not sure I agree with this. If there is code that gets called on the error-handler path and it can't be called due to issues like this then we need to know about that and try to fix the code. Ignoring the need for locking or safepoints could just lead to different secondary crashes. |
More specifically I think we need to evaluate on a case by case basis - so the check for
|
I disagree. In almost all cases of error handling, we should not let a locked check prevent error reporting. Playing whack-a-mole with the locations is not sustainable. And noisy in the code. |
I agree with @coleenp. This is a read access from the error handler, where we are guarded against secondary crashes. Disabling the assert means we trade a guaranteed secondary error against a very unlikely one. |
For this change, JDK-8210754, there was specific test for ClassLoaderDataGraph_lock which I removed. This category of assert should be disabled for error reporting as it is for debugging. |
I would say we trade a very obvious secondary error for a potentially very obscure one. If you don't hold the lock, nor are at a safepoint, then the access is inherently unsafe. You may not crash you may just get bad or misleading data which could then send you off on a wild goose chase. Time will tell ... |
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.
LGTM
@coleenp 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 6 new commits pushed to the
Please see this link for an up-to-date comparison between the source branch of this pull request and the ➡️ To integrate this PR with the above commit message to the |
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.
LGTM
(but the aarch64 build errors may require you to re-merge head and build again)
Thanks Thomas and Ioi. I remerged mainline and the aarch64 failures in GHA went away. |
Going to push as commit 2ea62c1.
Your commit was automatically rebased without conflicts. |
Don't check lock ownership if an error has been reported.
Ran tier1-4 tests which include some intentionally crashing tests.
Progress
Issue
Reviewers
Reviewing
Using
git
Checkout this PR locally:
$ git fetch https://git.openjdk.org/jdk.git pull/13500/head:pull/13500
$ git checkout pull/13500
Update a local copy of the PR:
$ git checkout pull/13500
$ git pull https://git.openjdk.org/jdk.git pull/13500/head
Using Skara CLI tools
Checkout this PR locally:
$ git pr checkout 13500
View PR using the GUI difftool:
$ git pr show -t 13500
Using diff file
Download this PR as a diff file:
https://git.openjdk.org/jdk/pull/13500.diff
Webrev
Link to Webrev Comment