lmm1990 opened a new issue, #1404: URL: https://github.com/apache/incubator-fury/issues/1404
### Search before asking - [X] I had searched in the [issues](https://github.com/apache/incubator-fury/issues) and found no similar issues. ### Version javaFury:0.4.1 os:windows10 ### Component(s) Java ### Minimal reproduce step springboot bootBuildImage project see demo.zip [demo.zip](https://github.com/apache/incubator-fury/files/14573919/demo.zip) ### What did you expect to see? build success ### What did you see instead? 22:02:03: 正在执行 'bootBuildImage'… > Task :compileJava > Task :processResources > Task :classes > Task :resolveMainClassName > Task :processAot . ____ _ __ _ _ /\\ / ___'_ __ _ _(_)_ __ __ _ \ \ \ \ ( ( )\___ | '_ | '_| | '_ \/ _` | \ \ \ \ \\/ ___)| |_)| | | | | || (_| | ) ) ) ) ' |____| .__|_| |_|_| |_\__, | / / / / =========|_|==============|___/=/_/_/_/ :: Spring Boot :: (v3.0.13) 2024-03-12T22:02:07.398+08:00 INFO 13184 --- [ main] demo.demo.DemoApplication : Starting DemoApplication using Java 21.0.2 with PID 13184 (E:\demo\build\classes\java\main started by lmm in E:\demo) 2024-03-12T22:02:07.404+08:00 INFO 13184 --- [ main] demo.demo.DemoApplication : No active profile set, falling back to 1 default profile: "default" > Task :compileAotJava > Task :processAotResources > Task :aotClasses > Task :collectReachabilityMetadata > Task :bootJar > Task :bootBuildImage Building image 'registry.cn-shanghai.aliyuncs.com/lmm1990/test:1.0.1' > Pulling builder image '172.26.253.160:8000/builder-jammy-tiny:0.0.233' .................................................. > Pulled builder image '172.26.253.160:5000/builder-jammy-tiny@sha256:1ccf1cc29e7bc447c27a621a355116e0359c1217db08a1eaecc80bb4abb0e84f' > Pulling run image '172.26.253.160:8000/run-jammy-tiny:0.2.28' .................................................. > Pulled run image '172.26.253.160:5000/run-jammy-tiny@sha256:35677b16aecd3a2697249b679cb6fbb6cf1b8d0574ccb4189c66d7669a4a8e92' > Executing lifecycle version v0.18.5 > Using build cache volume 'pack-cache-c7ee556d6fe7.build' > Running creator [creator] ===> ANALYZING [creator] Restoring data for SBOM from previous image [creator] ===> DETECTING [creator] 6 of 15 buildpacks participating [creator] paketo-buildpacks/ca-certificates 3.6.8 [creator] paketo-buildpacks/bellsoft-liberica 10.5.3 [creator] paketo-buildpacks/syft 1.45.0 [creator] paketo-buildpacks/executable-jar 6.8.4 [creator] paketo-buildpacks/spring-boot 5.27.10 [creator] paketo-buildpacks/native-image 5.12.8 [creator] ===> RESTORING [creator] Restoring metadata for "paketo-buildpacks/ca-certificates:helper" from app image [creator] Restoring metadata for "paketo-buildpacks/bellsoft-liberica:native-image-svm" from cache [creator] Restoring metadata for "paketo-buildpacks/syft:syft" from cache [creator] Restoring metadata for "paketo-buildpacks/native-image:native-image" from cache [creator] Restoring data for "paketo-buildpacks/bellsoft-liberica:native-image-svm" from cache [creator] Restoring data for "paketo-buildpacks/syft:syft" from cache [creator] Restoring data for "paketo-buildpacks/native-image:native-image" from cache [creator] Restoring data for SBOM from cache [creator] ===> BUILDING [creator] [creator] Paketo Buildpack for CA Certificates 3.6.8 [creator] https://github.com/paketo-buildpacks/ca-certificates [creator] Launch Helper: Reusing cached layer [creator] [creator] Paketo Buildpack for BellSoft Liberica 10.5.3 [creator] https://github.com/paketo-buildpacks/bellsoft-liberica [creator] Build Configuration: [creator] $BP_JVM_JLINK_ARGS --no-man-pages --no-header-files --strip-debug --compress=1 configure custom link arguments (--output must be omitted) [creator] $BP_JVM_JLINK_ENABLED false enables running jlink tool to generate custom JRE [creator] $BP_JVM_TYPE JRE the JVM type - JDK or JRE [creator] $BP_JVM_VERSION 21 the Java version [creator] Launch Configuration: [creator] $BPL_DEBUG_ENABLED false enables Java remote debugging support [creator] $BPL_DEBUG_PORT 8000 configure the remote debugging port [creator] $BPL_DEBUG_SUSPEND false configure whether to suspend execution until a debugger has attached [creator] $BPL_HEAP_DUMP_PATH write heap dumps on error to this path [creator] $BPL_JAVA_NMT_ENABLED true enables Java Native Memory Tracking (NMT) [creator] $BPL_JAVA_NMT_LEVEL summary configure level of NMT, summary or detail [creator] $BPL_JFR_ARGS configure custom Java Flight Recording (JFR) arguments [creator] $BPL_JFR_ENABLED false enables Java Flight Recording (JFR) [creator] $BPL_JMX_ENABLED false enables Java Management Extensions (JMX) [creator] $BPL_JMX_PORT 5000 configure the JMX port [creator] $BPL_JVM_HEAD_ROOM 0 the headroom in memory calculation [creator] $BPL_JVM_LOADED_CLASS_COUNT 35% of classes the number of loaded classes in memory calculation [creator] $BPL_JVM_THREAD_COUNT 250 the number of threads in memory calculation [creator] $JAVA_TOOL_OPTIONS the JVM launch flags [creator] Using Java version 21 from BP_JVM_VERSION [creator] BellSoft Liberica NIK 21.0.2: Reusing cached layer [creator] [creator] Paketo Buildpack for Syft 1.45.0 [creator] https://github.com/paketo-buildpacks/syft [creator] [creator] Paketo Buildpack for Executable JAR 6.8.4 [creator] https://github.com/paketo-buildpacks/executable-jar [creator] Class Path: Contributing to layer [creator] Writing env.build/CLASSPATH.delim [creator] Writing env.build/CLASSPATH.prepend [creator] [creator] Paketo Buildpack for Spring Boot 5.27.10 [creator] https://github.com/paketo-buildpacks/spring-boot [creator] Build Configuration: [creator] $BP_SPRING_CLOUD_BINDINGS_DISABLED false whether to contribute Spring Boot cloud bindings support [creator] $BP_SPRING_CLOUD_BINDINGS_VERSION 1 default version of Spring Cloud Bindings library to contribute [creator] Launch Configuration: [creator] $BPL_SPRING_CLOUD_BINDINGS_DISABLED false whether to auto-configure Spring Boot environment properties from bindings [creator] $BPL_SPRING_CLOUD_BINDINGS_ENABLED true Deprecated - whether to auto-configure Spring Boot environment properties from bindings [creator] Class Path: Contributing to layer [creator] Writing env.build/BP_NATIVE_IMAGE_BUILD_ARGUMENTS_FILE.default [creator] Writing env.build/CLASSPATH.append [creator] Writing env.build/CLASSPATH.delim [creator] Image labels: [creator] org.opencontainers.image.title [creator] org.opencontainers.image.version [creator] org.springframework.boot.version [creator] Warning: BOM table is deprecated in this buildpack api version, though it remains supported for backwards compatibility. Buildpack authors should write BOM information to <layer>.sbom.<ext>, launch.sbom.<ext>, or build.sbom.<ext>. [creator] [creator] Paketo Buildpack for Native Image 5.12.8 [creator] https://github.com/paketo-buildpacks/native-image [creator] Build Configuration: [creator] $BP_BINARY_COMPRESSION_METHOD Compression mechanism used to reduce binary size. Options: `none` (default), `upx` or `gzexe` [creator] $BP_NATIVE_IMAGE true enable native image build [creator] $BP_NATIVE_IMAGE_BUILD_ARGUMENTS arguments to pass to the native-image command [creator] $BP_NATIVE_IMAGE_BUILD_ARGUMENTS_FILE /workspace/META-INF/native-image/argfile a file with arguments to pass to the native-image command [creator] $BP_NATIVE_IMAGE_BUILT_ARTIFACT the built application artifact explicitly, required if building from a JAR [creator] Command "packages" is deprecated, use `syft scan` instead [creator] Native Image: Contributing to layer [creator] Executing native-image --no-fallback -H:+StaticExecutableWithDynamicLibC @/workspace/META-INF/native-image/argfile -H:Name=/layers/paketo-buildpacks_native-image/native-image/demo.demo.DemoApplication -cp /workspace:/workspace/BOOT-INF/classes:/workspace/BOOT-INF/lib/fury-core-0.4.1.jar:/workspace/BOOT-INF/lib/spring-webflux-6.0.14.jar:/workspace/BOOT-INF/lib/spring-web-6.0.14.jar:/workspace/BOOT-INF/lib/logback-classic-1.4.11.jar:/workspace/BOOT-INF/lib/log4j-to-slf4j-2.19.0.jar:/workspace/BOOT-INF/lib/jul-to-slf4j-2.0.9.jar:/workspace/BOOT-INF/lib/slf4j-api-2.0.9.jar:/workspace/BOOT-INF/lib/guava-32.1.2-jre.jar:/workspace/BOOT-INF/lib/spring-boot-autoconfigure-3.0.13.jar:/workspace/BOOT-INF/lib/spring-boot-3.0.13.jar:/workspace/BOOT-INF/lib/jakarta.annotation-api-2.1.1.jar:/workspace/BOOT-INF/lib/spring-context-6.0.14.jar:/workspace/BOOT-INF/lib/spring-aop-6.0.14.jar:/workspace/BOOT-INF/lib/spring-beans-6.0.14.jar:/workspace/BOOT-INF/lib/spring-expression-6 .0.14.jar:/workspace/BOOT-INF/lib/spring-core-6.0.14.jar:/workspace/BOOT-INF/lib/snakeyaml-1.33.jar:/workspace/BOOT-INF/lib/jackson-datatype-jsr310-2.14.3.jar:/workspace/BOOT-INF/lib/jackson-module-parameter-names-2.14.3.jar:/workspace/BOOT-INF/lib/jackson-annotations-2.14.3.jar:/workspace/BOOT-INF/lib/jackson-core-2.14.3.jar:/workspace/BOOT-INF/lib/jackson-datatype-jdk8-2.14.3.jar:/workspace/BOOT-INF/lib/jackson-databind-2.14.3.jar:/workspace/BOOT-INF/lib/reactor-netty-http-1.1.13.jar:/workspace/BOOT-INF/lib/micrometer-observation-1.10.13.jar:/workspace/BOOT-INF/lib/reactor-netty-core-1.1.13.jar:/workspace/BOOT-INF/lib/reactor-core-3.5.12.jar:/workspace/BOOT-INF/lib/failureaccess-1.0.1.jar:/workspace/BOOT-INF/lib/listenablefuture-9999.0-empty-to-avoid-conflict-with-guava.jar:/workspace/BOOT-INF/lib/jsr305-3.0.2.jar:/workspace/BOOT-INF/lib/checker-qual-3.33.0.jar:/workspace/BOOT-INF/lib/error_prone_annotations-2.18.0.jar:/workspace/BOOT-INF/lib/spring-jcl-6.0.14.jar:/workspace/BOOT- INF/lib/netty-codec-http2-4.1.101.Final.jar:/workspace/BOOT-INF/lib/netty-handler-proxy-4.1.101.Final.jar:/workspace/BOOT-INF/lib/netty-codec-http-4.1.101.Final.jar:/workspace/BOOT-INF/lib/netty-resolver-dns-native-macos-4.1.101.Final-osx-x86_64.jar:/workspace/BOOT-INF/lib/netty-resolver-dns-classes-macos-4.1.101.Final.jar:/workspace/BOOT-INF/lib/netty-resolver-dns-4.1.101.Final.jar:/workspace/BOOT-INF/lib/netty-transport-native-epoll-4.1.101.Final-linux-x86_64.jar:/workspace/BOOT-INF/lib/micrometer-commons-1.10.13.jar:/workspace/BOOT-INF/lib/reactive-streams-1.0.4.jar:/workspace/BOOT-INF/lib/logback-core-1.4.11.jar:/workspace/BOOT-INF/lib/log4j-api-2.19.0.jar:/workspace/BOOT-INF/lib/netty-handler-4.1.101.Final.jar:/workspace/BOOT-INF/lib/netty-codec-dns-4.1.101.Final.jar:/workspace/BOOT-INF/lib/netty-codec-socks-4.1.101.Final.jar:/workspace/BOOT-INF/lib/netty-codec-4.1.101.Final.jar:/workspace/BOOT-INF/lib/netty-transport-classes-epoll-4.1.101.Final.jar:/workspace/BOOT-INF/lib/nett y-transport-native-unix-common-4.1.101.Final.jar:/workspace/BOOT-INF/lib/netty-transport-4.1.101.Final.jar:/workspace/BOOT-INF/lib/netty-buffer-4.1.101.Final.jar:/workspace/BOOT-INF/lib/netty-resolver-4.1.101.Final.jar:/workspace/BOOT-INF/lib/netty-common-4.1.101.Final.jar demo.demo.DemoApplication [creator] Warning: The option '-H:+StaticExecutableWithDynamicLibC' is experimental and must be enabled via '-H:+UnlockExperimentalVMOptions' in the future. [creator] Warning: The option '-H:Name=/layers/paketo-buildpacks_native-image/native-image/demo.demo.DemoApplication' is experimental and must be enabled via '-H:+UnlockExperimentalVMOptions' in the future. [creator] Warning: Please re-evaluate whether any experimental option is required, and either remove or unlock it. The build output lists all active experimental options, including where they come from and possible alternatives. If you think an experimental option should be considered as stable, please file an issue. [creator] ================================================================================ [creator] GraalVM Native Image: Generating 'demo.demo.DemoApplication' (static executable)... [creator] ================================================================================ [creator] For detailed information and explanations on the build output, visit: [creator] https://github.com/oracle/graal/blob/master/docs/reference-manual/native-image/BuildOutput.md [creator] -------------------------------------------------------------------------------- [creator] [1/8] Initializing... (8.9s @ 0.17GB) [creator] Java version: 21.0.2+14-LTS, vendor version: Liberica-NIK-23.1.2-1 [creator] Graal compiler: optimization level: 2, target machine: x86-64-v3 [creator] C compiler: gcc (linux, x86_64, 11.4.0) [creator] Garbage collector: Serial GC (max heap size: 80% of RAM) [creator] 2 user-specific feature(s): [creator] - com.oracle.svm.thirdparty.gson.GsonFeature [creator] - org.springframework.aot.nativex.feature.PreComputeFieldFeature [creator] -------------------------------------------------------------------------------- [creator] 2 experimental option(s) unlocked: [creator] - '-H:Name' (alternative API option(s): -o demo.demo.DemoApplication; origin(s): command line) [creator] - '-H:+StaticExecutableWithDynamicLibC' (origin(s): command line) [creator] -------------------------------------------------------------------------------- [creator] Build resources: [creator] - 8.81GB of memory (75.6% of 11.66GB system memory, determined at start) [creator] - 8 thread(s) (100.0% of 8 available processor(s), determined at start) [creator] Field org.apache.commons.logging.LogAdapter#log4jSpiPresent set to true at build time [creator] Field org.apache.commons.logging.LogAdapter#log4jSlf4jProviderPresent set to true at build time [creator] Field org.apache.commons.logging.LogAdapter#slf4jSpiPresent set to true at build time [creator] Field org.apache.commons.logging.LogAdapter#slf4jApiPresent set to true at build time [creator] Field org.springframework.http.converter.json.Jackson2ObjectMapperBuilder#jackson2XmlPresent set to false at build time [creator] Field org.springframework.web.reactive.config.WebFluxConfigurationSupport#jakartaValidatorPresent set to false at build time [creator] Field org.springframework.boot.logging.logback.LogbackLoggingSystem$Factory#PRESENT set to true at build time [creator] Field org.springframework.boot.logging.java.JavaLoggingSystem$Factory#PRESENT set to true at build time [creator] Field org.springframework.cglib.core.AbstractClassGenerator#inNativeImage set to true at build time [creator] Field org.springframework.core.NativeDetector#inNativeImage set to true at build time [creator] Field org.springframework.boot.logging.log4j2.Log4J2LoggingSystem$Factory#PRESENT set to false at build time [creator] Field org.springframework.core.KotlinDetector#kotlinPresent set to false at build time [creator] Field org.springframework.core.KotlinDetector#kotlinReflectPresent set to false at build time [creator] Field org.springframework.aot.AotDetector#inNativeImage set to true at build time [creator] Field org.springframework.core.ReactiveAdapterRegistry#reactorPresent set to true at build time [creator] Field org.springframework.core.ReactiveAdapterRegistry#rxjava3Present set to false at build time [creator] Field org.springframework.core.ReactiveAdapterRegistry#kotlinCoroutinesPresent set to false at build time [creator] Field org.springframework.core.ReactiveAdapterRegistry#mutinyPresent set to false at build time [creator] Field org.springframework.format.support.DefaultFormattingConversionService#jsr354Present set to false at build time [creator] [2/8] Performing analysis... [] (20.6s @ 0.42GB) [creator] 4,994 reachable types (63.2% of 7,906 total) [creator] 5,497 reachable fields (47.6% of 11,551 total) [creator] 19,194 reachable methods (37.8% of 50,724 total) [creator] 2,004 types, 187 fields, and 3,121 methods registered for reflection [creator] [creator] Fatal error: org.graalvm.compiler.debug.GraalError: org.graalvm.compiler.debug.GraalError: com.oracle.graal.pointsto.constraints.UnsupportedFeatureException: An object of type 'ch.qos.logback.core.status.InfoStatus' was found in the image heap. This type, however, is marked for initialization at image run time for the following reason: classes are initialized at run time by default. [creator] This is not allowed for correctness reasons: All objects that are stored in the image heap must be initialized at build time. [creator] [creator] You now have two options to resolve this: [creator] [creator] 1) If it is intended that objects of type 'ch.qos.logback.core.status.InfoStatus' are persisted in the image heap, add [creator] [creator] '--initialize-at-build-time=ch.qos.logback.core.status.InfoStatus' [creator] [creator] to the native-image arguments. Note that initializing new types can store additional objects to the heap. It is advised to check the static fields of 'ch.qos.logback.core.status.InfoStatus' to see if they are safe for build-time initialization, and that they do not contain any sensitive data that should not become part of the image. [creator] [creator] 2) If these objects should not be stored in the image heap, you can use [creator] [creator] '--trace-object-instantiation=ch.qos.logback.core.status.InfoStatus' [creator] [creator] to find classes that instantiate these objects. Once you found such a class, you can mark it explicitly for run time initialization with [creator] [creator] '--initialize-at-run-time=<culprit>' [creator] [creator] to prevent the instantiation of the object. [creator] [creator] The following detailed trace displays from which field in the code the object was reached. [creator] at org.graalvm.nativeimage.pointsto/com.oracle.graal.pointsto.util.AnalysisFuture.setException(AnalysisFuture.java:49) [creator] at java.base/java.util.concurrent.FutureTask.run(FutureTask.java:322) [creator] at org.graalvm.nativeimage.pointsto/com.oracle.graal.pointsto.util.AnalysisFuture.ensureDone(AnalysisFuture.java:63) [creator] at org.graalvm.nativeimage.pointsto/com.oracle.graal.pointsto.heap.ImageHeapInstance.readFieldValue(ImageHeapInstance.java:110) [creator] at org.graalvm.nativeimage.pointsto/com.oracle.graal.pointsto.heap.ImageHeapScanner.onObjectReachable(ImageHeapScanner.java:472) [creator] at org.graalvm.nativeimage.builder/com.oracle.svm.hosted.heap.SVMImageHeapScanner.onObjectReachable(SVMImageHeapScanner.java:156) [creator] at org.graalvm.nativeimage.pointsto/com.oracle.graal.pointsto.heap.ImageHeapScanner.lambda$markReachable$5(ImageHeapScanner.java:452) [creator] at org.graalvm.nativeimage.pointsto/com.oracle.graal.pointsto.heap.ImageHeapScanner.lambda$postTask$14(ImageHeapScanner.java:695) [creator] at org.graalvm.nativeimage.pointsto/com.oracle.graal.pointsto.util.CompletionExecutor.executeCommand(CompletionExecutor.java:187) [creator] at org.graalvm.nativeimage.pointsto/com.oracle.graal.pointsto.util.CompletionExecutor.lambda$executeService$0(CompletionExecutor.java:171) [creator] at java.base/java.util.concurrent.ForkJoinTask$RunnableExecuteAction.exec(ForkJoinTask.java:1423) [creator] at java.base/java.util.concurrent.ForkJoinTask.doExec(ForkJoinTask.java:387) [creator] at java.base/java.util.concurrent.ForkJoinPool$WorkQueue.topLevelExec(ForkJoinPool.java:1312) [creator] at java.base/java.util.concurrent.ForkJoinPool.scan(ForkJoinPool.java:1843) [creator] at java.base/java.util.concurrent.ForkJoinPool.runWorker(ForkJoinPool.java:1808) [creator] at java.base/java.util.concurrent.ForkJoinWorkerThread.run(ForkJoinWorkerThread.java:188) [creator] Caused by: org.graalvm.compiler.debug.GraalError: com.oracle.graal.pointsto.constraints.UnsupportedFeatureException: An object of type 'ch.qos.logback.core.status.InfoStatus' was found in the image heap. This type, however, is marked for initialization at image run time for the following reason: classes are initialized at run time by default. [creator] This is not allowed for correctness reasons: All objects that are stored in the image heap must be initialized at build time. [creator] [creator] You now have two options to resolve this: [creator] [creator] 1) If it is intended that objects of type 'ch.qos.logback.core.status.InfoStatus' are persisted in the image heap, add [creator] [creator] '--initialize-at-build-time=ch.qos.logback.core.status.InfoStatus' [creator] [creator] to the native-image arguments. Note that initializing new types can store additional objects to the heap. It is advised to check the static fields of 'ch.qos.logback.core.status.InfoStatus' to see if they are safe for build-time initialization, and that they do not contain any sensitive data that should not become part of the image. [creator] [creator] 2) If these objects should not be stored in the image heap, you can use [creator] [creator] '--trace-object-instantiation=ch.qos.logback.core.status.InfoStatus' [creator] [creator] to find classes that instantiate these objects. Once you found such a class, you can mark it explicitly for run time initialization with [creator] [creator] '--initialize-at-run-time=<culprit>' [creator] [creator] to prevent the instantiation of the object. [creator] [creator] The following detailed trace displays from which field in the code the object was reached. [creator] at org.graalvm.nativeimage.pointsto/com.oracle.graal.pointsto.util.AnalysisFuture.setException(AnalysisFuture.java:49) [creator] at java.base/java.util.concurrent.FutureTask.run(FutureTask.java:322) [creator] at org.graalvm.nativeimage.pointsto/com.oracle.graal.pointsto.util.AnalysisFuture.ensureDone(AnalysisFuture.java:63) [creator] at org.graalvm.nativeimage.pointsto/com.oracle.graal.pointsto.heap.ImageHeapScanner.getOrCreateImageHeapConstant(ImageHeapScanner.java:212) [creator] at org.graalvm.nativeimage.builder/com.oracle.svm.hosted.heap.SVMImageHeapScanner.getOrCreateImageHeapConstant(SVMImageHeapScanner.java:109) [creator] at org.graalvm.nativeimage.pointsto/com.oracle.graal.pointsto.heap.ImageHeapScanner.createImageHeapConstant(ImageHeapScanner.java:186) [creator] at org.graalvm.nativeimage.pointsto/com.oracle.graal.pointsto.heap.ImageHeapScanner.createFieldValue(ImageHeapScanner.java:364) [creator] at org.graalvm.nativeimage.pointsto/com.oracle.graal.pointsto.heap.ImageHeapScanner.lambda$createImageHeapInstance$4(ImageHeapScanner.java:294) [creator] at java.base/java.util.concurrent.FutureTask.run(FutureTask.java:317) [creator] ... 14 more [creator] Caused by: com.oracle.graal.pointsto.constraints.UnsupportedFeatureException: An object of type 'ch.qos.logback.core.status.InfoStatus' was found in the image heap. This type, however, is marked for initialization at image run time for the following reason: classes are initialized at run time by default. [creator] This is not allowed for correctness reasons: All objects that are stored in the image heap must be initialized at build time. [creator] [creator] You now have two options to resolve this: [creator] [creator] 1) If it is intended that objects of type 'ch.qos.logback.core.status.InfoStatus' are persisted in the image heap, add [creator] [creator] '--initialize-at-build-time=ch.qos.logback.core.status.InfoStatus' [creator] [creator] to the native-image arguments. Note that initializing new types can store additional objects to the heap. It is advised to check the static fields of 'ch.qos.logback.core.status.InfoStatus' to see if they are safe for build-time initialization, and that they do not contain any sensitive data that should not become part of the image. [creator] [creator] 2) If these objects should not be stored in the image heap, you can use [creator] [creator] '--trace-object-instantiation=ch.qos.logback.core.status.InfoStatus' [creator] [creator] to find classes that instantiate these objects. Once you found such a class, you can mark it explicitly for run time initialization with [creator] [creator] '--initialize-at-run-time=<culprit>' [creator] [creator] to prevent the instantiation of the object. [creator] [creator] The following detailed trace displays from which field in the code the object was reached. [creator] at org.graalvm.nativeimage.builder/com.oracle.svm.hosted.classinitialization.ClassInitializationFeature.checkImageHeapInstance(ClassInitializationFeature.java:186) [creator] at org.graalvm.nativeimage.pointsto/com.oracle.graal.pointsto.meta.AnalysisUniverse.replaceObject(AnalysisUniverse.java:616) [creator] at org.graalvm.nativeimage.builder/com.oracle.svm.hosted.ameta.AnalysisConstantReflectionProvider.replaceObject(AnalysisConstantReflectionProvider.java:307) [creator] at org.graalvm.nativeimage.builder/com.oracle.svm.hosted.ameta.AnalysisConstantReflectionProvider.readArrayElement(AnalysisConstantReflectionProvider.java:158) [creator] at org.graalvm.nativeimage.pointsto/com.oracle.graal.pointsto.heap.ImageHeapScanner.createImageHeapObjectArray(ImageHeapScanner.java:267) [creator] at org.graalvm.nativeimage.pointsto/com.oracle.graal.pointsto.heap.ImageHeapScanner.createImageHeapObject(ImageHeapScanner.java:251) [creator] at org.graalvm.nativeimage.pointsto/com.oracle.graal.pointsto.heap.ImageHeapScanner.lambda$getOrCreateImageHeapConstant$2(ImageHeapScanner.java:205) [creator] at java.base/java.util.concurrent.FutureTask.run(FutureTask.java:317) [creator] ... 21 more [creator] -------------------------------------------------------------------------------- [creator] 3.1s (10.1% of total time) in 91 GCs | Peak RSS: 1.00GB | CPU load: 6.51 [creator] ================================================================================ [creator] Finished generating 'demo.demo.DemoApplication' in 29.8s. [creator] unable to invoke layer creator [creator] unable to contribute native-image layer [creator] error running build [creator] exit status 1 [creator] ERROR: failed to build: exit status 1 > Task :bootBuildImage FAILED 9 actionable tasks: 9 executed FAILURE: Build failed with an exception. * What went wrong: Execution failed for task ':bootBuildImage'. > Builder lifecycle 'creator' failed with status code 51 * Try: > Run with --stacktrace option to get the stack trace. > Run with --info or --debug option to get more log output. > Run with --scan to get full insights. > Get more help at https://help.gradle.org. BUILD FAILED in 44s 22:02:48: 执行完成 'bootBuildImage'。 ### Anything Else? remove implementation 'org.furyio:fury-core:0.4.1' build success ### Are you willing to submit a PR? - [ ] I'm willing to submit a PR! -- This is an automated message from the Apache Git Service. To respond to the message, please log on to GitHub and use the URL above to go to the specific comment. To unsubscribe, e-mail: [email protected] For queries about this service, please contact Infrastructure at: [email protected] --------------------------------------------------------------------- To unsubscribe, e-mail: [email protected] For additional commands, e-mail: [email protected]
