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

8280553: resourcehogs/serviceability/sa/TestHeapDumpForLargeArray.java can fail if GC occurs #7236

Closed
wants to merge 2 commits into from

Conversation

plummercj
Copy link
Contributor

@plummercj plummercj commented Jan 26, 2022

This test is failing in the loom repo when using -Xcomp. The reason is because loom introduced doing a full GC in the codecache sweeper, which causes the large array that the test allocates to be GC'd before the heap dump is done. The fix is to make the large array static rather than a local variable.

I'm choosing to fix this in the jdk repo rather than the loom repo since it is a latent bug that theoretically could occur even without the loom changes, and also to help reduce the amount of changes to be reviewed when loom is integrated into jdk.


Progress

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

Issue

  • JDK-8280553: resourcehogs/serviceability/sa/TestHeapDumpForLargeArray.java can fail if GC occurs

Reviewers

Reviewing

Using git

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

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

Using Skara CLI tools

Checkout this PR locally:
$ git pr checkout 7236

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

Using diff file

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

@bridgekeeper
Copy link

bridgekeeper bot commented Jan 26, 2022

👋 Welcome back cjplummer! 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 label Jan 26, 2022
@openjdk
Copy link

openjdk bot commented Jan 26, 2022

@plummercj To determine the appropriate audience for reviewing this pull request, one or more labels corresponding to different subsystems will normally be applied automatically. However, no automatic labelling rule matches the changes in this pull request. In order to have an "RFR" email sent to the correct mailing list, you will need to add one or more applicable labels manually using the /label pull request command.

Applicable Labels
  • build
  • client
  • compiler
  • core-libs
  • hotspot
  • hotspot-compiler
  • hotspot-gc
  • hotspot-jfr
  • hotspot-runtime
  • i18n
  • ide-support
  • javadoc
  • jdk
  • jmx
  • kulla
  • net
  • nio
  • security
  • serviceability
  • shenandoah

@plummercj
Copy link
Contributor Author

plummercj commented Jan 28, 2022

/label serviceability

@openjdk openjdk bot added the serviceability label Jan 28, 2022
@openjdk
Copy link

openjdk bot commented Jan 28, 2022

@plummercj
The serviceability label was successfully added.

@mlbridge
Copy link

mlbridge bot commented Jan 28, 2022

Webrevs

@openjdk
Copy link

openjdk bot commented Jan 28, 2022

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

8280553: resourcehogs/serviceability/sa/TestHeapDumpForLargeArray.java can fail if GC occurs

Reviewed-by: alanb, amenkov

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

  • ed826f2: 8280397: Factor out task queue statistics printing
  • 8a3cca0: 8280784: VM_Cleanup unnecessarily processes all thread oops
  • 973dda5: 8280804: Parallel: Remove unused variables in PSPromotionManager::drain_stacks_depth
  • 55f180f: 8280004: DCmdArgument::parse_value() should handle NULL input
  • 178ac74: 8251466: test/java/io/File/GetXSpace.java fails on Windows with mapped network drives.
  • a1d1e47: 8280823: Remove NULL check in DumpTimeClassInfo::is_excluded
  • 094db1a: 8277948: AArch64: Print the correct native stack if -XX:+PreserveFramePointer when crash
  • 7857405: 8280744: Allow SuppressWarnings to be used in all declaration contexts
  • 40a2ce2: 8270476: Make floating-point test infrastructure more lambda and method reference friendly
  • 6d242e4: 8280835: jdk/javadoc/tool/CheckManPageOptions.java depends on source hierarchy
  • ... and 160 more: https://git.openjdk.java.net/jdk/compare/46fd683820bb7149c0605a0ba03f59e76de69c16...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 Jan 28, 2022
@plummercj
Copy link
Contributor Author

plummercj commented Jan 29, 2022

Thanks for the reviews Alan and Alex!

@plummercj
Copy link
Contributor Author

plummercj commented Jan 29, 2022

/integrate

@openjdk
Copy link

openjdk bot commented Jan 29, 2022

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

  • 268880b: 8277412: Use String.isBlank to simplify code in sun.net.www.protocol.mailto.Handler
  • d366d15: 8280903: javadoc build fails after JDK-4774868
  • 9139159: 8280843: macos-Aarch64 SEGV in frame::sender_for_compiled_frame after JDK-8277948
  • 0740ac4: 8280555: serviceability/sa/TestObjectMonitorIterate.java is failing due to ObjectMonitor referencing a null Object
  • ff34d62: 8280898: ProblemList compiler/regalloc/TestC2IntPressure.java on macosx-aarch64
  • 95ee9bf: 4774868: (fc spec) Unclear spec for FileChannel.force
  • 409382b: 8280703: CipherCore.doFinal(...) causes potentially massive byte[] allocations during decryption
  • cb8a82e: 8272317: jstatd has dependency on Security Manager which needs to be removed
  • 6de90ad: 8280863: Update build README to reflect that MSYS2 is supported
  • ed826f2: 8280397: Factor out task queue statistics printing
  • ... and 169 more: https://git.openjdk.java.net/jdk/compare/46fd683820bb7149c0605a0ba03f59e76de69c16...master

Your commit was automatically rebased without conflicts.

@openjdk openjdk bot added the integrated label Jan 29, 2022
@openjdk openjdk bot closed this Jan 29, 2022
@openjdk openjdk bot removed ready rfr labels Jan 29, 2022
@openjdk
Copy link

openjdk bot commented Jan 29, 2022

@plummercj Pushed as commit be9f984.

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

@plummercj plummercj deleted the 8280553_heapdump branch Feb 1, 2022
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
integrated serviceability
3 participants