On Thu, 23 Jan 2025 20:15:35 GMT, Chris Plummer <cjplum...@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 <cjplum...@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

Reply via email to