Integrated: 8348239: SA does not know about DeoptimizeObjectsALotThread

Chris Plummer cjplummer at openjdk.org
Mon Jan 27 19:48:55 UTC 2025


On Thu, 23 Jan 2025 20:15:35 GMT, Chris Plummer <cjplummer at openjdk.org> wrote:

> 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 
> 
> I had to move the native DeoptimizeObjectsALotThread declaration to compileBroker.hpp to make it visible to vmStructs.cpp.
> 
> I tested with the above "make test" command and ran all svc tier1, tier2, tier3, and tier5 tests.

This pull request has now been integrated.

Changeset: 21feef32
Author:    Chris Plummer <cjplummer at openjdk.org>
URL:       https://git.openjdk.org/jdk/commit/21feef32803b2593b097fb225c7a4c7cd46525da
Stats:     87 lines in 6 files changed: 62 ins; 15 del; 10 mod

8348239: SA does not know about DeoptimizeObjectsALotThread

Reviewed-by: kevinw, dlong, dholmes, lmesnik

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

PR: https://git.openjdk.org/jdk/pull/23279


More information about the serviceability-dev mailing list