RFR: 8304147: JVM crash during shutdown when dumping dynamic archive [v2]
David Holmes
dholmes at openjdk.org
Mon Mar 27 21:31:08 UTC 2023
On Mon, 27 Mar 2023 21:16:14 GMT, David Holmes <dholmes at openjdk.org> wrote:
>> The HandleMarks should be around the code that creates and uses the handles, so GC doesn't have to collect Handles that are not needed. I don't see any Handle's escaping from link_shared_classes or any there. If you remove the HandleMark does (or where does) the code assert?
>
> Yes it asserts. I'll have to reproduce it in the morning to get the stack again (test directory was overwritten). In the old code it comes from the JVM_ENTRY for `before_halt`, as that has a HandleMarkCleaner.
Stack: [0x00007f22cfdae000,0x00007f22cfeaf000], sp=0x00007f22cfead390, free space=1020k
Native frames: (J=compiled Java code, j=interpreted, Vv=VM code, C=native code)
V [libjvm.so+0xf54cf4] HandleArea::allocate_handle(oop)+0x214 (handles.cpp:40)
V [libjvm.so+0xab3494] ClassPrelinker::find_loaded_class(JavaThread*, oop, Symbol*)+0xb4 (handles.inline.hpp:42)
V [libjvm.so+0xab42f2] ClassPrelinker::maybe_resolve_class(constantPoolHandle, int, JavaThread*)+0xd2 (classPrelinker.cpp:173)
V [libjvm.so+0xab4f0e] ClassPrelinker::dumptime_resolve_constants(InstanceKlass*, JavaThread*)+0x40e (classPrelinker.cpp:134)
V [libjvm.so+0x1621479] MetaspaceShared::link_shared_classes(bool, JavaThread*)+0x2f9 (metaspaceShared.cpp:621)
V [libjvm.so+0xd01658] DynamicArchive::dump_at_exit(JavaThread*, char const*)+0x318 (dynamicArchive.cpp:392)
V [libjvm.so+0x1064ea6] before_exit(JavaThread*, bool)+0x86 (java.cpp:445)
V [libjvm.so+0x1ac8468] Threads::destroy_vm()+0x1b8 (threads.cpp:1085)
V [libjvm.so+0x118be7d] jni_DestroyJavaVM+0xad (jni.cpp:3735)
@coleenp I'm going to assume you will say that there is a missing HM in the ClassPrelinker code. If so I will file an issue for that and add it to this PR.
-------------
PR Review Comment: https://git.openjdk.org/jdk/pull/13134#discussion_r1149808354
More information about the hotspot-runtime-dev
mailing list