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

8278627: Shenandoah: TestHeapDump test failed #6864

Closed

Conversation

zhengyu123
Copy link
Contributor

@zhengyu123 zhengyu123 commented Dec 16, 2021

This intermittent failure seems to be observed only on Linux ppc64le, but it is not ppc specific problem.

With concurrent thread stack scanning/updating, nmtehod entry barrier has to be applied prior to thread stack/code roots scanning during heap iteration, to ensure scanner only sees to-space objects.

The patch also cleanup the use of nmethod::oops_do_marking_prologue/epilogue(), which should be used with nmethod::oops_do_try_claim() and closures that use the nmethod, e.g. MarkingCodeBlobClosure. Since Shenandoah switched to concurrent code root iteration, they are no longer applied.

Test:
The failure on Linux ppc64le is intermittent, usually sees a failure about 3 hotspot_gc_shenandoah runs. I have yet seen any failures after 10 runs with the patch.


Progress

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

Issue

Reviewers

Reviewing

Using git

Checkout this PR locally:
$ git fetch https://git.openjdk.java.net/jdk pull/6864/head:pull/6864
$ git checkout pull/6864

Update a local copy of the PR:
$ git checkout pull/6864
$ git pull https://git.openjdk.java.net/jdk pull/6864/head

Using Skara CLI tools

Checkout this PR locally:
$ git pr checkout 6864

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

Using diff file

Download this PR as a diff file:
https://git.openjdk.java.net/jdk/pull/6864.diff

@bridgekeeper
Copy link

@bridgekeeper bridgekeeper bot commented Dec 16, 2021

👋 Welcome back zgu! 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 changed the title 8278627: Shenandoah: TestHeapDump test failed on ppc64le 8278627: Shenandoah: TestHeapDump test failed on ppc64le Dec 16, 2021
@openjdk
Copy link

@openjdk openjdk bot commented Dec 16, 2021

@zhengyu123 The following labels will be automatically applied to this pull request:

  • hotspot-gc
  • shenandoah

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

@openjdk openjdk bot added hotspot-gc shenandoah labels Dec 16, 2021
@zhengyu123 zhengyu123 marked this pull request as ready for review Dec 16, 2021
@openjdk openjdk bot added the rfr label Dec 16, 2021
@mlbridge
Copy link

@mlbridge mlbridge bot commented Dec 16, 2021

Webrevs

@zhengyu123 zhengyu123 changed the title 8278627: Shenandoah: TestHeapDump test failed on ppc64le 8278627: Shenandoah: TestHeapDump test failed Dec 17, 2021
Copy link
Contributor

@rkennke rkennke left a comment

Looks good to me. Thank you!

@openjdk
Copy link

@openjdk openjdk bot commented Dec 17, 2021

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

8278627: Shenandoah: TestHeapDump test failed

Reviewed-by: rkennke, shade

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

  • ff5d417: 8278893: Parallel: Remove GCWorkerDelayMillis
  • 5179672: 8278953: Clarify Class.getDeclaredConstructor specification
  • 8549d8b: 8277100: Dynamic dump can inadvertently overwrite default CDS archive
  • 4c78c9a: 8270929: Obsolete the FilterSpuriousWakeups flag in JDK 19
  • 06206c7: 8278949: Cleanups for 8277850
  • 31fbb87: 6462028: MaskFormatter API documentation refers to getDisplayValue
  • 63e4303: 8278519: serviceability/jvmti/FieldAccessWatch/FieldAccessWatch.java failed "assert(handle != __null) failed: JNI handle should not be null"
  • 6f0e8da: 8278871: [JVMCI] assert((uint)reason < 2* _trap_hist_limit) failed: oob
  • 3c10b5d: 8278104: C1 should support the compiler directive 'BreakAtExecute'
  • cc44e13: 8278623: compiler/vectorapi/reshape/TestVectorCastAVX512.java after JDK-8259610
  • ... and 45 more: https://git.openjdk.java.net/jdk/compare/1e3ae3be02e1fa76c632ef289dd1887c7fa369ec...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 label Dec 17, 2021
Copy link
Contributor

@shipilev shipilev left a comment

Okay, but shouldn't this be in JDK 18?

@zhengyu123
Copy link
Contributor Author

@zhengyu123 zhengyu123 commented Dec 21, 2021

Okay, but shouldn't this be in JDK 18?

Yes, it should go to JDK 18 as I upgraded priority to P2. So I should close this one and fix in 18 repo, right?

I am still waiting for SAP's test results.

@shipilev
Copy link
Contributor

@shipilev shipilev commented Dec 21, 2021

Yes, it should go to JDK 18 as I upgraded priority to P2. So I should close this one and fix in 18 repo, right?

Yes, you need to do a PR against openjdk/jdk18.

@zhengyu123
Copy link
Contributor Author

@zhengyu123 zhengyu123 commented Dec 21, 2021

Moved PR to jdk18.

@zhengyu123 zhengyu123 closed this Dec 21, 2021
@shipilev
Copy link
Contributor

@shipilev shipilev commented Dec 21, 2021

JDK 18 PR is here: openjdk/jdk18#56

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
hotspot-gc ready rfr shenandoah
3 participants