RFR: 8304147: JVM crash during shutdown when dumping dynamic archive [v2]
Coleen Phillimore
coleenp at openjdk.org
Mon Mar 27 21:38:38 UTC 2023
On Mon, 27 Mar 2023 21:28:12 GMT, David Holmes <dholmes at openjdk.org> wrote:
>> 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.
Okay, thank you. It's good you found the handle. Yes, you can file another PR to move the HM down and leave this as is.
-------------
PR Review Comment: https://git.openjdk.org/jdk/pull/13134#discussion_r1149813391
More information about the hotspot-runtime-dev
mailing list