RFR: 8367953: JFR sampler threads does not appear in thread dump

Yasumasa Suenaga ysuenaga at openjdk.org
Wed Sep 24 23:56:10 UTC 2025


On Thu, 18 Sep 2025 05:30:27 GMT, Yasumasa Suenaga <ysuenaga at openjdk.org> wrote:

> I tried to get thread dump of the process which is enabled JFR, then I got strange thread dump like this:
> 
> 
> os_prio=0 cpu=64.47ms elapsed=20.34s tid=0x00007ff7cd3ffae0 nid=59812 runnable
> os_prio=0 cpu=12.76ms elapsed=20.34s tid=0x00007ff7cd3ff5a0 nid=59811 runnable
> 
> 
> Thread name is lacked in the dump (and lacks of LF in addition).
> I checked them with `ps -eL -o pid,tid,comm`, then I was aware they were JFR sampler threads.
> 
> 
>   59789 59811 JFR CPU Sampler
>   59789 59812 JFR Sampler Thr
> 
> 
> So they should be shown like this:
> 
> 
> "JFR Sampler Thread" os_prio=0 cpu=25.59ms elapsed=8.77s tid=0x00007f5f45626a50 nid=62979 runnable
> 
> "JFR CPU Sampler Thread" os_prio=0 cpu=4.78ms elapsed=8.78s tid=0x00007f5f45626060 nid=62978 runnable
> 
> 
> They are implemented in `JfrSamplerThread` and `JfrCPUSamplerThread`, extends `NonJavaThread`. They do not have `print_on()`, so `Thread::print_on()` would be used - it would not print thread name.
> 
> Other child class of `NonJavaThread` like `WatcherThread` overrides `print_on` to show thread name. Thus both of JFR sampler threads should do so.

PING: Can I get reviewer(s)? Thanks!

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

PR Comment: https://git.openjdk.org/jdk/pull/27357#issuecomment-3331097046


More information about the hotspot-jfr-dev mailing list