I've attached a stress test for com.sun.management.HotSpotDiagnosticMXBean.dumpThreads. The test invokes the dumpThreads method while many virtual threads are parking and unparking. There test currently triggers several asserts, even when the (currently in-progress) changes for JDK-8364314 and JDK-8361103 included.
The assert when when an empty stack chunk is encountered looks like this:
V [libjvm.dylib+0x1226c20] VMError::report(outputStream*, bool)+0x1b00 (stackChunkOop.cpp:102)
V [libjvm.dylib+0x122a4c0] VMError::report_and_die(int, char const*, char const*, char*, Thread*, unsigned char*, void const*, void const*, char const*, int, unsigned long)+0x55c
V [libjvm.dylib+0x5ac01c] print_error_for_unit_test(char const*, char const*, char*)+0x0
V [libjvm.dylib+0x1033bb4] stackChunkOopDesc::num_java_frames() const+0x0
V [libjvm.dylib+0x1013fd0] frame::sender_raw(RegisterMap*) const+0x78
V [libjvm.dylib+0x51a4e8] vframeStreamCommon::next()+0x404
V [libjvm.dylib+0x117a2ec] GetThreadSnapshotHandshakeClosure::do_thread(Thread*)+0xa9c
V [libjvm.dylib+0x11792fc] ThreadSnapshotFactory::get_thread_snapshot(_jobject*, JavaThread*)+0x93c
V [libjvm.dylib+0xa68648] JVM_CreateThreadSnapshot+0xe4
The assert when when an empty stack chunk is encountered looks like this:
V [libjvm.dylib+0x1226c20] VMError::report(outputStream*, bool)+0x1b00 (stackChunkOop.cpp:102)
V [libjvm.dylib+0x122a4c0] VMError::report_and_die(int, char const*, char const*, char*, Thread*, unsigned char*, void const*, void const*, char const*, int, unsigned long)+0x55c
V [libjvm.dylib+0x5ac01c] print_error_for_unit_test(char const*, char const*, char*)+0x0
V [libjvm.dylib+0x1033bb4] stackChunkOopDesc::num_java_frames() const+0x0
V [libjvm.dylib+0x1013fd0] frame::sender_raw(RegisterMap*) const+0x78
V [libjvm.dylib+0x51a4e8] vframeStreamCommon::next()+0x404
V [libjvm.dylib+0x117a2ec] GetThreadSnapshotHandshakeClosure::do_thread(Thread*)+0xa9c
V [libjvm.dylib+0x11792fc] ThreadSnapshotFactory::get_thread_snapshot(_jobject*, JavaThread*)+0x93c
V [libjvm.dylib+0xa68648] JVM_CreateThreadSnapshot+0xe4
- relates to
-
JDK-8361913 Thread.dump_to_file is not protected from mount/unmount
-
- Open
-