- Notifications
You must be signed in to change notification settings - Fork 320
Closed
Labels
comp: native-imageGraalVM native-imageGraalVM native-imagetype: bugBug report and fixBug report and fix
Milestone
Description
Description
I am attempting to build a native image for my Spring Boot application using GraalVM, but I am encountering initialization issues related to classes during the build time. These issues have arisen after upgrading Datadog's Java APM agent from version 1.40.0 to 1.41.0.
When building the native image, I receive the following error messages:
Classes that should be initialized at runtime were initialized during image building: - datadog.trace.api.Functions$PrefixJoin was unintentionally initialized at build time. To investigate further, use --trace-class-initialization=datadog.trace.api.Functions$PrefixJoin. - datadog.trace.bootstrap.instrumentation.decorator.BaseDecorator was unintentionally initialized at build time. To investigate further, use --trace-class-initialization=datadog.trace.bootstrap.instrumentation.decorator.BaseDecorator. - datadog.trace.bootstrap.instrumentation.decorator.AsyncResultDecorator was unintentionally initialized at build time. To investigate further, use --trace-class-initialization=datadog.trace.bootstrap.instrumentation.decorator.AsyncResultDecorator. The setup details are as follows:
Java Version: 17
Spring Boot Version: 3.3.5
GraalVM Version: 17.0.11
Maven Plugin Configuration:
I am using Maven to build the project, and the following is my plugin configuration in the pom.xml file:
<plugin> <groupId>org.graalvm.buildtools</groupId> <artifactId>native-maven-plugin</artifactId> <configuration> <buildArgs> <buildArg>-J-javaagent:dd-java-agent.jar</buildArg> <buildArg> --initialize-at-build-time=org.slf4j.helpers,datadog.okhttp3.internal.platform,net.logstash.logback </buildArg> <buildArg>--initialize-at-run-time=net.logstash.logback.appender.LogstashTcpSocketAppender </buildArg> <buildArg>--link-at-build-time=net.logstash.logback.appender</buildArg> <buildArg>-H:+ReportExceptionStackTraces</buildArg> <buildArg>-H:+MultiThreaded</buildArg> <buildArg>-H:IncludeResources=.*\.xml</buildArg> </buildArgs> <imageName>${build.finalName}</imageName> </configuration> </plugin>Additional Errors:
Error: Classes that should be initialized at run time got initialized during image building: datadog.trace.bootstrap.instrumentation.decorator.AsyncResultDecorator was unintentionally initialized at build time. org.springframework.web.reactive.socket.server.support.HandshakeWebSocketService caused initialization of this class with the following trace: at datadog.trace.bootstrap.instrumentation.decorator.AsyncResultDecorator.<clinit>(AsyncResultDecorator.java:19) at datadog.trace.instrumentation.reactor.core.ReactorAsyncResultSupportExtension.<clinit>(ReactorAsyncResultSupportExtension.java:11) at reactor.core.publisher.MonoJust.<init>(MonoJust.java:36) at reactor.core.publisher.Mono.just(Mono.java:754) at org.springframework.web.reactive.socket.server.support.HandshakeWebSocketService.<clinit>(HandshakeWebSocketService.java:72) datadog.trace.api.Functions$PrefixJoin was unintentionally initialized at build time. org.springframework.web.reactive.socket.server.support.HandshakeWebSocketService caused initialization of this class with the following trace: at datadog.trace.api.Functions$PrefixJoin.<clinit>(Functions.java:102) at datadog.trace.bootstrap.instrumentation.decorator.BaseDecorator.<clinit>(BaseDecorator.java:37) at datadog.trace.instrumentation.reactor.core.ReactorAsyncResultSupportExtension.<clinit>(ReactorAsyncResultSupportExtension.java:11) at reactor.core.publisher.MonoJust.<init>(MonoJust.java:36) at reactor.core.publisher.Mono.just(Mono.java:754) at org.springframework.web.reactive.socket.server.support.HandshakeWebSocketService.<clinit>(HandshakeWebSocketService.java:72) datadog.trace.bootstrap.instrumentation.decorator.BaseDecorator was unintentionally initialized at build time. org.springframework.web.reactive.socket.server.support.HandshakeWebSocketService caused initialization of this class with the following trace: at datadog.trace.bootstrap.instrumentation.decorator.BaseDecorator.<clinit>(BaseDecorator.java:23) at datadog.trace.instrumentation.reactor.core.ReactorAsyncResultSupportExtension.<clinit>(ReactorAsyncResultSupportExtension.java:11) at reactor.core.publisher.MonoJust.<init>(MonoJust.java:36) at reactor.core.publisher.Mono.just(Mono.java:754) at org.springframework.web.reactive.socket.server.support.HandshakeWebSocketService.<clinit>(HandshakeWebSocketService.java:72) com.oracle.svm.core.util.UserError$UserException: Classes that should be initialized at run time got initialized during image building: datadog.trace.bootstrap.instrumentation.decorator.AsyncResultDecorator was unintentionally initialized at build time. org.springframework.web.reactive.socket.server.support.HandshakeWebSocketService caused initialization of this class with the following trace: at datadog.trace.bootstrap.instrumentation.decorator.AsyncResultDecorator.<clinit>(AsyncResultDecorator.java:19) at datadog.trace.instrumentation.reactor.core.ReactorAsyncResultSupportExtension.<clinit>(ReactorAsyncResultSupportExtension.java:11) at reactor.core.publisher.MonoJust.<init>(MonoJust.java:36) at reactor.core.publisher.Mono.just(Mono.java:754) at org.springframework.web.reactive.socket.server.support.HandshakeWebSocketService.<clinit>(HandshakeWebSocketService.java:72) datadog.trace.api.Functions$PrefixJoin was unintentionally initialized at build time. org.springframework.web.reactive.socket.server.support.HandshakeWebSocketService caused initialization of this class with the following trace: at datadog.trace.api.Functions$PrefixJoin.<clinit>(Functions.java:102) at datadog.trace.bootstrap.instrumentation.decorator.BaseDecorator.<clinit>(BaseDecorator.java:37) at datadog.trace.instrumentation.reactor.core.ReactorAsyncResultSupportExtension.<clinit>(ReactorAsyncResultSupportExtension.java:11) at reactor.core.publisher.MonoJust.<init>(MonoJust.java:36) at reactor.core.publisher.Mono.just(Mono.java:754) at org.springframework.web.reactive.socket.server.support.HandshakeWebSocketService.<clinit>(HandshakeWebSocketService.java:72) datadog.trace.bootstrap.instrumentation.decorator.BaseDecorator was unintentionally initialized at build time. org.springframework.web.reactive.socket.server.support.HandshakeWebSocketService caused initialization of this class with the following trace: at datadog.trace.bootstrap.instrumentation.decorator.BaseDecorator.<clinit>(BaseDecorator.java:23) at datadog.trace.instrumentation.reactor.core.ReactorAsyncResultSupportExtension.<clinit>(ReactorAsyncResultSupportExtension.java:11) at reactor.core.publisher.MonoJust.<init>(MonoJust.java:36) at reactor.core.publisher.Mono.just(Mono.java:754) at org.springframework.web.reactive.socket.server.support.HandshakeWebSocketService.<clinit>(HandshakeWebSocketService.java:72) Metadata
Metadata
Assignees
Labels
comp: native-imageGraalVM native-imageGraalVM native-imagetype: bugBug report and fixBug report and fix