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

8256986: [PPC64] C2 crashes when accessing nonexisting jvms of CallLeafDirectNode #1418

Closed
wants to merge 2 commits into from

Conversation

TheRealMDoerr
Copy link
Contributor

@TheRealMDoerr TheRealMDoerr commented Nov 24, 2020

observe_safepoint() is called with jvms == NULL from fill_buffer with mach = CallLeafDirectNode.
That node represents a leaf call and does not safepoint.
"_guaranteed_safepoint" needs to get set correctly for all MachCallNodes after JDK-8254231.

In addition MachCallRuntimeNode::ret_addr_offset() need update for the new assertion in output.cpp.
This was already fixed on some other platforms.


Progress

  • Change must not contain extraneous whitespace
  • Commit message must refer to an issue
  • Change must be properly reviewed

Testing

Linux x64 Linux x86 Windows x64 macOS x64
Build ❌ (6/6 failed) ❌ (2/2 failed) ✔️ (2/2 passed) ✔️ (2/2 passed)
Test (tier1) ✔️ (9/9 passed) ✔️ (9/9 passed)

Failed test tasks

Issue

  • JDK-8256986: [PPC64] C2 crashes when accessing nonexisting jvms of CallLeafDirectNode

Reviewers

Download

$ git fetch https://git.openjdk.java.net/jdk pull/1418/head:pull/1418
$ git checkout pull/1418

@bridgekeeper
Copy link

bridgekeeper bot commented Nov 24, 2020

👋 Welcome back mdoerr! 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 openjdk bot added the rfr Pull request is ready for review label Nov 24, 2020
@openjdk
Copy link

openjdk bot commented Nov 24, 2020

@TheRealMDoerr The following label will be automatically applied to this pull request:

  • hotspot-compiler

When this pull request is ready to be reviewed, an "RFR" email will be sent to the corresponding mailing list. If you would like to change these labels, use the /label pull request command.

@openjdk openjdk bot added the hotspot-compiler hotspot-compiler-dev@openjdk.org label Nov 24, 2020
@mlbridge
Copy link

mlbridge bot commented Nov 24, 2020

Webrevs

Copy link
Contributor

@jrziviani jrziviani left a comment

Choose a reason for hiding this comment

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

Looks good to me

Copy link
Contributor

@jrziviani jrziviani left a comment

Choose a reason for hiding this comment

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

Thanks for fixing it. Before this patch I was getting

#
# A fatal error has been detected by the Java Runtime Environment:
#
#  SIGSEGV (0xb) at pc=0x00007ffff73a50ec, pid=3812898, tid=3812899

I was trying to find the issue. Thank you!

Copy link
Contributor

@RealCLanger RealCLanger left a comment

Choose a reason for hiding this comment

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

LGTM

@openjdk
Copy link

openjdk bot commented Nov 27, 2020

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

8256986: [PPC64] C2 crashes when accessing nonexisting jvms of CallLeafDirectNode

Reviewed-by: clanger

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

  • 644271e: 8248566: Make API docs more usable on mobile browsers
  • 53d1444: 8244535: JavaDoc search is overly strict with letter case
  • 78fdb65: 8254893: Fix display of search tag results without holder information
  • 20525d2: 8257149: Improve G1 Service thread task scheduling to guarantee task delay
  • f2f3ba9: 8242652: Throw SkippedException if no JS engine availabe in TestSearchScript
  • ee99686: 8252645: Change time measurements in G1ServiceThread to only account remembered set work
  • a3eec39: 8257181: s390x builds are very noisy with gc-sections messages
  • 9a468d8: 8256757: Incorrect MachCallRuntimeNode::ret_addr_offset() for CallLeafNoFP on x86_32
  • 2215e5a: 8255351: Add detection for Graviton 2 CPUs
  • 62d72de: 8220730: sun.security.provider.SecureRandom default constructor has wrong documentation
  • ... and 43 more: https://git.openjdk.java.net/jdk/compare/3b3e90ecadede04190762b372c191e45cb5e0008...master

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 added the ready Pull request is ready to be integrated label Nov 27, 2020
@TheRealMDoerr
Copy link
Contributor Author

Thanks for the reviews!
/integrate

@openjdk openjdk bot closed this Nov 27, 2020
@openjdk openjdk bot added integrated Pull request has been integrated and removed ready Pull request is ready to be integrated rfr Pull request is ready for review labels Nov 27, 2020
@TheRealMDoerr TheRealMDoerr deleted the 8256986_ppc64_c2 branch November 27, 2020 15:44
@openjdk
Copy link

openjdk bot commented Nov 27, 2020

@TheRealMDoerr Since your change was applied there have been 53 commits pushed to the master branch:

  • 644271e: 8248566: Make API docs more usable on mobile browsers
  • 53d1444: 8244535: JavaDoc search is overly strict with letter case
  • 78fdb65: 8254893: Fix display of search tag results without holder information
  • 20525d2: 8257149: Improve G1 Service thread task scheduling to guarantee task delay
  • f2f3ba9: 8242652: Throw SkippedException if no JS engine availabe in TestSearchScript
  • ee99686: 8252645: Change time measurements in G1ServiceThread to only account remembered set work
  • a3eec39: 8257181: s390x builds are very noisy with gc-sections messages
  • 9a468d8: 8256757: Incorrect MachCallRuntimeNode::ret_addr_offset() for CallLeafNoFP on x86_32
  • 2215e5a: 8255351: Add detection for Graviton 2 CPUs
  • 62d72de: 8220730: sun.security.provider.SecureRandom default constructor has wrong documentation
  • ... and 43 more: https://git.openjdk.java.net/jdk/compare/3b3e90ecadede04190762b372c191e45cb5e0008...master

Your commit was automatically rebased without conflicts.

Pushed as commit d51e2ab.

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

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
hotspot-compiler hotspot-compiler-dev@openjdk.org integrated Pull request has been integrated
3 participants