Skip to content

Native build not working with 1.52.0 #9335

@luneo7

Description

@luneo7

Tracer Version(s)

1.52.0

Java Version(s)

21.0.8

JVM Vendor

Oracle GraalVM

Bug Report

While building a native image with Mandrel 21.0.8 (23.1.8 GraalVM version), we are getting the following error:

#16 182.8 Error: Unsupported features in 2 methods
#16 182.8 Detailed message:
#16 182.8 Error: Detected a started Thread in the image heap. Thread name: dd-task-scheduler. Threads running in the image generator are no longer running at image runtime. Prevent threads from starting during image generation, or a started thread from being included in the image.
#16 182.8 The culprit object has been instantiated by the 'datadog.trace.util.TempLocationManager$SingletonHolder' class initializer with the following trace:
#16 182.8 	at java.lang.Thread.<init>(Thread.java:1329)
#16 182.8 	at datadog.trace.util.AgentThreadFactory.newAgentThread(AgentThreadFactory.java:109)
#16 182.8 	at datadog.trace.util.AgentThreadFactory.newAgentThread(AgentThreadFactory.java:94)
#16 182.8 	at datadog.trace.util.AgentTaskScheduler.scheduleTarget(AgentTaskScheduler.java:181)
#16 182.8 	at datadog.trace.util.AgentTaskScheduler.schedule(AgentTaskScheduler.java:85)
#16 182.8 	at datadog.trace.util.AgentTaskScheduler.execute(AgentTaskScheduler.java:79)
#16 182.8 	at datadog.trace.util.TempLocationManager.<init>(TempLocationManager.java:299)
#16 182.8 	at datadog.trace.util.TempLocationManager.<init>(TempLocationManager.java:250)
#16 182.8 	at datadog.trace.util.TempLocationManager.<init>(TempLocationManager.java:246)
#16 182.8 	at datadog.trace.util.TempLocationManager.<init>(TempLocationManager.java:35)
#16 182.8 	at datadog.trace.util.TempLocationManager$SingletonHolder.<clinit>(TempLocationManager.java:42)
#16 182.8 The object was probably created by a class initializer and is reachable from a static field. You can request class initialization at image runtime by using the option --initialize-at-run-time=<class-name>. Or you can write your own initialization methods and call them explicitly from your main entry point.
#16 182.8 Trace: Object was reached by
#16 182.8   reading field java.util.concurrent.locks.AbstractQueuedSynchronizer$Node.waiter of constant 
#16 182.8     java.util.concurrent.locks.AbstractQueuedSynchronizer$ConditionNode@3002e291: java.util.concurrent.locks.AbstractQueuedSynchronizer$ConditionNode@3002e291
#16 182.8   reading field java.util.concurrent.locks.AbstractQueuedSynchronizer$ConditionObject.firstWaiter of constant 
#16 182.8     java.util.concurrent.locks.AbstractQueuedSynchronizer$ConditionObject@33af1ca6: java.util.concurrent.locks.AbstractQueuedSynchronizer$ConditionObject@33af1ca6
#16 182.8   reading field java.util.concurrent.DelayQueue.available of constant 
#16 182.8     java.util.concurrent.DelayQueue@77f8de39: []
#16 182.8   reading field datadog.trace.util.AgentTaskScheduler.workQueue of constant 
#16 182.8     datadog.trace.util.AgentTaskScheduler@5d9eb41: datadog.trace.util.AgentTaskScheduler@5d9eb41
#16 182.8   reading field datadog.trace.api.sampling.AdaptiveSampler.taskScheduler of constant 
#16 182.8     datadog.trace.api.sampling.AdaptiveSampler@30933d13: datadog.trace.api.sampling.AdaptiveSampler@30933d13
#16 182.8   scanning root datadog.trace.api.sampling.AdaptiveSampler@30933d13: datadog.trace.api.sampling.AdaptiveSampler@30933d13 embedded in 
#16 182.8     com.datadog.profiling.controller.openjdk.OpenJdkController.<init>(OpenJdkController.java)
#16 182.8   parsing method com.datadog.profiling.controller.openjdk.OpenJdkController.<init>(OpenJdkController.java:83) reachable via the parsing context
#16 182.8     at com.datadog.profiling.controller.openjdk.OpenJdkController.instance(OpenJdkController.java:73)
#16 182.8     at com.datadog.profiling.agent.CompositeController.build(CompositeController.java:165)
#16 182.8     at com.datadog.profiling.agent.ProfilingAgent.run(ProfilingAgent.java:126)
#16 182.8     at datadog.trace.agent.tooling.ProfilerInstaller.installProfiler(ProfilerInstaller.java:10)
#16 182.8     at datadog.trace.agent.tooling.nativeimage.TracerActivation.activate(TracerActivation.java:20)
#16 182.8     at org.graalvm.nativeimage.VMRuntime.initialize(VMRuntime.java:65)
#16 182.8     at com.oracle.svm.core.JavaMainWrapper.runCore0(JavaMainWrapper.java:220)
#16 182.8     at com.oracle.svm.core.JavaMainWrapper.doRun(JavaMainWrapper.java:303)
#16 182.8     at com.oracle.svm.core.code.IsolateEnterStub.JavaMainWrapper_run_5087f5482cc9a6abc971913ece43acb471d2631b(generated:0)
#16 182.8     at static root method.(Unknown Source)
#16 182.8 
#16 182.8 Error: Detected a started Thread in the image heap. Thread name: dd-task-scheduler. Threads running in the image generator are no longer running at image runtime. Prevent threads from starting during image generation, or a started thread from being included in the image.
#16 182.8 The culprit object has been instantiated by the 'datadog.trace.util.TempLocationManager$SingletonHolder' class initializer with the following trace:
#16 182.8 	at java.lang.Thread.<init>(Thread.java:1329)
#16 182.8 	at datadog.trace.util.AgentThreadFactory.newAgentThread(AgentThreadFactory.java:109)
#16 182.8 	at datadog.trace.util.AgentThreadFactory.newAgentThread(AgentThreadFactory.java:94)
#16 182.8 	at datadog.trace.util.AgentTaskScheduler.scheduleTarget(AgentTaskScheduler.java:181)
#16 182.8 	at datadog.trace.util.AgentTaskScheduler.schedule(AgentTaskScheduler.java:85)
#16 182.8 	at datadog.trace.util.AgentTaskScheduler.execute(AgentTaskScheduler.java:79)
#16 182.8 	at datadog.trace.util.TempLocationManager.<init>(TempLocationManager.java:299)
#16 182.8 	at datadog.trace.util.TempLocationManager.<init>(TempLocationManager.java:250)
#16 182.8 	at datadog.trace.util.TempLocationManager.<init>(TempLocationManager.java:246)
#16 182.8 	at datadog.trace.util.TempLocationManager.<init>(TempLocationManager.java:35)
#16 182.8 	at datadog.trace.util.TempLocationManager$SingletonHolder.<clinit>(TempLocationManager.java:42)
#16 182.8 The object was probably created by a class initializer and is reachable from a static field. You can request class initialization at image runtime by using the option --initialize-at-run-time=<class-name>. Or you can write your own initialization methods and call them explicitly from your main entry point.
#16 182.8 Trace: Object was reached by
#16 182.8   reading field datadog.trace.util.AgentTaskScheduler.worker of constant 
#16 182.8     datadog.trace.util.AgentTaskScheduler@5d9eb41: datadog.trace.util.AgentTaskScheduler@5d9eb41
#16 182.8   reading field datadog.trace.api.sampling.AdaptiveSampler.taskScheduler of constant 
#16 182.8     datadog.trace.api.sampling.AdaptiveSampler@30933d13: datadog.trace.api.sampling.AdaptiveSampler@30933d13
#16 182.8   scanning root datadog.trace.api.sampling.AdaptiveSampler@30933d13: datadog.trace.api.sampling.AdaptiveSampler@30933d13 embedded in 
#16 182.8     com.datadog.profiling.controller.openjdk.OpenJdkController.<init>(OpenJdkController.java)
#16 182.8   parsing method com.datadog.profiling.controller.openjdk.OpenJdkController.<init>(OpenJdkController.java:83) reachable via the parsing context
#16 182.8     at com.datadog.profiling.controller.openjdk.OpenJdkController.instance(OpenJdkController.java:73)
#16 182.8     at com.datadog.profiling.agent.CompositeController.build(CompositeController.java:165)
#16 182.8     at com.datadog.profiling.agent.ProfilingAgent.run(ProfilingAgent.java:126)
#16 182.8     at datadog.trace.agent.tooling.ProfilerInstaller.installProfiler(ProfilerInstaller.java:10)
#16 182.8     at datadog.trace.agent.tooling.nativeimage.TracerActivation.activate(TracerActivation.java:20)
#16 182.8     at org.graalvm.nativeimage.VMRuntime.initialize(VMRuntime.java:65)
#16 182.8     at com.oracle.svm.core.JavaMainWrapper.runCore0(JavaMainWrapper.java:220)
#16 182.8     at com.oracle.svm.core.JavaMainWrapper.doRun(JavaMainWrapper.java:303)
#16 182.8     at com.oracle.svm.core.code.IsolateEnterStub.JavaMainWrapper_run_5087f5482cc9a6abc971913ece43acb471d2631b(generated:0)
#16 182.8     at static root method.(Unknown Source)
#16 182.8 
#16 182.8 
#16 182.8 com.oracle.svm.core.util.UserError$UserException: Unsupported features in 2 methods
#16 182.8 Detailed message:
#16 182.8 Error: Detected a started Thread in the image heap. Thread name: dd-task-scheduler. Threads running in the image generator are no longer running at image runtime. Prevent threads from starting during image generation, or a started thread from being included in the image.
#16 182.8 The culprit object has been instantiated by the 'datadog.trace.util.TempLocationManager$SingletonHolder' class initializer with the following trace:
#16 182.8 	at java.lang.Thread.<init>(Thread.java:1329)
#16 182.8 	at datadog.trace.util.AgentThreadFactory.newAgentThread(AgentThreadFactory.java:109)
#16 182.8 	at datadog.trace.util.AgentThreadFactory.newAgentThread(AgentThreadFactory.java:94)
#16 182.8 	at datadog.trace.util.AgentTaskScheduler.scheduleTarget(AgentTaskScheduler.java:181)
#16 182.8 	at datadog.trace.util.AgentTaskScheduler.schedule(AgentTaskScheduler.java:85)
#16 182.8 	at datadog.trace.util.AgentTaskScheduler.execute(AgentTaskScheduler.java:79)
#16 182.8 	at datadog.trace.util.TempLocationManager.<init>(TempLocationManager.java:299)
#16 182.8 	at datadog.trace.util.TempLocationManager.<init>(TempLocationManager.java:250)
#16 182.8 	at datadog.trace.util.TempLocationManager.<init>(TempLocationManager.java:246)
#16 182.8 	at datadog.trace.util.TempLocationManager.<init>(TempLocationManager.java:35)
#16 182.8 	at datadog.trace.util.TempLocationManager$SingletonHolder.<clinit>(TempLocationManager.java:42)
#16 182.8 The object was probably created by a class initializer and is reachable from a static field. You can request class initialization at image runtime by using the option --initialize-at-run-time=<class-name>. Or you can write your own initialization methods and call them explicitly from your main entry point.
#16 182.8 Trace: Object was reached by
#16 182.8   reading field java.util.concurrent.locks.AbstractQueuedSynchronizer$Node.waiter of constant 
#16 182.8     java.util.concurrent.locks.AbstractQueuedSynchronizer$ConditionNode@3002e291: java.util.concurrent.locks.AbstractQueuedSynchronizer$ConditionNode@3002e291
#16 182.8   reading field java.util.concurrent.locks.AbstractQueuedSynchronizer$ConditionObject.firstWaiter of constant 
#16 182.8     java.util.concurrent.locks.AbstractQueuedSynchronizer$ConditionObject@33af1ca6: java.util.concurrent.locks.AbstractQueuedSynchronizer$ConditionObject@33af1ca6
#16 182.8   reading field java.util.concurrent.DelayQueue.available of constant 
#16 182.8     java.util.concurrent.DelayQueue@77f8de39: []
#16 182.8   reading field datadog.trace.util.AgentTaskScheduler.workQueue of constant 
#16 182.8     datadog.trace.util.AgentTaskScheduler@5d9eb41: datadog.trace.util.AgentTaskScheduler@5d9eb41
#16 182.8   reading field datadog.trace.api.sampling.AdaptiveSampler.taskScheduler of constant 
#16 182.8     datadog.trace.api.sampling.AdaptiveSampler@30933d13: datadog.trace.api.sampling.AdaptiveSampler@30933d13
#16 182.8   scanning root datadog.trace.api.sampling.AdaptiveSampler@30933d13: datadog.trace.api.sampling.AdaptiveSampler@30933d13 embedded in 
#16 182.8     com.datadog.profiling.controller.openjdk.OpenJdkController.<init>(OpenJdkController.java)
#16 182.8   parsing method com.datadog.profiling.controller.openjdk.OpenJdkController.<init>(OpenJdkController.java:83) reachable via the parsing context
#16 182.8     at com.datadog.profiling.controller.openjdk.OpenJdkController.instance(OpenJdkController.java:73)
#16 182.8     at com.datadog.profiling.agent.CompositeController.build(CompositeController.java:165)
#16 182.8     at com.datadog.profiling.agent.ProfilingAgent.run(ProfilingAgent.java:126)
#16 182.8     at datadog.trace.agent.tooling.ProfilerInstaller.installProfiler(ProfilerInstaller.java:10)
#16 182.8     at datadog.trace.agent.tooling.nativeimage.TracerActivation.activate(TracerActivation.java:20)
#16 182.8     at org.graalvm.nativeimage.VMRuntime.initialize(VMRuntime.java:65)
#16 182.8     at com.oracle.svm.core.JavaMainWrapper.runCore0(JavaMainWrapper.java:220)
#16 182.8     at com.oracle.svm.core.JavaMainWrapper.doRun(JavaMainWrapper.java:303)
#16 182.8     at com.oracle.svm.core.code.IsolateEnterStub.JavaMainWrapper_run_5087f5482cc9a6abc971913ece43acb471d2631b(generated:0)
#16 182.8     at static root method.(Unknown Source)
#16 182.8 
#16 182.8 Error: Detected a started Thread in the image heap. Thread name: dd-task-scheduler. Threads running in the image generator are no longer running at image runtime. Prevent threads from starting during image generation, or a started thread from being included in the image.
#16 182.8 The culprit object has been instantiated by the 'datadog.trace.util.TempLocationManager$SingletonHolder' class initializer with the following trace:
#16 182.8 	at java.lang.Thread.<init>(Thread.java:1329)
#16 182.8 	at datadog.trace.util.AgentThreadFactory.newAgentThread(AgentThreadFactory.java:109)
#16 182.8 	at datadog.trace.util.AgentThreadFactory.newAgentThread(AgentThreadFactory.java:94)
#16 182.8 	at datadog.trace.util.AgentTaskScheduler.scheduleTarget(AgentTaskScheduler.java:181)
#16 182.8 	at datadog.trace.util.AgentTaskScheduler.schedule(AgentTaskScheduler.java:85)
#16 182.8 	at datadog.trace.util.AgentTaskScheduler.execute(AgentTaskScheduler.java:79)
#16 182.8 	at datadog.trace.util.TempLocationManager.<init>(TempLocationManager.java:299)
#16 182.8 	at datadog.trace.util.TempLocationManager.<init>(TempLocationManager.java:250)
#16 182.8 	at datadog.trace.util.TempLocationManager.<init>(TempLocationManager.java:246)
#16 182.8 	at datadog.trace.util.TempLocationManager.<init>(TempLocationManager.java:35)
#16 182.8 	at datadog.trace.util.TempLocationManager$SingletonHolder.<clinit>(TempLocationManager.java:42)
#16 182.8 The object was probably created by a class initializer and is reachable from a static field. You can request class initialization at image runtime by using the option --initialize-at-run-time=<class-name>. Or you can write your own initialization methods and call them explicitly from your main entry point.
#16 182.8 Trace: Object was reached by
#16 182.8   reading field datadog.trace.util.AgentTaskScheduler.worker of constant 
#16 182.8     datadog.trace.util.AgentTaskScheduler@5d9eb41: datadog.trace.util.AgentTaskScheduler@5d9eb41
#16 182.8   reading field datadog.trace.api.sampling.AdaptiveSampler.taskScheduler of constant 
#16 182.8     datadog.trace.api.sampling.AdaptiveSampler@30933d13: datadog.trace.api.sampling.AdaptiveSampler@30933d13
#16 182.8   scanning root datadog.trace.api.sampling.AdaptiveSampler@30933d13: datadog.trace.api.sampling.AdaptiveSampler@30933d13 embedded in 
#16 182.8     com.datadog.profiling.controller.openjdk.OpenJdkController.<init>(OpenJdkController.java)
#16 182.8   parsing method com.datadog.profiling.controller.openjdk.OpenJdkController.<init>(OpenJdkController.java:83) reachable via the parsing context
#16 182.8     at com.datadog.profiling.controller.openjdk.OpenJdkController.instance(OpenJdkController.java:73)
#16 182.8     at com.datadog.profiling.agent.CompositeController.build(CompositeController.java:165)
#16 182.8     at com.datadog.profiling.agent.ProfilingAgent.run(ProfilingAgent.java:126)
#16 182.8     at datadog.trace.agent.tooling.ProfilerInstaller.installProfiler(ProfilerInstaller.java:10)
#16 182.8     at datadog.trace.agent.tooling.nativeimage.TracerActivation.activate(TracerActivation.java:20)
#16 182.8     at org.graalvm.nativeimage.VMRuntime.initialize(VMRuntime.java:65)
#16 182.8     at com.oracle.svm.core.JavaMainWrapper.runCore0(JavaMainWrapper.java:220)
#16 182.8     at com.oracle.svm.core.JavaMainWrapper.doRun(JavaMainWrapper.java:303)
#16 182.8     at com.oracle.svm.core.code.IsolateEnterStub.JavaMainWrapper_run_5087f5482cc9a6abc971913ece43acb471d2631b(generated:0)
#16 182.8     at static root method.(Unknown Source)
#16 182.8 
#16 182.8 
#16 182.8 	at org.graalvm.nativeimage.builder/com.oracle.svm.core.util.UserError.abort(UserError.java:85)
#16 182.8 	at org.graalvm.nativeimage.builder/com.oracle.svm.hosted.FallbackFeature.reportAsFallback(FallbackFeature.java:248)
#16 182.8 	at org.graalvm.nativeimage.builder/com.oracle.svm.hosted.NativeImageGenerator.runPointsToAnalysis(NativeImageGenerator.java:814)
#16 182.8 	at org.graalvm.nativeimage.builder/com.oracle.svm.hosted.NativeImageGenerator.doRun(NativeImageGenerator.java:592)
#16 182.8 	at org.graalvm.nativeimage.builder/com.oracle.svm.hosted.NativeImageGenerator.run(NativeImageGenerator.java:550)
#16 182.8 	at org.graalvm.nativeimage.builder/com.oracle.svm.hosted.NativeImageGeneratorRunner.buildImage(NativeImageGeneratorRunner.java:539)
#16 182.8 	at org.graalvm.nativeimage.builder/com.oracle.svm.hosted.NativeImageGeneratorRunner.build(NativeImageGeneratorRunner.java:721)
#16 182.8 	at org.graalvm.nativeimage.builder/com.oracle.svm.hosted.NativeImageGeneratorRunner.start(NativeImageGeneratorRunner.java:143)
#16 182.8 	at org.graalvm.nativeimage.builder/com.oracle.svm.hosted.NativeImageGeneratorRunner.main(NativeImageGeneratorRunner.java:98)
#16 182.8 Caused by: com.oracle.graal.pointsto.constraints.UnsupportedFeatureException: Unsupported features in 2 methods
#16 182.8 Detailed message:
#16 182.8 Error: Detected a started Thread in the image heap. Thread name: dd-task-scheduler. Threads running in the image generator are no longer running at image runtime. Prevent threads from starting during image generation, or a started thread from being included in the image.
#16 182.8 The culprit object has been instantiated by the 'datadog.trace.util.TempLocationManager$SingletonHolder' class initializer with the following trace:
#16 182.8 	at java.lang.Thread.<init>(Thread.java:1329)
#16 182.8 	at datadog.trace.util.AgentThreadFactory.newAgentThread(AgentThreadFactory.java:109)
#16 182.8 	at datadog.trace.util.AgentThreadFactory.newAgentThread(AgentThreadFactory.java:94)
#16 182.8 	at datadog.trace.util.AgentTaskScheduler.scheduleTarget(AgentTaskScheduler.java:181)
#16 182.8 	at datadog.trace.util.AgentTaskScheduler.schedule(AgentTaskScheduler.java:85)
#16 182.8 	at datadog.trace.util.AgentTaskScheduler.execute(AgentTaskScheduler.java:79)
#16 182.8 	at datadog.trace.util.TempLocationManager.<init>(TempLocationManager.java:299)
#16 182.8 	at datadog.trace.util.TempLocationManager.<init>(TempLocationManager.java:250)
#16 182.8 	at datadog.trace.util.TempLocationManager.<init>(TempLocationManager.java:246)
#16 182.8 	at datadog.trace.util.TempLocationManager.<init>(TempLocationManager.java:35)
#16 182.8 	at datadog.trace.util.TempLocationManager$SingletonHolder.<clinit>(TempLocationManager.java:42)
#16 182.8 The object was probably created by a class initializer and is reachable from a static field. You can request class initialization at image runtime by using the option --initialize-at-run-time=<class-name>. Or you can write your own initialization methods and call them explicitly from your main entry point.
#16 182.8 Trace: Object was reached by
#16 182.8   reading field java.util.concurrent.locks.AbstractQueuedSynchronizer$Node.waiter of constant 
#16 182.8     java.util.concurrent.locks.AbstractQueuedSynchronizer$ConditionNode@3002e291: java.util.concurrent.locks.AbstractQueuedSynchronizer$ConditionNode@3002e291
#16 182.8   reading field java.util.concurrent.locks.AbstractQueuedSynchronizer$ConditionObject.firstWaiter of constant 
#16 182.8     java.util.concurrent.locks.AbstractQueuedSynchronizer$ConditionObject@33af1ca6: java.util.concurrent.locks.AbstractQueuedSynchronizer$ConditionObject@33af1ca6
#16 182.8   reading field java.util.concurrent.DelayQueue.available of constant 
#16 182.8     java.util.concurrent.DelayQueue@77f8de39: []
#16 182.8   reading field datadog.trace.util.AgentTaskScheduler.workQueue of constant 
#16 182.8     datadog.trace.util.AgentTaskScheduler@5d9eb41: datadog.trace.util.AgentTaskScheduler@5d9eb41
#16 182.8   reading field datadog.trace.api.sampling.AdaptiveSampler.taskScheduler of constant 
#16 182.8     datadog.trace.api.sampling.AdaptiveSampler@30933d13: datadog.trace.api.sampling.AdaptiveSampler@30933d13
#16 182.8   scanning root datadog.trace.api.sampling.AdaptiveSampler@30933d13: datadog.trace.api.sampling.AdaptiveSampler@30933d13 embedded in 
#16 182.8     com.datadog.profiling.controller.openjdk.OpenJdkController.<init>(OpenJdkController.java)
#16 182.8   parsing method com.datadog.profiling.controller.openjdk.OpenJdkController.<init>(OpenJdkController.java:83) reachable via the parsing context
#16 182.8     at com.datadog.profiling.controller.openjdk.OpenJdkController.instance(OpenJdkController.java:73)
#16 182.8     at com.datadog.profiling.agent.CompositeController.build(CompositeController.java:165)
#16 182.8     at com.datadog.profiling.agent.ProfilingAgent.run(ProfilingAgent.java:126)
#16 182.8     at datadog.trace.agent.tooling.ProfilerInstaller.installProfiler(ProfilerInstaller.java:10)
#16 182.8     at datadog.trace.agent.tooling.nativeimage.TracerActivation.activate(TracerActivation.java:20)
#16 182.8     at org.graalvm.nativeimage.VMRuntime.initialize(VMRuntime.java:65)
#16 182.8     at com.oracle.svm.core.JavaMainWrapper.runCore0(JavaMainWrapper.java:220)
#16 182.8     at com.oracle.svm.core.JavaMainWrapper.doRun(JavaMainWrapper.java:303)
#16 182.8     at com.oracle.svm.core.code.IsolateEnterStub.JavaMainWrapper_run_5087f5482cc9a6abc971913ece43acb471d2631b(generated:0)
#16 182.8     at static root method.(Unknown Source)
#16 182.8 
#16 182.8 Error: Detected a started Thread in the image heap. Thread name: dd-task-scheduler. Threads running in the image generator are no longer running at image runtime. Prevent threads from starting during image generation, or a started thread from being included in the image.
#16 182.8 The culprit object has been instantiated by the 'datadog.trace.util.TempLocationManager$SingletonHolder' class initializer with the following trace:
#16 182.8 	at java.lang.Thread.<init>(Thread.java:1329)
#16 182.8 	at datadog.trace.util.AgentThreadFactory.newAgentThread(AgentThreadFactory.java:109)
#16 182.8 	at datadog.trace.util.AgentThreadFactory.newAgentThread(AgentThreadFactory.java:94)
#16 182.8 	at datadog.trace.util.AgentTaskScheduler.scheduleTarget(AgentTaskScheduler.java:181)
#16 182.8 	at datadog.trace.util.AgentTaskScheduler.schedule(AgentTaskScheduler.java:85)
#16 182.8 	at datadog.trace.util.AgentTaskScheduler.execute(AgentTaskScheduler.java:79)
#16 182.8 	at datadog.trace.util.TempLocationManager.<init>(TempLocationManager.java:299)
#16 182.8 	at datadog.trace.util.TempLocationManager.<init>(TempLocationManager.java:250)
#16 182.8 	at datadog.trace.util.TempLocationManager.<init>(TempLocationManager.java:246)
#16 182.8 	at datadog.trace.util.TempLocationManager.<init>(TempLocationManager.java:35)
#16 182.8 	at datadog.trace.util.TempLocationManager$SingletonHolder.<clinit>(TempLocationManager.java:42)
#16 182.8 The object was probably created by a class initializer and is reachable from a static field. You can request class initialization at image runtime by using the option --initialize-at-run-time=<class-name>. Or you can write your own initialization methods and call them explicitly from your main entry point.
#16 182.8 Trace: Object was reached by
#16 182.8   reading field datadog.trace.util.AgentTaskScheduler.worker of constant 
#16 182.8     datadog.trace.util.AgentTaskScheduler@5d9eb41: datadog.trace.util.AgentTaskScheduler@5d9eb41
#16 182.8   reading field datadog.trace.api.sampling.AdaptiveSampler.taskScheduler of constant 
#16 182.8     datadog.trace.api.sampling.AdaptiveSampler@30933d13: datadog.trace.api.sampling.AdaptiveSampler@30933d13
#16 182.8   scanning root datadog.trace.api.sampling.AdaptiveSampler@30933d13: datadog.trace.api.sampling.AdaptiveSampler@30933d13 embedded in 
#16 182.8     com.datadog.profiling.controller.openjdk.OpenJdkController.<init>(OpenJdkController.java)
#16 182.8   parsing method com.datadog.profiling.controller.openjdk.OpenJdkController.<init>(OpenJdkController.java:83) reachable via the parsing context
#16 182.8     at com.datadog.profiling.controller.openjdk.OpenJdkController.instance(OpenJdkController.java:73)
#16 182.8     at com.datadog.profiling.agent.CompositeController.build(CompositeController.java:165)
#16 182.8     at com.datadog.profiling.agent.ProfilingAgent.run(ProfilingAgent.java:126)
#16 182.8     at datadog.trace.agent.tooling.ProfilerInstaller.installProfiler(ProfilerInstaller.java:10)
#16 182.8     at datadog.trace.agent.tooling.nativeimage.TracerActivation.activate(TracerActivation.java:20)
#16 182.8     at org.graalvm.nativeimage.VMRuntime.initialize(VMRuntime.java:65)
#16 182.8     at com.oracle.svm.core.JavaMainWrapper.runCore0(JavaMainWrapper.java:220)
#16 182.8     at com.oracle.svm.core.JavaMainWrapper.doRun(JavaMainWrapper.java:303)
#16 182.8     at com.oracle.svm.core.code.IsolateEnterStub.JavaMainWrapper_run_5087f5482cc9a6abc971913ece43acb471d2631b(generated:0)
#16 182.8     at static root method.(Unknown Source)
#16 182.8 
#16 182.8 
#16 182.8 	at org.graalvm.nativeimage.pointsto/com.oracle.graal.pointsto.constraints.UnsupportedFeatures.report(UnsupportedFeatures.java:129)
#16 182.8 	at org.graalvm.nativeimage.builder/com.oracle.svm.hosted.NativeImageGenerator.runPointsToAnalysis(NativeImageGenerator.java:809)
#16 182.8 	... 6 more

Note that this doesn't happen with 1.51.2

Expected Behavior

Native build works

Reproduction Code

No response

Metadata

Metadata

Assignees

No one assigned

    Labels

    Type

    No type

    Projects

    No projects

    Milestone

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions