RFR: 8342818: Implement CPU Time Profiling for JFR [v4]

Johannes Bechberger jbechberger at openjdk.org
Wed Nov 6 09:46:39 UTC 2024


On Thu, 31 Oct 2024 16:09:37 GMT, Markus Grönlund <mgronlun at openjdk.org> wrote:

>> 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
> 
> ---------------  T H R E A D  ---------------
> 
> Current thread (0x0000ffffac4222b0):  JavaThread "JFR Recorder Thread" daemon [_thread_in_vm, id=144094, stack(0x0000ffff5e17a000,0x0000ffff5e378000) (2040K)]
> 
> Stack: [0x0000ffff5e17a000,0x0000ffff5e378000],  sp=0x0000ffff5e376110,  free space=2032k
> Native frames: (J=compiled Java code, j=interpreted, Vv=VM code, C=native code)
> V  [libjvm.so+0xe19e54]  get_cld(Klass const*)+0x34  (klass.hpp:684)
> V  [libjvm.so+0xe1c674]  write_klass(JfrCheckpointWriter*, Klass const*, bool, int&)+0x70  (jfrTypeSet.cpp:370)
> V  [libjvm.so+0xe22d40]  JfrArtifactCallbackHost<Klass const*, CompositeFunctor<Klass const*, CompositeFunctor<Klass const*, JfrTypeWriterHost<JfrPredicatedTypeWriterImplHost<Klass const*, LeakPredicate<Klass const*>, &(write__klass__leakp(JfrCheckpointWriter*, void const*))>, 183u>, JfrTypeWriterHost<JfrPredicatedTypeWriterImplHost<Klass const*, SerializePredicate<Klass const*>, &(write__klass(JfrCheckpointWriter*, void const*))>, 183u> >, KlassArtifactRegistrator> >::do_artifact(void const*)+0x90  (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+0xe15328]  void JfrEpochQueue<JfrEpochQueueKlassPolicy>::iterate<KlassFunctor>(KlassFunctor&, bool)+0xd8  (jfrStorageUtils.inline.hpp:160)
> V  [libjvm.so+0xe13ad0]  JfrTraceIdKlassQueue::iterate(void (*)(Klass*), bool)+0x40  (jfrTraceIdKlassQueue.cpp:269)
> V  [libjvm.so+0xe21358]  JfrTypeSet::serialize(JfrCheckpointWriter*, JfrCheckpointWriter*, bool, bool)+0x1c4  (jfrTypeSet.cpp:565)
> V  [libjvm.so+0xd6baf4]  JfrCheckpointManager::write_type_set()+0x1a0  (jfrCheckpointManager.cpp:617)
> V  [libjvm.so+0xddfa54]  JfrRecorderService::post_safepoint_write()+0xb0  (jfrRecorderService.cpp:613)
> V  [libjvm.so+0xde0bdc]  JfrRecorderService::chunk_rotation()+0x3c  (jfrRecorderService.cpp:573)
> V  [libjvm.so+0xde2104]  JfrRecorderService::rotate(int)+0x100  (jfrRecorderService.cpp:539)
> V  [libjvm.so+0xde332c]  recorderthread_entry(JavaThread*, JavaThread*)+0x2ac  (jfrRecorderThreadLoop.cpp:81)
> 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  [libc.so.6+0x806b8]  start_thread+0x2d8

@mgronlun class unloading related issues should be fixed. Could you please test it again?

-------------

PR Comment: https://git.openjdk.org/jdk/pull/20752#issuecomment-2459143981


More information about the hotspot-dev mailing list