microsoft / semantic-kernel-java

Semantic Kernel for Java. Integrate cutting-edge LLM technology quickly and easily into your Java based apps. See https://aka.ms/semantic-kernel.
MIT License
63 stars 14 forks source link

Java: Does not work in GraalVM native compilation #146

Open edeandrea opened 1 year ago

edeandrea commented 1 year ago

Describe the bug When trying to use this library with GraalVM native compilation the build fails.

See https://github.com/quarkusio/quarkus-super-heroes/actions/runs/6226135689/job/16898025230?pr=365

It won't let me post the entire log content because it is too long, so I'll attach it as a file instead.

semantic kernel native error.txt

edeandrea commented 1 year ago

I got a bit farther by manually adding the com.fasterxml.jackson.dataformat:jackson-dataformat-xml dependency to the project (the project itself does not need/require this dependency), but it still fails:

https://github.com/quarkusio/quarkus-super-heroes/actions/runs/6237456912/job/16931105843?pr=365

[INFO] [io.quarkus.deployment.pkg.steps.NativeImageBuildStep] Running Quarkus native-image plugin on native-image 17.0.8 2023-07-18
OpenJDK Runtime Environment Mandrel-23.0.1.2-Final (build 17.0.8+7)
OpenJDK 64-Bit Server VM Mandrel-23.0.1.2-Final (build 17.0.8+7, mixed mode)
[INFO] [io.quarkus.deployment.pkg.steps.NativeImageBuildRunner] /opt/hostedtoolcache/Java_jdkfile_jdk/17/x64/bin/native-image -J-Djava.util.logging.manager=org.jboss.logmanager.LogManager -J-Dsun.nio.ch.maxUpdateArraySize=100 -J-Dlogging.initial-configurator.min-level=500 -J-Dvertx.logger-delegate-factory-class-name=io.quarkus.vertx.core.runtime.VertxLogDelegateFactory -J-Dvertx.disableDnsResolver=true -J-Dio.netty.leakDetection.level=DISABLED -J-Dio.netty.allocator.maxOrder=3 -J-Duser.language=en -J-Dfile.encoding=UTF-8 --features=io.quarkus.hibernate.validator.runtime.DisableLoggingFeature,io.quarkus.runner.Feature,io.quarkus.runtime.graal.DisableLoggingFeature -J--add-exports=java.security.jgss/sun.security.krb5=ALL-UNNAMED -J--add-opens=java.base/java.text=ALL-UNNAMED -J--add-opens=java.base/java.io=ALL-UNNAMED -J--add-opens=java.base/java.lang.invoke=ALL-UNNAMED -J--add-opens=java.base/java.util=ALL-UNNAMED -H:BuildOutputJSONFile=rest-narration-1.0.0-SNAPSHOT-runner-build-output-stats.json -H:+AllowFoldMethods -J-Djava.awt.headless=true --no-fallback --link-at-build-time -H:+ReportExceptionStackTraces -H:-AddAllCharsets --enable-url-protocols=http -H:NativeLinkerOption=-no-pie -H:-UseServiceLoaderFeature -H:+StackTrace -J--add-exports=org.graalvm.sdk/org.graalvm.nativeimage.impl=ALL-UNNAMED --exclude-config io\.netty\.netty-codec /META-INF/native-image/io\.netty/netty-codec/generated/handlers/reflect-config\.json --exclude-config io\.netty\.netty-handler /META-INF/native-image/io\.netty/netty-handler/generated/handlers/reflect-config\.json rest-narration-1.0.0-SNAPSHOT-runner -jar rest-narration-1.0.0-SNAPSHOT-runner.jar
Warning: Using a deprecated option --allow-incomplete-classpath from 'META-INF/native-image/com.azure/azure-core/native-image.properties' in 'file:///home/runner/work/quarkus-super-heroes/quarkus-super-heroes/rest-narration/target/rest-narration-1.0.0-SNAPSHOT-native-image-source-jar/lib/com.azure.azure-core-1.38.0.jar'. Allowing an incomplete classpath is now the default. Use --link-at-build-time to report linking errors at image build time for a class or package.
========================================================================================================================
GraalVM Native Image: Generating 'rest-narration-1.0.0-SNAPSHOT-runner' (executable)...
========================================================================================================================
For detailed information and explanations on the build output, visit:
https://github.com/oracle/graal/blob/master/docs/reference-manual/native-image/BuildOutput.md
------------------------------------------------------------------------------------------------------------------------
Warning: Could not resolve class com.sun.jna.Callback for reflection configuration. Reason: java.lang.ClassNotFoundException: com.sun.jna.Callback.
Warning: Could not resolve class com.sun.jna.CallbackReference for reflection configuration. Reason: java.lang.ClassNotFoundException: com.sun.jna.CallbackReference.
Warning: Could not resolve class com.sun.jna.CallbackReference$AttachOptions for reflection configuration. Reason: java.lang.ClassNotFoundException: com.sun.jna.CallbackReference$AttachOptions.
Warning: Could not resolve class com.sun.jna.FromNativeConverter for reflection configuration. Reason: java.lang.ClassNotFoundException: com.sun.jna.FromNativeConverter.
Warning: Could not resolve class com.sun.jna.IntegerType for reflection configuration. Reason: java.lang.ClassNotFoundException: com.sun.jna.IntegerType.
Warning: Could not resolve class com.sun.jna.JNIEnv for reflection configuration. Reason: java.lang.ClassNotFoundException: com.sun.jna.JNIEnv.
Warning: Could not resolve class com.sun.jna.Library for reflection configuration. Reason: java.lang.ClassNotFoundException: com.sun.jna.Library.
Warning: Could not resolve class com.sun.jna.Native for reflection configuration. Reason: java.lang.ClassNotFoundException: com.sun.jna.Native.
Warning: Could not resolve class com.sun.jna.Native$ffi_callback for reflection configuration. Reason: java.lang.ClassNotFoundException: com.sun.jna.Native$ffi_callback.
Warning: Could not resolve class com.sun.jna.NativeMapped for reflection configuration. Reason: java.lang.ClassNotFoundException: com.sun.jna.NativeMapped.
Warning: Could not resolve class com.sun.jna.Pointer for reflection configuration. Reason: java.lang.ClassNotFoundException: com.sun.jna.Pointer.
Warning: Could not resolve class com.sun.jna.PointerType for reflection configuration. Reason: java.lang.ClassNotFoundException: com.sun.jna.PointerType.
Warning: Could not resolve class com.sun.jna.Structure for reflection configuration. Reason: java.lang.ClassNotFoundException: com.sun.jna.Structure.
Warning: Could not resolve class com.sun.jna.Structure$ByValue for reflection configuration. Reason: java.lang.ClassNotFoundException: com.sun.jna.Structure$ByValue.
Warning: Could not resolve class com.sun.jna.Structure$FFIType$FFITypes for reflection configuration. Reason: java.lang.ClassNotFoundException: com.sun.jna.Structure$FFIType$FFITypes.
Warning: Could not resolve class com.sun.jna.WString for reflection configuration. Reason: java.lang.ClassNotFoundException: com.sun.jna.WString.
Warning: Could not resolve class com.sun.jna.Native for reflection configuration. Reason: java.lang.ClassNotFoundException: com.sun.jna.Native.
Warning: Could not resolve class com.sun.jna.Pointer for reflection configuration. Reason: java.lang.ClassNotFoundException: com.sun.jna.Pointer.
Warning: Could not resolve class com.sun.jna.Structure$ByValue for reflection configuration. Reason: java.lang.ClassNotFoundException: com.sun.jna.Structure$ByValue.
Warning: Could not resolve class com.sun.jna.WString for reflection configuration. Reason: java.lang.ClassNotFoundException: com.sun.jna.WString.
Warning: Could not resolve class com.sun.jna.NativeMapped for reflection configuration. Reason: java.lang.ClassNotFoundException: com.sun.jna.NativeMapped.
Warning: Could not resolve class com.sun.jna.IntegerType for reflection configuration. Reason: java.lang.ClassNotFoundException: com.sun.jna.IntegerType.
Warning: Could not resolve class com.sun.jna.PointerType for reflection configuration. Reason: java.lang.ClassNotFoundException: com.sun.jna.PointerType.
Warning: Could not resolve class com.sun.jna.JNIEnv for reflection configuration. Reason: java.lang.ClassNotFoundException: com.sun.jna.JNIEnv.
Warning: Could not resolve class com.sun.jna.Native$ffi_callback for reflection configuration. Reason: java.lang.ClassNotFoundException: com.sun.jna.Native$ffi_callback.
Warning: Could not resolve class com.sun.jna.FromNativeConverter for reflection configuration. Reason: java.lang.ClassNotFoundException: com.sun.jna.FromNativeConverter.
Warning: Could not resolve class com.sun.jna.Structure for reflection configuration. Reason: java.lang.ClassNotFoundException: com.sun.jna.Structure.
Warning: Could not resolve class com.sun.jna.Callback for reflection configuration. Reason: java.lang.ClassNotFoundException: com.sun.jna.Callback.
Warning: Could not resolve class com.sun.jna.CallbackReference$AttachOptions for reflection configuration. Reason: java.lang.ClassNotFoundException: com.sun.jna.CallbackReference$AttachOptions.
Warning: Could not resolve class com.sun.jna.CallbackReference for reflection configuration. Reason: java.lang.ClassNotFoundException: com.sun.jna.CallbackReference.
Warning: Could not resolve class com.sun.jna.IntegerType for reflection configuration. Reason: java.lang.ClassNotFoundException: com.sun.jna.IntegerType.
Warning: Could not resolve class com.sun.jna.PointerType for reflection configuration. Reason: java.lang.ClassNotFoundException: com.sun.jna.PointerType.
Warning: Could not resolve class com.sun.jna.Structure$FFIType for reflection configuration. Reason: java.lang.ClassNotFoundException: com.sun.jna.Structure$FFIType.
Warning: Could not resolve class com.sun.jna.Structure$FFIType$FFITypes for reflection configuration. Reason: java.lang.ClassNotFoundException: com.sun.jna.Structure$FFIType$FFITypes.
Warning: Could not resolve class com.sun.jna.NativeLong for reflection configuration. Reason: java.lang.ClassNotFoundException: com.sun.jna.NativeLong.
Warning: Could not resolve class com.sun.jna.ptr.PointerByReference for reflection configuration. Reason: java.lang.ClassNotFoundException: com.sun.jna.ptr.PointerByReference.
Warning: Could not resolve class com.sun.jna.Callback for reflection configuration. Reason: java.lang.ClassNotFoundException: com.sun.jna.Callback.
Warning: Could not resolve class com.sun.jna.CallbackReference for reflection configuration. Reason: java.lang.ClassNotFoundException: com.sun.jna.CallbackReference.
Warning: Could not resolve class com.sun.jna.CallbackReference$AttachOptions for reflection configuration. Reason: java.lang.ClassNotFoundException: com.sun.jna.CallbackReference$AttachOptions.
Warning: Could not resolve class com.sun.jna.FromNativeConverter for reflection configuration. Reason: java.lang.ClassNotFoundException: com.sun.jna.FromNativeConverter.
Warning: Could not resolve class com.sun.jna.IntegerType for reflection configuration. Reason: java.lang.ClassNotFoundException: com.sun.jna.IntegerType.
Warning: Could not resolve class com.sun.jna.JNIEnv for reflection configuration. Reason: java.lang.ClassNotFoundException: com.sun.jna.JNIEnv.
Warning: Could not resolve class com.sun.jna.Native for reflection configuration. Reason: java.lang.ClassNotFoundException: com.sun.jna.Native.
Warning: Could not resolve class com.sun.jna.Native$ffi_callback for reflection configuration. Reason: java.lang.ClassNotFoundException: com.sun.jna.Native$ffi_callback.
Warning: Could not resolve class com.sun.jna.NativeMapped for reflection configuration. Reason: java.lang.ClassNotFoundException: com.sun.jna.NativeMapped.
Warning: Could not resolve class com.sun.jna.Pointer for reflection configuration. Reason: java.lang.ClassNotFoundException: com.sun.jna.Pointer.
Warning: Could not resolve class com.sun.jna.PointerType for reflection configuration. Reason: java.lang.ClassNotFoundException: com.sun.jna.PointerType.
Warning: Could not resolve class com.sun.jna.Structure for reflection configuration. Reason: java.lang.ClassNotFoundException: com.sun.jna.Structure.
Warning: Could not resolve class com.sun.jna.Structure$ByValue for reflection configuration. Reason: java.lang.ClassNotFoundException: com.sun.jna.Structure$ByValue.
Warning: Could not resolve class com.sun.jna.Structure$FFIType$FFITypes for reflection configuration. Reason: java.lang.ClassNotFoundException: com.sun.jna.Structure$FFIType$FFITypes.
Warning: Could not resolve class com.sun.jna.WString for reflection configuration. Reason: java.lang.ClassNotFoundException: com.sun.jna.WString.
Warning: Could not resolve class com.sun.jna.CallbackReference for reflection configuration. Reason: java.lang.ClassNotFoundException: com.sun.jna.CallbackReference.
Warning: Could not resolve class com.sun.jna.Klass for reflection configuration. Reason: java.lang.ClassNotFoundException: com.sun.jna.Klass.
Warning: Could not resolve class com.sun.jna.Native for reflection configuration. Reason: java.lang.ClassNotFoundException: com.sun.jna.Native.
Warning: Could not resolve class com.sun.jna.Structure for reflection configuration. Reason: java.lang.ClassNotFoundException: com.sun.jna.Structure.
Warning: Could not resolve class com.sun.jna.NativeLong for reflection configuration. Reason: java.lang.ClassNotFoundException: com.sun.jna.NativeLong.
Warning: Could not resolve class com.sun.jna.ptr.PointerByReference for reflection configuration. Reason: java.lang.ClassNotFoundException: com.sun.jna.ptr.PointerByReference.
Warning: Could not resolve class com.sun.jna.ptr.IntByReference for reflection configuration. Reason: java.lang.ClassNotFoundException: com.sun.jna.ptr.IntByReference.
WARNING: Cannot register dynamic proxy for interface list: com.sun.jna.Library. Reason: Class com.sun.jna.Library not found.
WARNING: Cannot register dynamic proxy for interface list: com.sun.jna.Callback. Reason: Class com.sun.jna.Callback not found.
[1/8] Initializing...                                                                                   (14.2s @ 0.18GB)
 Java version: 17.0.8+7, vendor version: Mandrel-23.0.1.2-Final
 Graal compiler: optimization level: 2, target machine: x86-64-v3
 C compiler: gcc (linux, x86_64, 11.4.0)
 Garbage collector: Serial GC (max heap size: 80% of RAM)
 4 user-specific feature(s)
 - com.oracle.svm.thirdparty.gson.GsonFeature
 - io.quarkus.hibernate.validator.runtime.DisableLoggingFeature: Disables INFO logging during the analysis phase for the [org.hibernate.validator.internal.util.Version] categories
 - io.quarkus.runner.Feature: Auto-generated class by Quarkus from the existing extensions
 - io.quarkus.runtime.graal.DisableLoggingFeature: Disables INFO logging during the analysis phase
15:12:45,471 WARN  [io.qua.config] Unrecognized configuration key "quarkus.kubernetes.route.expose" was provided; it will be ignored; verify that the dependency extension for this configuration is set or that you did not make a typo
15:12:45,487 WARN  [io.qua.config] Unrecognized configuration key "quarkus.kubernetes.base-jvm-image" was provided; it will be ignored; verify that the dependency extension for this configuration is set or that you did not make a typo
15:12:45,488 WARN  [io.qua.config] Unrecognized configuration key "quarkus.kubernetes.base-native-image" was provided; it will be ignored; verify that the dependency extension for this configuration is set or that you did not make a typo
15:13:49,819 INFO  [com.mic.sem.con.ai.ope.uti.SettingsMap] Did not find configuration file: /home/runner/.sk/conf.properties
15:13:49,821 INFO  [com.mic.sem.con.ai.ope.uti.SettingsMap] Did not find configuration file: conf.properties
15:14:02,852 INFO  [com.azu.cor.imp.jac.JacksonVersion] Package versions: jackson-core=2.15.2, jackson-databind=2.15.2, jackson-dataformat-xml=2.15.2, jackson-datatype-jsr310=2.15.2, azure-core=1.38.0, Troubleshooting version conflicts: https://aka.ms/azsdk/java/dependency/troubleshoot
[2/8] Performing analysis...  []                                                                       (132.4s @ 1.65GB)
  18,638 (89.36%) of 20,857 types reachable
  26,515 (60.07%) of 44,140 fields reachable
  89,535 (58.91%) of 151,981 methods reachable
   5,309 types,   155 fields, and 4,184 methods registered for reflection

