-
Notifications
You must be signed in to change notification settings - Fork 6.1k
8299329: Assertion failure with fastdebug build when trying to use CDS without classpath #11781
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
Conversation
…S without classpath Signed-off-by: Ashutosh Mehra <asmehra@redhat.com>
👋 Welcome back ashu-mehra! A progress list of the required criteria for merging this PR into |
@ashu-mehra The following label will be automatically applied to this pull request:
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. |
Webrevs
|
Could we add a test for this a la |
@jerboaa I see WrongClasspath.java already has a test for "no classpath" condition, but it is not failing with debug build.
The classpath is appended by jdk.test.lib.process.ProcessTools#createJavaProcessBuilder():
That means the "no classpath" test is not really testing what it is expected to. |
Maybe we can do this?
That should override the Also, I think you should add the Thanks! |
Signed-off-by: Ashutosh Mehra <asmehra@redhat.com>
Signed-off-by: Ashutosh Mehra <asmehra@redhat.com>
Signed-off-by: Ashutosh Mehra <asmehra@redhat.com>
Adding
I have added this test as well. |
Signed-off-by: Ashutosh Mehra <asmehra@redhat.com>
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
@ashu-mehra 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 157 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. As you do not have Committer status in this project an existing Committer must agree to sponsor your change. Possible candidates are the reviewers of this PR (@iklam, @calvinccheung) but any other Committer may sponsor as well. ➡️ To flag this PR as ready for integration with the above commit message, type |
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.
Thanks for fixing this. Just one nit below.
Signed-off-by: Ashutosh Mehra <asmehra@redhat.com>
There is a test failure on macos-x64 not related to the changes in this PR.
Looks like this is same as JDK-8298215 which is already fixed. I guess the branch is not up-to-date and doesn't have the required fix, which is why this test failed. I think the failure can be ignored. |
/sponsor |
@ashu-mehra Only Committers are allowed to sponsor changes. |
/integrate |
@ashu-mehra |
Yes, if your repo doesn't contain the fix for JDK-8298215, the failure could be ignored. |
/sponsor |
Going to push as commit be64bf8.
Your commit was automatically rebased without conflicts. |
@calvinccheung @ashu-mehra Pushed as commit be64bf8. 💡 You may see a message that your pull request was closed with unmerged commits. This can be safely ignored. |
This change has introduced a test failure in our tier 4 testing: |
It appears longest_common_app_classpath_prefix_len() is not returning correct value when there is no file separator in the path being searched backwards. Instead of returning 0 it return 1.
In case of empty classpath, it can result in assertion failure in check_paths():
assert(strlen(rp_array->at(i)) > (size_t)runtime_prefix_len, "sanity");
It can also result in incorrectly validating the app classpaths if they only differ by first character. Eg:
Dump time:
-cp hello.jar
Run time:
-cp mello.jar
This would not result in classpath mismatch!
This fix updates longest_common_app_classpath_prefix_len() to return 0 if no file separator character is found.
Signed-off-by: Ashutosh Mehra asmehra@redhat.com
Progress
Issue
Reviewers
Reviewing
Using
git
Checkout this PR locally:
$ git fetch https://git.openjdk.org/jdk pull/11781/head:pull/11781
$ git checkout pull/11781
Update a local copy of the PR:
$ git checkout pull/11781
$ git pull https://git.openjdk.org/jdk pull/11781/head
Using Skara CLI tools
Checkout this PR locally:
$ git pr checkout 11781
View PR using the GUI difftool:
$ git pr show -t 11781
Using diff file
Download this PR as a diff file:
https://git.openjdk.org/jdk/pull/11781.diff