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

8271242: Add Arena regression tests #4909

Closed

Conversation

@tstuefe
Copy link
Member

@tstuefe tstuefe commented Jul 27, 2021

May I please have reviews for these test additions. These are new regression tests for hotspot arenas. We don't have any and it makes sense to have them since this code is fragile and we work on it.

It also contains some new gtest utility functions which I will use to consolidate some more test coding, mainly in the metaspace gtests (in a future rfe).

It also comes with a new jtreg gtest launcher for arena tests to test UseMallocOnly mode. As long as we support that, we should test it.


tests:

  • gtests, manually with 32/64 bit and with/without UseMallocOnly
  • GHAs

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/4909/head:pull/4909
$ git checkout pull/4909

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

Using Skara CLI tools

Checkout this PR locally:
$ git pr checkout 4909

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

Using diff file

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

@bridgekeeper
Copy link

@bridgekeeper bridgekeeper bot commented Jul 27, 2021

👋 Welcome back stuefe! 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.

Loading

@openjdk
Copy link

@openjdk openjdk bot commented Jul 27, 2021

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

  • hotspot

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.

Loading

@openjdk openjdk bot added the hotspot label Jul 27, 2021
@tstuefe tstuefe marked this pull request as ready for review Jul 27, 2021
@openjdk openjdk bot added the rfr label Jul 27, 2021
@mlbridge
Copy link

@mlbridge mlbridge bot commented Jul 27, 2021

Webrevs

Loading

Copy link
Member

@mseledts mseledts left a comment

Thank you for adding these tests. These new tests look good to me (from HotSpot test engineer POV). Someone who is an expert in Arena allocation should review this change as well.

Loading

* @library /test/lib
* @modules java.base/jdk.internal.misc
* java.xml
* @requires vm.flagless
Copy link
Member

@mseledts mseledts Jul 27, 2021

Choose a reason for hiding this comment

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

Style comment: Please group all at-requires together in the same or neighboring lines.

Loading

Copy link
Member Author

@tstuefe tstuefe Jul 28, 2021

Choose a reason for hiding this comment

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

Will do.

Loading

@tstuefe
Copy link
Member Author

@tstuefe tstuefe commented Jul 28, 2021

Thank you for adding these tests. These new tests look good to me (from HotSpot test engineer POV). Someone who is an expert in Arena allocation should review this change as well.

Thank you Mikhailo!

Loading

Copy link
Contributor

@coleenp coleenp left a comment

Looks good. Thank you for writing these tests.

Loading

ASSERT_FALSE(ar.contains(p));
}
// Allocate again. The new allocations should have the same position as the 0-sized
// first one.
Copy link
Contributor

@coleenp coleenp Jul 29, 2021

Choose a reason for hiding this comment

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

It seems so dangerous to allow zero sized Amalloc.

Loading

Copy link
Member Author

@tstuefe tstuefe Jul 30, 2021

Choose a reason for hiding this comment

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

I agree, but I wanted these tests to test existing behavior.
I tried to do a quick "lets assert > 0" and that backfired, a bit of cleanup would be needed at the caller side.

Loading

@openjdk
Copy link

@openjdk openjdk bot commented Jul 29, 2021

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

8271242: Add Arena regression tests

Reviewed-by: mseledtsov, coleenp

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

  • d09b028: 8271396: Spelling errors
  • 489e5fd: 8268019: C2: assert(no_dead_loop) failed: dead loop detected
  • 6afcf5f: 8270886: Crash in PhaseIdealLoop::verify_strip_mined_scheduling
  • a0504cf: Merge
  • 20d2dc1: 8271403: mark hotspot runtime/memory tests which ignore external VM flags
  • e593e3d: 8271402: mark hotspot runtime/os tests which ignore external VM flags
  • 7bf72ce: 8271412: ProblemList javax/sound/midi/Sequencer/Looping.java
  • 6878b05: 8271251: JavaThread::java_suspend() fails with "fatal error: Illegal threadstate encountered: 6"
  • c8ae7e5: 8271174: runtime/ClassFile/UnsupportedClassFileVersion.java can be run in driver mode
  • 5fcf720: 8271352: Extend jcc erratum mitigation to additional processors
  • ... and 26 more: https://git.openjdk.java.net/jdk/compare/45d277feb04a51faa3858099336fc67dfb222542...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.

Loading

@openjdk openjdk bot added the ready label Jul 29, 2021
@tstuefe
Copy link
Member Author

@tstuefe tstuefe commented Jul 30, 2021

Looks good. Thank you for writing these tests.

Thank you Coleen!

Loading

@tstuefe
Copy link
Member Author

@tstuefe tstuefe commented Jul 30, 2021

/integrate

Loading

@openjdk
Copy link

@openjdk openjdk bot commented Jul 30, 2021

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

  • 5b3c418: 8270321: Startup regressions in 18-b5 caused by JDK-8266310
  • baf7797: 8049301: Suspicious use of string identity checks in JComponent.setUIProperty
  • 89f5c96: 8232066: Remove outdated code/methods from PKIX implementation
  • 9856ace: 8268963: [IR Framework] Some default regexes matching on PrintOptoAssembly in IRNode.java do not work on all platforms
  • b59418f: 8270060: (jdeprscan) tools/jdeprscan/tests/jdk/jdeprscan/TestRelease.java failed with class file for jdk.internal.util.random.RandomSupport not found
  • 4f42eb6: 8269523: runtime/Safepoint/TestAbortOnVMOperationTimeout.java failed when expecting 'VM operation took too long'
  • 77fbd99: 8270341: Test serviceability/dcmd/gc/HeapDumpAllTest.java timed-out
  • 048fb2c: Merge
  • 286d313: 8271489: (doc) Clarify Filter Factory example
  • d09b028: 8271396: Spelling errors
  • ... and 35 more: https://git.openjdk.java.net/jdk/compare/45d277feb04a51faa3858099336fc67dfb222542...master

Your commit was automatically rebased without conflicts.

Loading

@openjdk openjdk bot closed this Jul 30, 2021
@openjdk openjdk bot added integrated and removed ready rfr labels Jul 30, 2021
@openjdk
Copy link

@openjdk openjdk bot commented Jul 30, 2021

@tstuefe Pushed as commit cd7e30e.

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

Loading

@tstuefe tstuefe deleted the JDK-8271242-Add-Arena-regression-tests branch Aug 23, 2021
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
3 participants