Skip to content

Conversation

@shipilev
Copy link
Member

@shipilev shipilev commented Jun 19, 2025

Clean bailout from the optimization added in JDK 21. While the patch is fairly recent, it does not come with elevated risk, as it just skips the optimization in the case where the alternative is compiler crash. This crash is seen in real world: adoptium/adoptium-support#1191

Additional testing:

  • Linux x86_64 server fastdebug, all

Progress

  • Change must not contain extraneous whitespace
  • Commit message must refer to an issue
  • JDK-8358534 needs maintainer approval

Issue

  • JDK-8358534: Bailout in Conv2B::Ideal when type of cmp input is not supported (Bug - P3 - Approved)

Reviewers

Reviewing

Using git

Checkout this PR locally:
$ git fetch https://git.openjdk.org/jdk21u-dev.git pull/1904/head:pull/1904
$ git checkout pull/1904

Update a local copy of the PR:
$ git checkout pull/1904
$ git pull https://git.openjdk.org/jdk21u-dev.git pull/1904/head

Using Skara CLI tools

Checkout this PR locally:
$ git pr checkout 1904

View PR using the GUI difftool:
$ git pr show -t 1904

Using diff file

Download this PR as a diff file:
https://git.openjdk.org/jdk21u-dev/pull/1904.diff

Using Webrev

Link to Webrev Comment

@bridgekeeper
Copy link

bridgekeeper bot commented Jun 19, 2025

👋 Welcome back shade! A progress list of the required criteria for merging this PR into master will be added to the body of your pull request. There are additional pull request commands available for use with this pull request.

@openjdk
Copy link

openjdk bot commented Jun 19, 2025

@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:

8358534: Bailout in Conv2B::Ideal when type of cmp input is not supported

Reviewed-by: cslucas

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 15 new commits pushed to the master branch:

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 master branch, type /integrate in a new comment.

@openjdk openjdk bot changed the title Backport 704b5990a750719ca927e156553db7982637e590 8358534: Bailout in Conv2B::Ideal when type of cmp input is not supported Jun 19, 2025
@openjdk
Copy link

openjdk bot commented Jun 19, 2025

This backport pull request has now been updated with issue from the original commit.

@openjdk openjdk bot added backport Port of a pull request already in a different code base clean Identical backport; no merge resolution required labels Jun 19, 2025
@openjdk
Copy link

openjdk bot commented Jun 19, 2025

⚠️ @shipilev This change is now ready for you to apply for maintainer approval. This can be done directly in each associated issue or by using the /approval command.

@openjdk openjdk bot added the rfr Pull request is ready for review label Jun 19, 2025
@mlbridge
Copy link

mlbridge bot commented Jun 19, 2025

Webrevs

@shipilev
Copy link
Member Author

/approval request Fixes the regression caused by the optimization added in JDK 21. While the patch is fairly recent, its risk is low, as it just skips the optimization in the case where the alternative is compiler crash. This crash is seen in real world. Applies cleanly. All testing passes.

@openjdk
Copy link

openjdk bot commented Jun 19, 2025

@shipilev
8358534: The approval request has been created successfully.

@openjdk openjdk bot added the approval Requires approval; will be removed when approval is received label Jun 19, 2025
Copy link
Contributor

@JohnTortugo JohnTortugo left a comment

Choose a reason for hiding this comment

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

LGTM

@jerboaa
Copy link
Contributor

jerboaa commented Jun 23, 2025

/approve yes

@openjdk
Copy link

openjdk bot commented Jun 23, 2025

@jerboaa
8358534: The approval request has been approved.

@openjdk openjdk bot added ready Pull request is ready to be integrated and removed approval Requires approval; will be removed when approval is received labels Jun 23, 2025
@shipilev
Copy link
Member Author

Push approval granted. Here goes.

/integrate

@openjdk
Copy link

openjdk bot commented Jun 23, 2025

Going to push as commit f55ff01.
Since your change was applied there have been 15 commits pushed to the master branch:

Your commit was automatically rebased without conflicts.

@openjdk openjdk bot added the integrated Pull request has been integrated label Jun 23, 2025
@openjdk openjdk bot closed this Jun 23, 2025
@openjdk openjdk bot removed ready Pull request is ready to be integrated rfr Pull request is ready for review labels Jun 23, 2025
@openjdk
Copy link

openjdk bot commented Jun 23, 2025

@shipilev Pushed as commit f55ff01.

💡 You may see a message that your pull request was closed with unmerged commits. This can be safely ignored.

@victornoel
Copy link

victornoel commented Jul 16, 2025

Hi @shipilev, sorry to bother you but I see that since this PR was merged, jdk-21.0.8+9 was released, but I don't see the corresponding commit in that tag. I feel like I'm missing something but shouldn't it have been included in it?

Thanks for your help!

@shipilev
Copy link
Member Author

@victornoel -- I cannot see your reply, bots asked you something :)

@victornoel
Copy link

Done, thx for the heads up because I didn't get notified 😅

@jerboaa
Copy link
Contributor

jerboaa commented Jul 16, 2025

I feel like I'm missing something but shouldn't it have been included in it?

Yes. The bug is fixed in 21.0.9 (upcoming release in October) only. See backports section in: https://bugs.openjdk.org/browse/JDK-8358534

@shipilev
Copy link
Member Author

Ah, OK, I see the comment now. So the answer is simple: the fix went into 21u on June 23, this is way past the stabilization cutoff for 21.0.8 (July 2025) release. The fix would normally be in 21.0.9 (Oct 2025). In retrospect, we could have requested a critical approval for July 2025 release, but there is not a solid chance it would have been accepted.

@victornoel
Copy link

Ah ! Thank you both for the explanation, I better understand now (should have thought about double checking the bug itself!). Thanks again for the fix, I will patiently wait then :)

Cheers!

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

backport Port of a pull request already in a different code base clean Identical backport; no merge resolution required integrated Pull request has been integrated

Development

Successfully merging this pull request may close these issues.

4 participants