8388449: GenShen: Degenerated cycle could be skipped - #691
Conversation
|
👋 Welcome back wkemper! A progress list of the required criteria for merging this PR into |
|
❗ This change is not yet ready to be integrated. |
|
This backport pull request has now been updated with issues from the original commit. |
kdnilsen
left a comment
There was a problem hiding this comment.
Thanks for this backport.
|
|
|
/approval request We observed an assertion failure in which Shenandoah's generational mode attempted to skip running a degenerated cycle after an allocation failure. This is not optional for Shenandoah and could result in heap corruption. The change here replaces an unconditional exchange with an exchange that protects allocation failures from being overwritten by other threads. There is also a related change that replaces multiple reads of a mutable variable with a single atomic read. |
|
@earthling-amzn |
Not clean, but not difficult to resolve conflicts. Fixes a serious issue in which Shenandoah could skip a degenerated cycle, or observe an unacceptable cancellation reason during shutdown.
Progress
Issues
Reviewers
Reviewing
Using
gitCheckout this PR locally:
$ git fetch https://git.openjdk.org/jdk25u-dev.git pull/691/head:pull/691$ git checkout pull/691Update a local copy of the PR:
$ git checkout pull/691$ git pull https://git.openjdk.org/jdk25u-dev.git pull/691/headUsing Skara CLI tools
Checkout this PR locally:
$ git pr checkout 691View PR using the GUI difftool:
$ git pr show -t 691Using diff file
Download this PR as a diff file:
https://git.openjdk.org/jdk25u-dev/pull/691.diff
Using Webrev
Link to Webrev Comment