RFR: 8342818: Implement CPU Time Profiling for JFR [v4]
Markus Grönlund
mgronlun at openjdk.org
Thu Oct 31 13:07:41 UTC 2024
On Wed, 30 Oct 2024 19:34:23 GMT, Johannes Bechberger <jbechberger at openjdk.org> wrote:
>> This is the code for the [JEP draft: CPU Time based profiling for JFR].
>
> Johannes Bechberger has updated the pull request incrementally with one additional commit since the last revision:
>
> Remove min_valid_free_size_bytes
Linux AArch64-debug:
Are you enqueuing entries that have already been unloaded?
A fatal error has been detected by the Java Runtime Environment:
SIGSEGV (0xb) at pc=0x0000ffff898316e4, pid=458651, tid=458700
JRE version: Java(TM) SE Runtime Environment (24.0) (fastdebug build 24-internal-2024-10-30-2131063.markus.gronlund.jdkcopy)
Java VM: Java HotSpot(TM) 64-Bit Server VM (fastdebug 24-internal-2024-10-30-2131063.markus.gronlund.jdkcopy, mixed mode, tiered, compressed oops, compressed class ptrs, g1 gc, linux-aarch64)
Problematic frame:
V [libjvm.so+0xe1b6e4] module_id(PackageEntry const*, bool)+0x34
If you would like to submit a bug report, please visit:
https://bugreport.java.com/bugreport/crash.jsp
--------------- T H R E A D ---------------
Current thread (0x0000fffef803f480): JavaThread "JFR Recorder Thread" daemon [_thread_in_vm, id=458700, stack(0x0000ffff05772000,0x0000ffff05970000) (2040K)]
Stack: [0x0000ffff05772000,0x0000ffff05970000], sp=0x0000ffff0596e100, free space=2032k
Native frames: (J=compiled Java code, j=interpreted, Vv=VM code, C=native code)
V [libjvm.so+0xe1b6e4] module_id(PackageEntry const*, bool)+0x34 (moduleEntry.hpp:111)
V [libjvm.so+0xe1b938] package_id(Klass const*, bool)+0x48 (jfrTypeSet.cpp:219)
V [libjvm.so+0xe1c6f4] write_klass(JfrCheckpointWriter*, Klass const*, bool, int&)+0xf0 (jfrTypeSet.cpp:350)
V [libjvm.so+0xe22c2c] JfrArtifactCallbackHost<Klass const*, CompositeFunctor<Klass const*, JfrTypeWriterHost<JfrPredicatedTypeWriterImplHost<Klass const*, SerializePredicate<Klass const*>, &(write__klass(JfrCheckpointWriter*, void const*))>, 183u>, KlassArtifactRegistrator> >::do_artifact(void const*)+0xcc (jfrTypeSet.cpp:398)
V [libjvm.so+0xe14fe0] EpochDispatchOp<JfrEpochQueue<JfrEpochQueueKlassPolicy>::ElementDispatch<KlassFunctor> >::dispatch(bool, unsigned char const*, unsigned long)+0xd0 (jfrTraceIdKlassQueue.hpp:42)
V [libjvm.so+0xe15574] void JfrEpochQueue<JfrEpochQueueKlassPolicy>::iterate<KlassFunctor>(KlassFunctor&, bool)+0x324 (jfrStorageUtils.inline.hpp:160)
V [libjvm.so+0xe13ad0] JfrTraceIdKlassQueue::iterate(void (*)(Klass*), bool)+0x40 (jfrTraceIdKlassQueue.cpp:269)
V [libjvm.so+0xe220bc] JfrTypeSet::serialize(JfrCheckpointWriter*, JfrCheckpointWriter*, bool, bool)+0xf28 (jfrTypeSet.cpp:559)
V [libjvm.so+0xd64b98] flush_type_set(Thread*)+0x98 (jfrCheckpointManager.cpp:640)
V [libjvm.so+0xd6a8e0] JfrCheckpointManager::flush_type_set()+0x880 (jfrCheckpointManager.cpp:650)
V [libjvm.so+0xde0d68] JfrRecorderService::flush()+0xc8 (jfrRecorderService.cpp:158)
V [libjvm.so+0xde1660] JfrRecorderService::invoke_flush()+0xd0 (jfrRecorderService.cpp:158)
V [libjvm.so+0xde25e0] JfrRecorderService::flushpoint()+0x16c (jfrRecorderService.cpp:680)
V [libjvm.so+0xde3348] recorderthread_entry(JavaThread*, JavaThread*)+0x2c8 (jfrRecorderThreadLoop.cpp:83)
V [libjvm.so+0xd50400] JavaThread::thread_main_inner()+0xcc (javaThread.cpp:759)
V [libjvm.so+0x15e59e0] Thread::call_run()+0xac (thread.cpp:234)
V [libjvm.so+0x131fae4] thread_native_entry(Thread*)+0x130 (os_linux.cpp:858)
C [libpthread.so.0+0x7950] start_thread+0x190
-------------
PR Comment: https://git.openjdk.org/jdk/pull/20752#issuecomment-2449791321
More information about the hotspot-dev
mailing list