Error: Classes that should be initialized at run time got initialized during image building:
 io.netty.channel.epoll.Native the class was requested to be initialized at run time (from 'META-INF/native-image/com.azure/azure-core-http-netty/native-image.properties' in 'file:///home/runner/work/quarkus-super-heroes/quarkus-super-heroes/rest-narration/target/rest-narration-1.0.0-SNAPSHOT-native-image-source-jar/lib/com.azure.azure-core-http-netty-1.13.2.jar' with 'io.netty.channel.epoll.Native' and from feature io.quarkus.runner.Feature.beforeAnalysis with 'Native.class'). To see why io.netty.channel.epoll.Native got initialized use --trace-class-initialization=io.netty.channel.epoll.Native
io.netty.internal.tcnative.CertificateVerifier the class was requested to be initialized at run time (from 'META-INF/native-image/com.azure/azure-core-http-netty/native-image.properties' in 'file:///home/runner/work/quarkus-super-heroes/quarkus-super-heroes/rest-narration/target/rest-narration-1.0.0-SNAPSHOT-native-image-source-jar/lib/com.azure.azure-core-http-netty-1.13.2.jar' with 'io.netty.internal.tcnative.CertificateVerifier'). To see why io.netty.internal.tcnative.CertificateVerifier got initialized use --trace-class-initialization=io.netty.internal.tcnative.CertificateVerifier
------------------------------------------------------------------------------------------------------------------------
io.netty.buffer.UnpooledHeapByteBuf the class was requested to be initialized at run time (subtype of io.netty.buffer.AbstractReferenceCountedByteBuf and from 'META-INF/native-image/com.azure/azure-core-http-netty/native-image.properties' in 'file:///home/runner/work/quarkus-super-heroes/quarkus-super-heroes/rest-narration/target/rest-narration-1.0.0-SNAPSHOT-native-image-source-jar/lib/com.azure.azure-core-http-netty-1.13.2.jar' with 'io.netty.buffer.UnpooledHeapByteBuf'). To see why io.netty.buffer.UnpooledHeapByteBuf got initialized use --trace-class-initialization=io.netty.buffer.UnpooledHeapByteBuf
io.netty.buffer.UnpooledUnsafeDirectByteBuf the class was requested to be initialized at run time (subtype of io.netty.buffer.AbstractReferenceCountedByteBuf and subtype of io.netty.buffer.UnpooledDirectByteBuf and from 'META-INF/native-image/com.azure/azure-core-http-netty/native-image.properties' in 'file:///home/runner/work/quarkus-super-heroes/quarkus-super-heroes/rest-narration/target/rest-narration-1.0.0-SNAPSHOT-native-image-source-jar/lib/com.azure.azure-core-http-netty-1.13.2.jar' with 'io.netty.buffer.UnpooledUnsafeDirectByteBuf'). To see why io.netty.buffer.UnpooledUnsafeDirectByteBuf got initialized use --trace-class-initialization=io.netty.buffer.UnpooledUnsafeDirectByteBuf
                       31.5s (21.3% of total time) in 110 GCs | Peak RSS: 2.99GB | CPU load: 1.95
------------------------------------------------------------------------------------------------------------------------
Produced artifacts:
 /home/runner/work/quarkus-super-heroes/quarkus-super-heroes/rest-narration/target/rest-narration-1.0.0-SNAPSHOT-native-image-source-jar/rest-narration-1.0.0-SNAPSHOT-runner-build-output-stats.json (build_info)
