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

Johannes Bechberger jbechberger at openjdk.org
Tue Apr 29 11:58:08 UTC 2025


On Tue, 29 Apr 2025 08:36:08 GMT, Markus Grönlund <mgronlun at openjdk.org> wrote:

>> It's a lot more: 2037581315 active signal handlers?
>> 
>> I tested the branch building on top of Cooperative JFR Sampling, perhaps there is a mismatch with the increment / decrement there?
>> 
>> Here is GDB state:
>> 
>> ` _hashStateZ = 0x8767, _crash_protection = 0x0, _in_asgct = 0x0, _vm_error_callbacks = 0x0}, _next = 0xffff5c019ae0, static _the_list = {_head = 0xffff6c007cf0, _protect = {_enter = 0x9774d, _exit = {0x2, 0x9774d},
>>         _waiting_for = 0x2, _wakeup = {<CHeapObj<(MemTag)22>> = {<No data fields>}, _impl = {<CHeapObj<(MemTag)9>> = {<No data fields>}, _semaphore = {__size = {0x0 <repeats 32 times>}, __align = 0x0}}}}}},
>>   _sample = {<CHeapObj<(MemTag)22>> = {<No data fields>}, _impl = {<CHeapObj<(MemTag)9>> = {<No data fields>}, _semaphore = {__size = {0x1, 0x0 <repeats 11 times>, 0x6b, 0x65, 0x72, 0x54, 0x68, 0x72, 0x65, 0x61, 0x64, 0x88, 0xcd, 0x44,
>>           0x3, 0x15, 0x4d, 0x65, 0x6d, 0x41, 0x63, 0x63}, __align = 0x1}}}, _sampler_thread = 0xffff14c20520, _rate = 0x0, _autoadapt = 0x1, _current_sampling_period_ns = 0x0, _disenrolled = 0x1, _stop_signals = 0x1,
>>   _active_signal_handlers = 0x79730603, _is_out_of_safepoint_sampling_triggered = 0x0}
>> `
>
> Most threads are blocking and waiting for a pending safepoint. But the JavaThread calling disenroll is stuck in this loop, waiting for 2037581315 active signal handlers.

Thanks. I'll take a look tomorrow.

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

PR Review Comment: https://git.openjdk.org/jdk/pull/20752#discussion_r2066161600


More information about the hotspot-dev mailing list