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