-
Notifications
You must be signed in to change notification settings - Fork 232
8274753: ZGC: SEGV in MetaspaceShared::link_shared_classes #118
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
|
👋 Welcome back stuefe! A progress list of the required criteria for merging this PR into |
|
This backport pull request has now been updated with issues from the original commit. |
| // But still have to remove it from the dumptime_table. | ||
| if (Arguments::is_dumping_archive()) { | ||
| SystemDictionaryShared::remove_dumptime_info(ik); | ||
| } |
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.
This is a part of handle_class_unloading(). I.e., you basically "undo" '8267189: Remove duplicated unregistered classes from dynamic archive'. That change replaced remove_dumptime_info() by handle_class_unloading() which calls remove_dumptime_info().
And you add the check for is_dumping_archive() that was
added to handle_class_unloading() in
'8265602: -XX:DumpLoadedClassList should support custom loaders'.
LGTM
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.
@GoeLin I'm backporting https://bugs.openjdk.org/browse/JDK-8267189 to 17 and found this comment. Having trouble understanding it. Is it still safe / recommended to backport JDK-8267189 with this unclean 8274753 backport? Thanks.
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.
Attempted to backport https://bugs.openjdk.org/browse/JDK-8267189, but the build failed due to these methods. I guess it won't be a clean backport.
Not very familiar with the code, would you be able to give suggestion on where I should update? With JDK-8267189, can we remove SystemDictionaryShared::remove_dumptime_info(ik);?
=== Output from failing command(s) repeated here ===
* For target hotspot_variant-server_libjvm_objs_classLoaderData.o:
src/hotspot/share/classfile/classLoaderData.cpp: In member function 'void ClassLoaderData::free_deallocate_list_C_heap_structures()':
src/hotspot/share/classfile/classLoaderData.cpp:892:56: error: 'static void SystemDictionaryShared::remove_dumptime_info(InstanceKlass*)' is private within this context
SystemDictionaryShared::remove_dumptime_info(ik);
^
In file included from src/hotspot/share/classfile/classLoaderData.cpp:58:0:
src/hotspot/share/classfile/systemDictionaryShared.hpp:234:15: note: declared private here
static void remove_dumptime_info(InstanceKlass* k) NOT_CDS_RETURN;
^~~~~~~~~~~~~~~~~~~~
At global scope:
cc1plus: error: unrecognized command line option '-Wno-cast-function-type' [-Werror]
cc1plus: all warnings being treated as errors
* All command lines available in /workplace/ruiamzn/github/jdk17u-dev/build/linux-x86_64-server-release/make-support/failure-logs.
=== End of repeated output ===
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.
Looked through the code, JDK-8267189 introduces handle_class_unloading.
It seems undoing this change necessary changes for jdk17 as part of backporting JDK-8267189 makes sense (?). Tested locally with simply make images, can build.
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.
Tested jtreg_tier1 with current draft, failed at TestUnloadClassError.java
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.
Please don't comment in this old PR. Use the new one you opened.
|
@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: 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 11 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 |
phohensee
left a comment
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.
|
@GoeLin, @phohensee thanks! |
|
/integrate |
|
Going to push as commit b23271b.
Your commit was automatically rebased without conflicts. |
Hi all,
not a clean backport. I had to fix up classLoaderData.cpp a bit because
SystemDictionaryShared::handle_class_unloading(ik);does not yet exist in jdk17 and I did not want to bring the dependent cleanup change into jdk17 too (among other things because Oracle seems not to have done it either in their closed backport as far as I can glean from the JBS tags).Tested in SAP nightlies for about a week now.
Thanks!
Progress
Issues
Reviewers
Reviewing
Using
gitCheckout this PR locally:
$ git fetch https://git.openjdk.java.net/jdk17u-dev pull/118/head:pull/118$ git checkout pull/118Update a local copy of the PR:
$ git checkout pull/118$ git pull https://git.openjdk.java.net/jdk17u-dev pull/118/headUsing Skara CLI tools
Checkout this PR locally:
$ git pr checkout 118View PR using the GUI difftool:
$ git pr show -t 118Using diff file
Download this PR as a diff file:
https://git.openjdk.java.net/jdk17u-dev/pull/118.diff