-
Notifications
You must be signed in to change notification settings - Fork 5.5k
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
8328066: WhiteBoxResizeTest failure on linux-x86: Could not reserve enough space for 2097152KB object heap #18290
Conversation
…nough space for 2097152KB object heap
👋 Welcome back jpai! A progress list of the required criteria for merging this PR into |
@jaikiran 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:
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 68 new commits pushed to the
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 |
Webrevs
|
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
LGTM.
I see that some other tests have things like:
* @requires vm.bits == "64" & os.maxMemory > 4G
Not sure what is the preferred form in such cases: two @requires
or a single one?
Hello Daniel,
As per jtreg doc, semantically they would be the same:
However, your suggestion I think is a good one, since it makes it quicker to notice the requirements instead of having it spread across on multiple lines. I'll update the PR to implement your suggestion. |
I think the os.maxMemory is an artificial constraint. as the issue relates to the max user virtual address space available on 32 bit architecture |
maybe ask the question: why does the test need 2GB ? Would 1Gb suffice and that would be within the allocation limits for 32 bit architectures virtual address space. |
Hello Mark,
The reason why 2GB is needed in this test is explained in https://bugs.openjdk.org/browse/JDK-8285386. I see that Andrew (and previously Daniel) have approved this change and the updated version checks only for |
ok thanks ... i'll re-read c.f. comment in JDK-8285386. "Some internal discussion reveals that the default heap size for running tests is 768 MB. (Tests are run with -Xmx768m.) The test allocates a HashMap with capacity (array length) of 134217728. This consumes about 536MB with compressed OOPS (4 bytes per array element), but 1072MB without compressed OOPS (8 bytes per array element). That explains the failures in the configurations where compressed OOPS is disabled. I'll change the test to require 2GB of heap (-Xmx2g) which should accommodate the array allocation, and which should run easily on all our test machine configurations." |
Thank you Mark, Daniel and Andrew for the reviews. I'll go ahead and integrate this now. |
/integrate |
Going to push as commit dde519d.
Your commit was automatically rebased without conflicts. |
Can I please get a review of this test-only change which proposes to address https://bugs.openjdk.org/browse/JDK-8328066?
The test launches a JVM with 2G heap (
-Xmx2G
) and as noted in that issue, the failure was observed on linux-86 instance on a GitHub jobs run.The commit in this PR proposes to add relevant
@requires
so that the test is only run on 64 bit VM and expects theos.maxMemory
to be > 2G.The change has been tested on a linux-x86 run in GitHub actions job, plus even on local and CI 64 bit VM environments. No failures have been noticed.
Progress
Issue
Reviewers
Reviewing
Using
git
Checkout this PR locally:
$ git fetch https://git.openjdk.org/jdk.git pull/18290/head:pull/18290
$ git checkout pull/18290
Update a local copy of the PR:
$ git checkout pull/18290
$ git pull https://git.openjdk.org/jdk.git pull/18290/head
Using Skara CLI tools
Checkout this PR locally:
$ git pr checkout 18290
View PR using the GUI difftool:
$ git pr show -t 18290
Using diff file
Download this PR as a diff file:
https://git.openjdk.org/jdk/pull/18290.diff
Webrev
Link to Webrev Comment