========================================================================================================================
Finished generating 'rest-narration-1.0.0-SNAPSHOT-runner' in 2m 26s.
io.netty.buffer.AbstractReferenceCountedByteBuf the class was requested to be initialized at run time (from 'META-INF/native-image/com.azure/azure-core-http-netty/native-image.properties' in 'file:///home/runner/work/quarkus-super-heroes/quarkus-super-heroes/rest-narration/target/rest-narration-1.0.0-SNAPSHOT-native-image-source-jar/lib/com.azure.azure-core-http-netty-1.13.2.jar' with 'io.netty.buffer.AbstractReferenceCountedByteBuf' and from 'META-INF/native-image/io.netty/netty-buffer/native-image.properties' in 'file:///home/runner/work/quarkus-super-heroes/quarkus-super-heroes/rest-narration/target/rest-narration-1.0.0-SNAPSHOT-native-image-source-jar/lib/io.netty.netty-buffer-4.1.94.Final.jar' with 'io.netty.buffer.AbstractReferenceCountedByteBuf'). To see why io.netty.buffer.AbstractReferenceCountedByteBuf got initialized use --trace-class-initialization=io.netty.buffer.AbstractReferenceCountedByteBuf
io.netty.buffer.ByteBufAllocator the class was requested to be initialized at run time (from 'META-INF/native-image/io.netty/netty-buffer/native-image.properties' in 'file:///home/runner/work/quarkus-super-heroes/quarkus-super-heroes/rest-narration/target/rest-narration-1.0.0-SNAPSHOT-native-image-source-jar/lib/io.netty.netty-buffer-4.1.94.Final.jar' with 'io.netty.buffer.ByteBufAllocator' and from feature io.quarkus.runner.Feature.beforeAnalysis with 'ByteBufAllocator.class'). To see why io.netty.buffer.ByteBufAllocator got initialized use --trace-class-initialization=io.netty.buffer.ByteBufAllocator
io.netty.handler.ssl.OpenSslClientContext the class was requested to be initialized at run time (subtype of io.netty.handler.ssl.ReferenceCountedOpenSslContext). To see why io.netty.handler.ssl.OpenSslClientContext got initialized use --trace-class-initialization=io.netty.handler.ssl.OpenSslClientContext
io.netty.channel.DefaultFileRegion the class was requested to be initialized at run time (subtype of io.netty.util.AbstractReferenceCounted). To see why io.netty.channel.DefaultFileRegion got initialized use --trace-class-initialization=io.netty.channel.DefaultFileRegion
io.netty.channel.unix.FileDescriptor the class was requested to be initialized at run time (from feature io.quarkus.runner.Feature.beforeAnalysis with 'FileDescriptor.class'). To see why io.netty.channel.unix.FileDescriptor got initialized use --trace-class-initialization=io.netty.channel.unix.FileDescriptor
io.netty.handler.ssl.ReferenceCountedOpenSslClientContext the class was requested to be initialized at run time (from 'META-INF/native-image/com.azure/azure-core-http-netty/native-image.properties' in 'file:///home/runner/work/quarkus-super-heroes/quarkus-super-heroes/rest-narration/target/rest-narration-1.0.0-SNAPSHOT-native-image-source-jar/lib/com.azure.azure-core-http-netty-1.13.2.jar' with 'io.netty.handler.ssl.ReferenceCountedOpenSslClientContext' and from feature io.quarkus.runner.Feature.beforeAnalysis with 'ReferenceCountedOpenSslClientContext.class' and subtype of io.netty.handler.ssl.ReferenceCountedOpenSslContext). To see why io.netty.handler.ssl.ReferenceCountedOpenSslClientContext got initialized use --trace-class-initialization=io.netty.handler.ssl.ReferenceCountedOpenSslClientContext
io.netty.handler.ssl.ReferenceCountedOpenSslContext the class was requested to be initialized at run time (from feature io.quarkus.runner.Feature.beforeAnalysis with 'ReferenceCountedOpenSslContext.class'). To see why io.netty.handler.ssl.ReferenceCountedOpenSslContext got initialized use --trace-class-initialization=io.netty.handler.ssl.ReferenceCountedOpenSslContext
io.netty.buffer.ByteBufUtil the class was requested to be initialized at run time (from 'META-INF/native-image/io.netty/netty-buffer/native-image.properties' in 'file:///home/runner/work/quarkus-super-heroes/quarkus-super-heroes/rest-narration/target/rest-narration-1.0.0-SNAPSHOT-native-image-source-jar/lib/io.netty.netty-buffer-4.1.94.Final.jar' with 'io.netty.buffer.ByteBufUtil' and from feature io.quarkus.runner.Feature.beforeAnalysis with 'ByteBufUtil.class'). To see why io.netty.buffer.ByteBufUtil got initialized use --trace-class-initialization=io.netty.buffer.ByteBufUtil
io.netty.util.AbstractReferenceCounted the class was requested to be initialized at run time (from 'META-INF/native-image/com.azure/azure-core-http-netty/native-image.properties' in 'file:///home/runner/work/quarkus-super-heroes/quarkus-super-heroes/rest-narration/target/rest-narration-1.0.0-SNAPSHOT-native-image-source-jar/lib/com.azure.azure-core-http-netty-1.13.2.jar' with 'io.netty.util.AbstractReferenceCounted' and from 'META-INF/native-image/io.netty/netty-common/native-image.properties' in 'file:///home/runner/work/quarkus-super-heroes/quarkus-super-heroes/rest-narration/target/rest-narration-1.0.0-SNAPSHOT-native-image-source-jar/lib/io.netty.netty-common-4.1.94.Final.jar' with 'io.netty.util.AbstractReferenceCounted'). To see why io.netty.util.AbstractReferenceCounted got initialized use --trace-class-initialization=io.netty.util.AbstractReferenceCounted
io.netty.buffer.PooledByteBufAllocator the class was requested to be initialized at run time (from 'META-INF/native-image/com.azure/azure-core-http-netty/native-image.properties' in 'file:///home/runner/work/quarkus-super-heroes/quarkus-super-heroes/rest-narration/target/rest-narration-1.0.0-SNAPSHOT-native-image-source-jar/lib/com.azure.azure-core-http-netty-1.13.2.jar' with 'io.netty.buffer.PooledByteBufAllocator' and from 'META-INF/native-image/io.netty/netty-buffer/native-image.properties' in 'file:///home/runner/work/quarkus-super-heroes/quarkus-super-heroes/rest-narration/target/rest-narration-1.0.0-SNAPSHOT-native-image-source-jar/lib/io.netty.netty-buffer-4.1.94.Final.jar' with 'io.netty.buffer.PooledByteBufAllocator' and from feature io.quarkus.runner.Feature.beforeAnalysis with 'PooledByteBufAllocator.class'). To see why io.netty.buffer.PooledByteBufAllocator got initialized use --trace-class-initialization=io.netty.buffer.PooledByteBufAllocator
io.netty.channel.unix.Socket the class was requested to be initialized at run time (from 'META-INF/native-image/com.azure/azure-core-http-netty/native-image.properties' in 'file:///home/runner/work/quarkus-super-heroes/quarkus-super-heroes/rest-narration/target/rest-narration-1.0.0-SNAPSHOT-native-image-source-jar/lib/com.azure.azure-core-http-netty-1.13.2.jar' with 'io.netty.channel.unix.Socket' and subtype of io.netty.channel.unix.FileDescriptor). To see why io.netty.channel.unix.Socket got initialized use --trace-class-initialization=io.netty.channel.unix.Socket
io.netty.buffer.UnpooledByteBufAllocator$InstrumentedUnpooledUnsafeDirectByteBuf the class was requested to be initialized at run time (subtype of io.netty.buffer.AbstractReferenceCountedByteBuf and subtype of io.netty.buffer.UnpooledDirectByteBuf and subtype of io.netty.buffer.UnpooledUnsafeDirectByteBuf). To see why io.netty.buffer.UnpooledByteBufAllocator$InstrumentedUnpooledUnsafeDirectByteBuf got initialized use --trace-class-initialization=io.netty.buffer.UnpooledByteBufAllocator$InstrumentedUnpooledUnsafeDirectByteBuf
io.netty.channel.epoll.LinuxSocket the class was requested to be initialized at run time (from 'META-INF/native-image/com.azure/azure-core-http-netty/native-image.properties' in 'file:///home/runner/work/quarkus-super-heroes/quarkus-super-heroes/rest-narration/target/rest-narration-1.0.0-SNAPSHOT-native-image-source-jar/lib/com.azure.azure-core-http-netty-1.13.2.jar' with 'io.netty.channel.epoll.LinuxSocket' and subtype of io.netty.channel.unix.Socket and subtype of io.netty.channel.unix.FileDescriptor). To see why io.netty.channel.epoll.LinuxSocket got initialized use --trace-class-initialization=io.netty.channel.epoll.LinuxSocket
io.netty.channel.epoll.Epoll the class was requested to be initialized at run time (from 'META-INF/native-image/com.azure/azure-core-http-netty/native-image.properties' in 'file:///home/runner/work/quarkus-super-heroes/quarkus-super-heroes/rest-narration/target/rest-narration-1.0.0-SNAPSHOT-native-image-source-jar/lib/com.azure.azure-core-http-netty-1.13.2.jar' with 'io.netty.channel.epoll.Epoll' and from feature io.quarkus.runner.Feature.beforeAnalysis with 'Epoll.class'). To see why io.netty.channel.epoll.Epoll got initialized use --trace-class-initialization=io.netty.channel.epoll.Epoll
io.netty.handler.ssl.PemPrivateKey the class was requested to be initialized at run time (subtype of io.netty.util.AbstractReferenceCounted). To see why io.netty.handler.ssl.PemPrivateKey got initialized use --trace-class-initialization=io.netty.handler.ssl.PemPrivateKey
io.netty.handler.ssl.PemValue the class was requested to be initialized at run time (subtype of io.netty.util.AbstractReferenceCounted). To see why io.netty.handler.ssl.PemValue got initialized use --trace-class-initialization=io.netty.handler.ssl.PemValue
io.netty.handler.ssl.OpenSslContext the class was requested to be initialized at run time (subtype of io.netty.handler.ssl.ReferenceCountedOpenSslContext). To see why io.netty.handler.ssl.OpenSslContext got initialized use --trace-class-initialization=io.netty.handler.ssl.OpenSslContext
io.netty.internal.tcnative.SSL the class was requested to be initialized at run time (from 'META-INF/native-image/com.azure/azure-core-http-netty/native-image.properties' in 'file:///home/runner/work/quarkus-super-heroes/quarkus-super-heroes/rest-narration/target/rest-narration-1.0.0-SNAPSHOT-native-image-source-jar/lib/com.azure.azure-core-http-netty-1.13.2.jar' with 'io.netty.internal.tcnative.SSL'). To see why io.netty.internal.tcnative.SSL got initialized use --trace-class-initialization=io.netty.internal.tcnative.SSL
io.netty.buffer.PooledSlicedByteBuf the class was requested to be initialized at run time (subtype of io.netty.buffer.AbstractReferenceCountedByteBuf). To see why io.netty.buffer.PooledSlicedByteBuf got initialized use --trace-class-initialization=io.netty.buffer.PooledSlicedByteBuf
io.netty.buffer.PooledUnsafeDirectByteBuf the class was requested to be initialized at run time (subtype of io.netty.buffer.AbstractReferenceCountedByteBuf). To see why io.netty.buffer.PooledUnsafeDirectByteBuf got initialized use --trace-class-initialization=io.netty.buffer.PooledUnsafeDirectByteBuf
io.netty.buffer.PooledByteBuf the class was requested to be initialized at run time (subtype of io.netty.buffer.AbstractReferenceCountedByteBuf). To see why io.netty.buffer.PooledByteBuf got initialized use --trace-class-initialization=io.netty.buffer.PooledByteBuf
io.netty.buffer.AbstractPooledDerivedByteBuf the class was requested to be initialized at run time (subtype of io.netty.buffer.AbstractReferenceCountedByteBuf). To see why io.netty.buffer.AbstractPooledDerivedByteBuf got initialized use --trace-class-initialization=io.netty.buffer.AbstractPooledDerivedByteBuf
io.netty.buffer.UnpooledDirectByteBuf the class was requested to be initialized at run time (subtype of io.netty.buffer.AbstractReferenceCountedByteBuf and from 'META-INF/native-image/com.azure/azure-core-http-netty/native-image.properties' in 'file:///home/runner/work/quarkus-super-heroes/quarkus-super-heroes/rest-narration/target/rest-narration-1.0.0-SNAPSHOT-native-image-source-jar/lib/com.azure.azure-core-http-netty-1.13.2.jar' with 'io.netty.buffer.UnpooledDirectByteBuf'). To see why io.netty.buffer.UnpooledDirectByteBuf got initialized use --trace-class-initialization=io.netty.buffer.UnpooledDirectByteBuf
io.netty.handler.ssl.OpenSsl the class was requested to be initialized at run time (from 'META-INF/native-image/com.azure/azure-core-http-netty/native-image.properties' in 'file:///home/runner/work/quarkus-super-heroes/quarkus-super-heroes/rest-narration/target/rest-narration-1.0.0-SNAPSHOT-native-image-source-jar/lib/com.azure.azure-core-http-netty-1.13.2.jar' with 'io.netty.handler.ssl.OpenSsl'). To see why io.netty.handler.ssl.OpenSsl got initialized use --trace-class-initialization=io.netty.handler.ssl.OpenSsl
To see how the classes got initialized, use --trace-class-initialization=io.netty.channel.epoll.Native,io.netty.internal.tcnative.CertificateVerifier,io.netty.buffer.UnpooledHeapByteBuf,io.netty.buffer.UnpooledUnsafeDirectByteBuf,io.netty.buffer.AbstractReferenceCountedByteBuf,io.netty.buffer.ByteBufAllocator,io.netty.handler.ssl.OpenSslClientContext,io.netty.channel.DefaultFileRegion,io.netty.channel.unix.FileDescriptor,io.netty.handler.ssl.ReferenceCountedOpenSslClientContext,io.netty.handler.ssl.ReferenceCountedOpenSslContext,io.netty.buffer.ByteBufUtil,io.netty.util.AbstractReferenceCounted,io.netty.buffer.PooledByteBufAllocator,io.netty.channel.unix.Socket,io.netty.buffer.UnpooledByteBufAllocator$InstrumentedUnpooledUnsafeDirectByteBuf,io.netty.channel.epoll.LinuxSocket,io.netty.channel.epoll.Epoll,io.netty.handler.ssl.PemPrivateKey,io.netty.handler.ssl.PemValue,io.netty.handler.ssl.OpenSslContext,io.netty.internal.tcnative.SSL,io.netty.buffer.PooledSlicedByteBuf,io.netty.buffer.PooledUnsafeDirectByteBuf,io.netty.buffer.PooledByteBuf,io.netty.buffer.AbstractPooledDerivedByteBuf,io.netty.buffer.UnpooledDirectByteBuf,io.netty.handler.ssl.OpenSsl
com.oracle.svm.core.util.UserError$UserException: Classes that should be initialized at run time got initialized during image building:
 io.netty.channel.epoll.Native the class was requested to be initialized at run time (from 'META-INF/native-image/com.azure/azure-core-http-netty/native-image.properties' in 'file:///home/runner/work/quarkus-super-heroes/quarkus-super-heroes/rest-narration/target/rest-narration-1.0.0-SNAPSHOT-native-image-source-jar/lib/com.azure.azure-core-http-netty-1.13.2.jar' with 'io.netty.channel.epoll.Native' and from feature io.quarkus.runner.Feature.beforeAnalysis with 'Native.class'). To see why io.netty.channel.epoll.Native got initialized use --trace-class-initialization=io.netty.channel.epoll.Native
