On Wed, 29 Nov 2023 10:49:12 GMT, Alan Bateman <al...@openjdk.org> wrote:
>>> seems to be no java method marked "native" on the stack, what case is that? >> >> A native thread that is attached to the VM but is not currently executing >> any Java code. >> >>> funfact: its not in the list >> >> JDWP filters its own internal threads out of any thread lists it returns, so >> this may be a case of using two different API's with different views of the >> set of threads running. > >> JDWP filters its own internal threads out of any thread lists it returns, so >> this may be a case of using two different API's with different views of the >> set of threads running. > > I think the issue that Bernd is running into is a long standing anomaly > between ThreadMXBean.getAllThreadIds() and the ThreadMXBean.getThreadInfo > methods. The former uses a ThreadsListEnumerator with > include_jvmti_agent_threads=false so it filters out the JVMTI agent threads. > The latter doesn't do the filtering so if you have threadId of a JVMTI agent > thread then you can get its thread info. I've created [JDK-8321095](https://bugs.openjdk.org/browse/JDK-8321095) to track the inconsistency that Bernd brought up on whether JVMTI agent threads are hidden or not by ThreadMXBean. It seems this inconsistency goes back a long way, to JDK 8 at least. ------------- PR Review Comment: https://git.openjdk.org/jdk/pull/16791#discussion_r1410388266