From cc8db0b11f048ab9ad798021ac0ea4812c2aadbe Mon Sep 17 00:00:00 2001 From: Andrew Kent Date: Wed, 9 Jan 2019 09:20:07 -0800 Subject: [PATCH] Workaround module bug by skipping LogManager$Cleaner instrumentation --- .../java/datadog/trace/agent/tooling/AgentInstaller.java | 8 +++++++- 1 file changed, 7 insertions(+), 1 deletion(-) diff --git a/dd-java-agent/agent-tooling/src/main/java/datadog/trace/agent/tooling/AgentInstaller.java b/dd-java-agent/agent-tooling/src/main/java/datadog/trace/agent/tooling/AgentInstaller.java index 8dcdb7a2fb..6c44ab17d6 100644 --- a/dd-java-agent/agent-tooling/src/main/java/datadog/trace/agent/tooling/AgentInstaller.java +++ b/dd-java-agent/agent-tooling/src/main/java/datadog/trace/agent/tooling/AgentInstaller.java @@ -80,7 +80,13 @@ public class AgentInstaller { named("java.net.URL") .or(named("java.net.HttpURLConnection")) .or(nameStartsWith("java.util.concurrent.")) - .or(nameStartsWith("java.util.logging."))))) + .or( + nameStartsWith("java.util.logging.") + // Concurrent instrumentation modifies the strucutre of + // Cleaner class incompaibly with java9+ modules. + // Working around until a long-term fix for modules can be + // put in place. + .and(not(named("java.util.logging.LogManager$Cleaner"))))))) .or(nameStartsWith("com.sun.").and(not(nameStartsWith("com.sun.messaging.")))) .or( nameStartsWith("sun.")