io.netty.internal.tcnative.CertificateVerifier the class was requested to be initialized at run time (from 'META-INF/native-image/com.azure/azure-core-http-netty/native-image.properties' in 'file:///home/runner/work/quarkus-super-heroes/quarkus-super-heroes/rest-narration/target/rest-narration-1.0.0-SNAPSHOT-native-image-source-jar/lib/com.azure.azure-core-http-netty-1.13.2.jar' with 'io.netty.internal.tcnative.CertificateVerifier'). To see why io.netty.internal.tcnative.CertificateVerifier got initialized use --trace-class-initialization=io.netty.internal.tcnative.CertificateVerifier
io.netty.buffer.UnpooledHeapByteBuf the class was requested to be initialized at run time (subtype of io.netty.buffer.AbstractReferenceCountedByteBuf and from 'META-INF/native-image/com.azure/azure-core-http-netty/native-image.properties' in 'file:///home/runner/work/quarkus-super-heroes/quarkus-super-heroes/rest-narration/target/rest-narration-1.0.0-SNAPSHOT-native-image-source-jar/lib/com.azure.azure-core-http-netty-1.13.2.jar' with 'io.netty.buffer.UnpooledHeapByteBuf'). To see why io.netty.buffer.UnpooledHeapByteBuf got initialized use --trace-class-initialization=io.netty.buffer.UnpooledHeapByteBuf
io.netty.buffer.UnpooledUnsafeDirectByteBuf the class was requested to be initialized at run time (subtype of io.netty.buffer.AbstractReferenceCountedByteBuf and subtype of io.netty.buffer.UnpooledDirectByteBuf and from 'META-INF/native-image/com.azure/azure-core-http-netty/native-image.properties' in 'file:///home/runner/work/quarkus-super-heroes/quarkus-super-heroes/rest-narration/target/rest-narration-1.0.0-SNAPSHOT-native-image-source-jar/lib/com.azure.azure-core-http-netty-1.13.2.jar' with 'io.netty.buffer.UnpooledUnsafeDirectByteBuf'). To see why io.netty.buffer.UnpooledUnsafeDirectByteBuf got initialized use --trace-class-initialization=io.netty.buffer.UnpooledUnsafeDirectByteBuf
io.netty.buffer.AbstractReferenceCountedByteBuf the class was requested to be initialized at run time (from 'META-INF/native-image/com.azure/azure-core-http-netty/native-image.properties' in 'file:///home/runner/work/quarkus-super-heroes/quarkus-super-heroes/rest-narration/target/rest-narration-1.0.0-SNAPSHOT-native-image-source-jar/lib/com.azure.azure-core-http-netty-1.13.2.jar' with 'io.netty.buffer.AbstractReferenceCountedByteBuf' and from 'META-INF/native-image/io.netty/netty-buffer/native-image.properties' in 'file:///home/runner/work/quarkus-super-heroes/quarkus-super-heroes/rest-narration/target/rest-narration-1.0.0-SNAPSHOT-native-image-source-jar/lib/io.netty.netty-buffer-4.1.94.Final.jar' with 'io.netty.buffer.AbstractReferenceCountedByteBuf'). To see why io.netty.buffer.AbstractReferenceCountedByteBuf got initialized use --trace-class-initialization=io.netty.buffer.AbstractReferenceCountedByteBuf
io.netty.buffer.ByteBufAllocator the class was requested to be initialized at run time (from 'META-INF/native-image/io.netty/netty-buffer/native-image.properties' in 'file:///home/runner/work/quarkus-super-heroes/quarkus-super-heroes/rest-narration/target/rest-narration-1.0.0-SNAPSHOT-native-image-source-jar/lib/io.netty.netty-buffer-4.1.94.Final.jar' with 'io.netty.buffer.ByteBufAllocator' and from feature io.quarkus.runner.Feature.beforeAnalysis with 'ByteBufAllocator.class'). To see why io.netty.buffer.ByteBufAllocator got initialized use --trace-class-initialization=io.netty.buffer.ByteBufAllocator
io.netty.handler.ssl.OpenSslClientContext the class was requested to be initialized at run time (subtype of io.netty.handler.ssl.ReferenceCountedOpenSslContext). To see why io.netty.handler.ssl.OpenSslClientContext got initialized use --trace-class-initialization=io.netty.handler.ssl.OpenSslClientContext
io.netty.channel.DefaultFileRegion the class was requested to be initialized at run time (subtype of io.netty.util.AbstractReferenceCounted). To see why io.netty.channel.DefaultFileRegion got initialized use --trace-class-initialization=io.netty.channel.DefaultFileRegion
io.netty.channel.unix.FileDescriptor the class was requested to be initialized at run time (from feature io.quarkus.runner.Feature.beforeAnalysis with 'FileDescriptor.class'). To see why io.netty.channel.unix.FileDescriptor got initialized use --trace-class-initialization=io.netty.channel.unix.FileDescriptor
io.netty.handler.ssl.ReferenceCountedOpenSslClientContext the class was requested to be initialized at run time (from 'META-INF/native-image/com.azure/azure-core-http-netty/native-image.properties' in 'file:///home/runner/work/quarkus-super-heroes/quarkus-super-heroes/rest-narration/target/rest-narration-1.0.0-SNAPSHOT-native-image-source-jar/lib/com.azure.azure-core-http-netty-1.13.2.jar' with 'io.netty.handler.ssl.ReferenceCountedOpenSslClientContext' and from feature io.quarkus.runner.Feature.beforeAnalysis with 'ReferenceCountedOpenSslClientContext.class' and subtype of io.netty.handler.ssl.ReferenceCountedOpenSslContext). To see why io.netty.handler.ssl.ReferenceCountedOpenSslClientContext got initialized use --trace-class-initialization=io.netty.handler.ssl.ReferenceCountedOpenSslClientContext
io.netty.handler.ssl.ReferenceCountedOpenSslContext the class was requested to be initialized at run time (from feature io.quarkus.runner.Feature.beforeAnalysis with 'ReferenceCountedOpenSslContext.class'). To see why io.netty.handler.ssl.ReferenceCountedOpenSslContext got initialized use --trace-class-initialization=io.netty.handler.ssl.ReferenceCountedOpenSslContext
io.netty.buffer.ByteBufUtil the class was requested to be initialized at run time (from 'META-INF/native-image/io.netty/netty-buffer/native-image.properties' in 'file:///home/runner/work/quarkus-super-heroes/quarkus-super-heroes/rest-narration/target/rest-narration-1.0.0-SNAPSHOT-native-image-source-jar/lib/io.netty.netty-buffer-4.1.94.Final.jar' with 'io.netty.buffer.ByteBufUtil' and from feature io.quarkus.runner.Feature.beforeAnalysis with 'ByteBufUtil.class'). To see why io.netty.buffer.ByteBufUtil got initialized use --trace-class-initialization=io.netty.buffer.ByteBufUtil
io.netty.util.AbstractReferenceCounted the class was requested to be initialized at run time (from 'META-INF/native-image/com.azure/azure-core-http-netty/native-image.properties' in 'file:///home/runner/work/quarkus-super-heroes/quarkus-super-heroes/rest-narration/target/rest-narration-1.0.0-SNAPSHOT-native-image-source-jar/lib/com.azure.azure-core-http-netty-1.13.2.jar' with 'io.netty.util.AbstractReferenceCounted' and from 'META-INF/native-image/io.netty/netty-common/native-image.properties' in 'file:///home/runner/work/quarkus-super-heroes/quarkus-super-heroes/rest-narration/target/rest-narration-1.0.0-SNAPSHOT-native-image-source-jar/lib/io.netty.netty-common-4.1.94.Final.jar' with 'io.netty.util.AbstractReferenceCounted'). To see why io.netty.util.AbstractReferenceCounted got initialized use --trace-class-initialization=io.netty.util.AbstractReferenceCounted
io.netty.buffer.PooledByteBufAllocator the class was requested to be initialized at run time (from 'META-INF/native-image/com.azure/azure-core-http-netty/native-image.properties' in 'file:///home/runner/work/quarkus-super-heroes/quarkus-super-heroes/rest-narration/target/rest-narration-1.0.0-SNAPSHOT-native-image-source-jar/lib/com.azure.azure-core-http-netty-1.13.2.jar' with 'io.netty.buffer.PooledByteBufAllocator' and from 'META-INF/native-image/io.netty/netty-buffer/native-image.properties' in 'file:///home/runner/work/quarkus-super-heroes/quarkus-super-heroes/rest-narration/target/rest-narration-1.0.0-SNAPSHOT-native-image-source-jar/lib/io.netty.netty-buffer-4.1.94.Final.jar' with 'io.netty.buffer.PooledByteBufAllocator' and from feature io.quarkus.runner.Feature.beforeAnalysis with 'PooledByteBufAllocator.class'). To see why io.netty.buffer.PooledByteBufAllocator got initialized use --trace-class-initialization=io.netty.buffer.PooledByteBufAllocator
io.netty.channel.unix.Socket the class was requested to be initialized at run time (from 'META-INF/native-image/com.azure/azure-core-http-netty/native-image.properties' in 'file:///home/runner/work/quarkus-super-heroes/quarkus-super-heroes/rest-narration/target/rest-narration-1.0.0-SNAPSHOT-native-image-source-jar/lib/com.azure.azure-core-http-netty-1.13.2.jar' with 'io.netty.channel.unix.Socket' and subtype of io.netty.channel.unix.FileDescriptor). To see why io.netty.channel.unix.Socket got initialized use --trace-class-initialization=io.netty.channel.unix.Socket
io.netty.buffer.UnpooledByteBufAllocator$InstrumentedUnpooledUnsafeDirectByteBuf the class was requested to be initialized at run time (subtype of io.netty.buffer.AbstractReferenceCountedByteBuf and subtype of io.netty.buffer.UnpooledDirectByteBuf and subtype of io.netty.buffer.UnpooledUnsafeDirectByteBuf). To see why io.netty.buffer.UnpooledByteBufAllocator$InstrumentedUnpooledUnsafeDirectByteBuf got initialized use --trace-class-initialization=io.netty.buffer.UnpooledByteBufAllocator$InstrumentedUnpooledUnsafeDirectByteBuf
io.netty.channel.epoll.LinuxSocket the class was requested to be initialized at run time (from 'META-INF/native-image/com.azure/azure-core-http-netty/native-image.properties' in 'file:///home/runner/work/quarkus-super-heroes/quarkus-super-heroes/rest-narration/target/rest-narration-1.0.0-SNAPSHOT-native-image-source-jar/lib/com.azure.azure-core-http-netty-1.13.2.jar' with 'io.netty.channel.epoll.LinuxSocket' and subtype of io.netty.channel.unix.Socket and subtype of io.netty.channel.unix.FileDescriptor). To see why io.netty.channel.epoll.LinuxSocket got initialized use --trace-class-initialization=io.netty.channel.epoll.LinuxSocket
io.netty.channel.epoll.Epoll the class was requested to be initialized at run time (from 'META-INF/native-image/com.azure/azure-core-http-netty/native-image.properties' in 'file:///home/runner/work/quarkus-super-heroes/quarkus-super-heroes/rest-narration/target/rest-narration-1.0.0-SNAPSHOT-native-image-source-jar/lib/com.azure.azure-core-http-netty-1.13.2.jar' with 'io.netty.channel.epoll.Epoll' and from feature io.quarkus.runner.Feature.beforeAnalysis with 'Epoll.class'). To see why io.netty.channel.epoll.Epoll got initialized use --trace-class-initialization=io.netty.channel.epoll.Epoll
io.netty.handler.ssl.PemPrivateKey the class was requested to be initialized at run time (subtype of io.netty.util.AbstractReferenceCounted). To see why io.netty.handler.ssl.PemPrivateKey got initialized use --trace-class-initialization=io.netty.handler.ssl.PemPrivateKey
io.netty.handler.ssl.PemValue the class was requested to be initialized at run time (subtype of io.netty.util.AbstractReferenceCounted). To see why io.netty.handler.ssl.PemValue got initialized use --trace-class-initialization=io.netty.handler.ssl.PemValue
io.netty.handler.ssl.OpenSslContext the class was requested to be initialized at run time (subtype of io.netty.handler.ssl.ReferenceCountedOpenSslContext). To see why io.netty.handler.ssl.OpenSslContext got initialized use --trace-class-initialization=io.netty.handler.ssl.OpenSslContext
io.netty.internal.tcnative.SSL the class was requested to be initialized at run time (from 'META-INF/native-image/com.azure/azure-core-http-netty/native-image.properties' in 'file:///home/runner/work/quarkus-super-heroes/quarkus-super-heroes/rest-narration/target/rest-narration-1.0.0-SNAPSHOT-native-image-source-jar/lib/com.azure.azure-core-http-netty-1.13.2.jar' with 'io.netty.internal.tcnative.SSL'). To see why io.netty.internal.tcnative.SSL got initialized use --trace-class-initialization=io.netty.internal.tcnative.SSL
io.netty.buffer.PooledSlicedByteBuf the class was requested to be initialized at run time (subtype of io.netty.buffer.AbstractReferenceCountedByteBuf). To see why io.netty.buffer.PooledSlicedByteBuf got initialized use --trace-class-initialization=io.netty.buffer.PooledSlicedByteBuf
io.netty.buffer.PooledUnsafeDirectByteBuf the class was requested to be initialized at run time (subtype of io.netty.buffer.AbstractReferenceCountedByteBuf). To see why io.netty.buffer.PooledUnsafeDirectByteBuf got initialized use --trace-class-initialization=io.netty.buffer.PooledUnsafeDirectByteBuf
io.netty.buffer.PooledByteBuf the class was requested to be initialized at run time (subtype of io.netty.buffer.AbstractReferenceCountedByteBuf). To see why io.netty.buffer.PooledByteBuf got initialized use --trace-class-initialization=io.netty.buffer.PooledByteBuf
io.netty.buffer.AbstractPooledDerivedByteBuf the class was requested to be initialized at run time (subtype of io.netty.buffer.AbstractReferenceCountedByteBuf). To see why io.netty.buffer.AbstractPooledDerivedByteBuf got initialized use --trace-class-initialization=io.netty.buffer.AbstractPooledDerivedByteBuf
io.netty.buffer.UnpooledDirectByteBuf the class was requested to be initialized at run time (subtype of io.netty.buffer.AbstractReferenceCountedByteBuf and from 'META-INF/native-image/com.azure/azure-core-http-netty/native-image.properties' in 'file:///home/runner/work/quarkus-super-heroes/quarkus-super-heroes/rest-narration/target/rest-narration-1.0.0-SNAPSHOT-native-image-source-jar/lib/com.azure.azure-core-http-netty-1.13.2.jar' with 'io.netty.buffer.UnpooledDirectByteBuf'). To see why io.netty.buffer.UnpooledDirectByteBuf got initialized use --trace-class-initialization=io.netty.buffer.UnpooledDirectByteBuf
io.netty.handler.ssl.OpenSsl the class was requested to be initialized at run time (from 'META-INF/native-image/com.azure/azure-core-http-netty/native-image.properties' in 'file:///home/runner/work/quarkus-super-heroes/quarkus-super-heroes/rest-narration/target/rest-narration-1.0.0-SNAPSHOT-native-image-source-jar/lib/com.azure.azure-core-http-netty-1.13.2.jar' with 'io.netty.handler.ssl.OpenSsl'). To see why io.netty.handler.ssl.OpenSsl got initialized use --trace-class-initialization=io.netty.handler.ssl.OpenSsl
To see how the classes got initialized, use --trace-class-initialization=io.netty.channel.epoll.Native,io.netty.internal.tcnative.CertificateVerifier,io.netty.buffer.UnpooledHeapByteBuf,io.netty.buffer.UnpooledUnsafeDirectByteBuf,io.netty.buffer.AbstractReferenceCountedByteBuf,io.netty.buffer.ByteBufAllocator,io.netty.handler.ssl.OpenSslClientContext,io.netty.channel.DefaultFileRegion,io.netty.channel.unix.FileDescriptor,io.netty.handler.ssl.ReferenceCountedOpenSslClientContext,io.netty.handler.ssl.ReferenceCountedOpenSslContext,io.netty.buffer.ByteBufUtil,io.netty.util.AbstractReferenceCounted,io.netty.buffer.PooledByteBufAllocator,io.netty.channel.unix.Socket,io.netty.buffer.UnpooledByteBufAllocator$InstrumentedUnpooledUnsafeDirectByteBuf,io.netty.channel.epoll.LinuxSocket,io.netty.channel.epoll.Epoll,io.netty.handler.ssl.PemPrivateKey,io.netty.handler.ssl.PemValue,io.netty.handler.ssl.OpenSslContext,io.netty.internal.tcnative.SSL,io.netty.buffer.PooledSlicedByteBuf,io.netty.buffer.PooledUnsafeDirectByteBuf,io.netty.buffer.PooledByteBuf,io.netty.buffer.AbstractPooledDerivedByteBuf,io.netty.buffer.UnpooledDirectByteBuf,io.netty.handler.ssl.OpenSsl
    at org.graalvm.nativeimage.builder/com.oracle.svm.core.util.UserError.abort(UserError.java:73)
    at org.graalvm.nativeimage.builder/com.oracle.svm.hosted.classinitialization.ProvenSafeClassInitializationSupport.checkDelayedInitialization(ProvenSafeClassInitializationSupport.java:277)
    at org.graalvm.nativeimage.builder/com.oracle.svm.hosted.classinitialization.ClassInitializationFeature.duringAnalysis(ClassInitializationFeature.java:164)
    at org.graalvm.nativeimage.builder/com.oracle.svm.hosted.NativeImageGenerator.lambda$runPointsToAnalysis$10(NativeImageGenerator.java:770)
    at org.graalvm.nativeimage.builder/com.oracle.svm.hosted.FeatureHandler.forEachFeature(FeatureHandler.java:86)
    at org.graalvm.nativeimage.builder/com.oracle.svm.hosted.NativeImageGenerator.lambda$runPointsToAnalysis$11(NativeImageGenerator.java:770)
    at org.graalvm.nativeimage.pointsto/com.oracle.graal.pointsto.AbstractAnalysisEngine.runAnalysis(AbstractAnalysisEngine.java:179)
    at org.graalvm.nativeimage.builder/com.oracle.svm.hosted.NativeImageGenerator.runPointsToAnalysis(NativeImageGenerator.java:767)
    at org.graalvm.nativeimage.builder/com.oracle.svm.hosted.NativeImageGenerator.doRun(NativeImageGenerator.java:582)
    at org.graalvm.nativeimage.builder/com.oracle.svm.hosted.NativeImageGenerator.run(NativeImageGenerator.java:539)
    at org.graalvm.nativeimage.builder/com.oracle.svm.hosted.NativeImageGeneratorRunner.buildImage(NativeImageGeneratorRunner.java:408)
    at org.graalvm.nativeimage.builder/com.oracle.svm.hosted.NativeImageGeneratorRunner.build(NativeImageGeneratorRunner.java:612)
    at org.graalvm.nativeimage.builder/com.oracle.svm.hosted.NativeImageGeneratorRunner.start(NativeImageGeneratorRunner.java:134)
    at org.graalvm.nativeimage.builder/com.oracle.svm.hosted.NativeImageGeneratorRunner.main(NativeImageGeneratorRunner.java:94)
evchaki commented 12 months ago

@edeandrea - thanks for finding this. @johnoliver can you take a look?

edeandrea commented 12 months ago

You're welcome. I have a complete application you can use as a test bed if you'd like.

https://github.com/quarkusio/quarkus-super-heroes/tree/main/rest-narration

If you install GraalVM and run ./mvnw clean package -Pnative -DskipTests you will see the error.