If you run hotspot with -XX:+DeoptimizeObjectsALot, it will create one or more DeoptimizeObjectsALotThread threads. This is one of many JavaThread subclasses that SA needs to know about, but in this case it does not. When SA tries to create a mirror of one of these threads, it fails with:
stderr: [java.lang.RuntimeException: Unable to deduce type of thread from address 0x0000ffff34144e30 (expected type JavaThread, CompilerThread, MonitorDeflationThread, AttachListenerThread, StringDedupThread, NotificationThread, ServiceThread or JvmtiAgentThread)
at jdk.hotspot.agent/sun.jvm.hotspot.runtime.Threads.createJavaThreadWrapper(Threads.java:196)
at jdk.hotspot.agent/sun.jvm.hotspot.runtime.Threads.getJavaThreadAt(Threads.java:178)
The following can be used to reproduce this failure. Most SA tests will fail:
make test TEST=serviceability/sa TEST_VM_OPTS=-XX:+DeoptimizeObjectsALot
stderr: [java.lang.RuntimeException: Unable to deduce type of thread from address 0x0000ffff34144e30 (expected type JavaThread, CompilerThread, MonitorDeflationThread, AttachListenerThread, StringDedupThread, NotificationThread, ServiceThread or JvmtiAgentThread)
at jdk.hotspot.agent/sun.jvm.hotspot.runtime.Threads.createJavaThreadWrapper(Threads.java:196)
at jdk.hotspot.agent/sun.jvm.hotspot.runtime.Threads.getJavaThreadAt(Threads.java:178)
The following can be used to reproduce this failure. Most SA tests will fail:
make test TEST=serviceability/sa TEST_VM_OPTS=-XX:+DeoptimizeObjectsALot
- blocks
-
JDK-8348347 Cleanup JavaThread subclass support in SA
-
- Resolved
-
- relates to
-
JDK-8348347 Cleanup JavaThread subclass support in SA
-
- Resolved
-
-
JDK-8348800 Many serviceability/sa tests failing after JDK-8348239
-
- Resolved
-
-
JDK-8347779 sun/tools/jhsdb/HeapDumpTestWithActiveProcess.java fails with Unable to deduce type of thread from address
-
- Resolved
-
- links to
-
Commit(master) openjdk/jdk/21feef32
-
Review(master) openjdk/jdk/23279
(1 links to)