[jdk17u-dev] RFR: 8274753: ZGC: SEGV in MetaspaceShared::link_shared_classes

Rui Li duke at openjdk.org
Fri Oct 21 03:08:19 UTC 2022


On Thu, 20 Oct 2022 22:22:06 GMT, Rui Li <duke at openjdk.org> wrote:

>> src/hotspot/share/classfile/classLoaderData.cpp line 893:
>> 
>>> 891:       if (Arguments::is_dumping_archive()) {
>>> 892:         SystemDictionaryShared::remove_dumptime_info(ik);
>>> 893:       }
>> 
>> 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
>
> @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.

Attempted 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 ===

-------------

PR: https://git.openjdk.org/jdk17u-dev/pull/118


More information about the jdk-updates-dev mailing list