Skip to content

Commit 015be6d

Browse files
authored
Fix deadlock in dd-task-scheduler (#10096)
Load JFR Handlers class early to prevent deadlock.
1 parent f38cc2e commit 015be6d

File tree

1 file changed

+9
-0
lines changed
  • dd-java-agent/agent-bootstrap/src/main/java/datadog/trace/bootstrap

1 file changed

+9
-0
lines changed

dd-java-agent/agent-bootstrap/src/main/java/datadog/trace/bootstrap/Agent.java

Lines changed: 9 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -924,6 +924,15 @@ private static synchronized void registerDeadlockDetectionEvent() {
924924

925925
private static synchronized void registerSmapEntryEvent() {
926926
log.debug("Initializing smap entry scraping");
927+
928+
// Load JFR Handlers class early, if present (it has been moved and renamed in JDK23+).
929+
// This prevents a deadlock. See https://bugs.openjdk.org/browse/JDK-8371889.
930+
try {
931+
AGENT_CLASSLOADER.loadClass("jdk.jfr.events.Handlers");
932+
} catch (Exception e) {
933+
// Ignore when the class is not found or anything else goes wrong.
934+
}
935+
927936
try {
928937
final Class<?> smapFactoryClass =
929938
AGENT_CLASSLOADER.loadClass(

0 commit comments

Comments
 (0)