Skip to content

Commit d24be24

Browse files
committed
[PROF-13025] Fix deadlock in dd-task-scheduler
1 parent 3c70e67 commit d24be24

File tree

1 file changed

+8
-0
lines changed
  • dd-java-agent/agent-profiling/profiling-controller-openjdk/src/main/java/com/datadog/profiling/controller/openjdk/events

1 file changed

+8
-0
lines changed

dd-java-agent/agent-profiling/profiling-controller-openjdk/src/main/java/com/datadog/profiling/controller/openjdk/events/SmapEntryFactory.java

Lines changed: 8 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -27,6 +27,14 @@ public class SmapEntryFactory {
2727
private static final SmapEntryCache SMAP_ENTRY_CACHE = new SmapEntryCache(Duration.ofMillis(500));
2828

2929
static {
30+
// Load JFR Handlers class early, if present (it has been moved and renamed in JDK23+).
31+
// This prevents a deadlock. See PROF-13025.
32+
try {
33+
Class.forName("jdk.jfr.events.Handlers");
34+
} catch (Exception e) {
35+
// Ignore when the class is not found or anything else goes wrong.
36+
}
37+
3038
if (!JavaVirtualMachine.isJ9() && !JavaVirtualMachine.isOracleJDK8()) {
3139
SMAP_ENTRY_EVENT_TYPE = EventType.getEventType(SmapEntryEvent.class);
3240
AGGREGATED_SMAP_ENTRY_EVENT_TYPE = EventType.getEventType(AggregatedSmapEntryEvent.class);

0 commit comments

Comments
 (0)