Unix Domain sockets (UDS) error when starting profiler
Tracer Version(s)
Starting in 1.52.1
Java Version(s)
24.0.2
JVM Vendor
Amazon Corretto
Bug Report
When starting a Java app with the profiler enabled and Unix domain sockets are configured -Ddd.trace.agent.url=unix:///var/run/datadog/apm.socket, the following error occurs:
[dd.trace 2025-08-21 03:20:49:154 +0000] [dd-task-scheduler] INFO datadog.trace.agent.core.StatusLogger - DATADOG TRACER CONFIGURATION {"version":"1.52.1~6b6db17410","os_name":"Linux","os_version":"5.14.0-503.21.1.el9_5.x86_64","architecture":"amd64","lang":"jvm","lang_version":"24.0.2","jvm_vendor":"Amazon.com Inc.","jvm_version":"24.0.2+12-FR","java_class_version":"68.0","http_nonProxyHosts":"null","http_proxyHost":"null","enabled":true,"service":"adserver-external-production-4969","agent_url":"unix:///var/run/datadog/apm.socket","agent_unix_domain_socket":"/var/run/datadog/apm.socket","agent_error":true,"debug":false,"trace_propagation_style_extract":["datadog","tracecontext","baggage"],"trace_propagation_style_inject":["datadog","tracecontext","baggage"],"analytics_enabled":false,"priority_sampling_enabled":true,"logs_correlation_enabled":true,"profiling_enabled":true,"remote_config_enabled":true,"debugger_enabled":false,"debugger_exception_enabled":false,"debugger_span_origin_enabled":false,"debugger_distributed_debugger_enabled":false,"appsec_enabled":"ENABLED_INACTIVE","rasp_enabled":true,"telemetry_enabled":true,"telemetry_dependency_collection_enabled":true,"telemetry_log_collection_enabled":true,"dd_version":"","health_checks_enabled":true,"configuration_file":"no config file present","runtime_id":"b88ebcb9-2eee-4d72-857c-041082502a62","logging_settings":{"levelInBrackets":false,"dateTimeFormat":"'[dd.trace 'yyyy-MM-dd HH:mm:ss:SSS Z']'","logFile":"System.err","configurationFile":"simplelogger.properties","showShortLogName":false,"showDateTime":true,"showLogName":true,"jsonEnabled":false,"showThreadName":true,"defaultLogLevel":"INFO","warnLevelString":"WARN","embedException":false},"cws_enabled":false,"cws_tls_refresh":5000,"datadog_profiler_enabled":true,"datadog_profiler_safe":true,"datadog_profiler_enabled_overridden":false,"data_streams_enabled":false} at java.instrument/sun.instrument.InstrumentationImpl.loadClassAndStartAgent(InstrumentationImpl.java:544) at java.instrument/sun.instrument.InstrumentationImpl.loadClassAndCallPremain(InstrumentationImpl.java:556) Caused by: java.lang.IllegalArgumentException: Expected URL scheme 'http' or 'https' but was 'unix' at datadog.okhttp3.HttpUrl$Builder.parse(HttpUrl.java:1328) at datadog.okhttp3.HttpUrl.get(HttpUrl.java:916) at com.datadog.profiling.uploader.ProfileUploader.
(ProfileUploader.java:151) at com.datadog.profiling.uploader.ProfileUploader. (ProfileUploader.java:134) at com.datadog.profiling.agent.ProfilingAgent.run(ProfilingAgent.java:131) at java.base/jdk.internal.reflect.DirectMethodHandleAccessor.invoke(DirectMethodHandleAccessor.java:104) ... 16 more [dd.trace 2025-08-21 03:20:48:794 +0000] [main] SEND_TELEMETRY datadog.trace.bootstrap.Agent - Throwable thrown while starting profiling agent java.lang.reflect.InvocationTargetException at java.base/jdk.internal.reflect.DirectMethodHandleAccessor.invoke(DirectMethodHandleAccessor.java:119) at java.base/java.lang.reflect.Method.invoke(Method.java:565) at datadog.trace.bootstrap.Agent.startProfilingAgent(Agent.java:1252) at datadog.trace.bootstrap.Agent.start(Agent.java:379) at java.base/jdk.internal.reflect.DirectMethodHandleAccessor.invoke(DirectMethodHandleAccessor.java:104) at java.base/java.lang.reflect.Method.invoke(Method.java:565) at datadog.trace.bootstrap.AgentBootstrap.agentmainImpl(AgentBootstrap.java:159) at datadog.trace.bootstrap.AgentBootstrap.agentmain(AgentBootstrap.java:73) at java.base/jdk.internal.reflect.DirectMethodHandleAccessor.invoke(DirectMethodHandleAccessor.java:104) at java.base/java.lang.reflect.Method.invoke(Method.java:565) at datadog.trace.bootstrap.AgentPreCheck.continueBootstrap(AgentPreCheck.java:166) at datadog.trace.bootstrap.AgentPreCheck.agentmain(AgentPreCheck.java:24) at datadog.trace.bootstrap.AgentPreCheck.premain(AgentPreCheck.java:17) at java.base/jdk.internal.reflect.DirectMethodHandleAccessor.invoke(DirectMethodHandleAccessor.java:104) at java.base/java.lang.reflect.Method.invoke(Method.java:565)
This appears to have been introduced by https://github.com/DataDog/dd-trace-java/pull/9339 The 'http://' was previously hardcoded to avoid this error, per similar bug: https://github.com/DataDog/dd-trace-java/issues/7165 & Fix: https://github.com/DataDog/dd-trace-java/pull/7166
Expected Behavior
Java Profiler agent to startup without error when configured with Unix Domain Sockets
Thanks for reporting! We observed the same issue and went back to 1.52.0.
There are no specific settings for the profiler.
DATADOG TRACER CONFIGURATION {"version":"1.52.1~6b6db17410","os_name":"Linux","os_version":"5.15.0-1088-azure","architecture":"amd64","lang":"jvm","lang_version":"21.0.8","jvm_vendor":"BellSoft","jvm_version":"21.0.8+12-LTS","java_class_version":"65.0","http_nonProxyHosts":"null","http_proxyHost":"null","enabled":true,"service":"redacted","agent_url":"unix:///var/run/datadog/apm.socket","agent_unix_domain_socket":"/var/run/datadog/apm.socket","agent_error":false,"debug":false,"trace_propagation_style_extract":["datadog","tracecontext","baggage"],"trace_propagation_style_inject":["datadog","tracecontext","baggage"],"analytics_enabled":false,"priority_sampling_enabled":true,"logs_correlation_enabled":true,"profiling_enabled":true,"remote_config_enabled":true,"debugger_enabled":false,"debugger_exception_enabled":false,"debugger_span_origin_enabled":false,"debugger_distributed_debugger_enabled":false,"appsec_enabled":"ENABLED_INACTIVE","rasp_enabled":true,"telemetry_enabled":true,"telemetry_dependency_collection_enabled":true,"telemetry_log_collection_enabled":true,"dd_version":"3530-65573a59","health_checks_enabled":true,"configuration_file":"no config file present","runtime_id":"7928e7e2-c3a7-4e6e-b051-95841731eb9c","logging_settings":{"levelInBrackets":false,"dateTimeFormat":"'[dd.trace 'yyyy-MM-dd HH:mm:ss:SSS Z']'","logFile":"System.err","configurationFile":"simplelogger.properties","showShortLogName":false,"showDateTime":true,"showLogName":true,"jsonEnabled":false,"showThreadName":true,"defaultLogLevel":"INFO","warnLevelString":"WARN","embedException":false},"cws_enabled":false,"cws_tls_refresh":5000,"datadog_profiler_enabled":true,"datadog_profiler_safe":true,"datadog_profiler_enabled_overridden":false,"data_streams_enabled":false}
Excerpt from a stacktrace:
... 16 more
at java.base/jdk.internal.reflect.DirectMethodHandleAccessor.invoke(DirectMethodHandleAccessor.java:103)
at com.datadog.profiling.agent.ProfilingAgent.run(ProfilingAgent.java:131)
at com.datadog.profiling.uploader.ProfileUploader.<init>(ProfileUploader.java:134)
at com.datadog.profiling.uploader.ProfileUploader.<init>(ProfileUploader.java:151)
at datadog.okhttp3.HttpUrl.get(HttpUrl.java:916)
at datadog.okhttp3.HttpUrl$Builder.parse(HttpUrl.java:1328)
Caused by: java.lang.IllegalArgumentException: Expected URL scheme 'http' or 'https' but was 'unix'
at java.instrument/sun.instrument.InstrumentationImpl.loadClassAndCallPremain(InstrumentationImpl.java:572)
at java.instrument/sun.instrument.InstrumentationImpl.loadClassAndStartAgent(InstrumentationImpl.java:560)
at java.base/java.lang.reflect.Method.invoke(Method.java:580)
at java.base/jdk.internal.reflect.DirectMethodHandleAccessor.invoke(DirectMethodHandleAccessor.java:103)
at datadog.trace.bootstrap.AgentPreCheck.premain(AgentPreCheck.java:17)
at datadog.trace.bootstrap.AgentPreCheck.agentmain(AgentPreCheck.java:24)
at datadog.trace.bootstrap.AgentPreCheck.continueBootstrap(AgentPreCheck.java:166)
at java.base/java.lang.reflect.Method.invoke(Method.java:580)
at java.base/jdk.internal.reflect.DirectMethodHandleAccessor.invoke(DirectMethodHandleAccessor.java:103)
at datadog.trace.bootstrap.AgentBootstrap.agentmain(AgentBootstrap.java:73)
at datadog.trace.bootstrap.AgentBootstrap.agentmainImpl(AgentBootstrap.java:159)
at java.base/java.lang.reflect.Method.invoke(Method.java:580)
at java.base/jdk.internal.reflect.DirectMethodHandleAccessor.invoke(DirectMethodHandleAccessor.java:103)
at datadog.trace.bootstrap.Agent.start(Agent.java:379)
at datadog.trace.bootstrap.Agent.startProfilingAgent(Agent.java:1252)
at java.base/java.lang.reflect.Method.invoke(Method.java:580)
at java.base/jdk.internal.reflect.DirectMethodHandleAccessor.invoke(DirectMethodHandleAccessor.java:118)
java.lang.reflect.InvocationTargetException
Sorry about this. Fix is in progress and will be ready shortly.
Any updates on when this will be fixed? @jbachorik