oracle / graal

GraalVM compiles Java applications into native executables that start instantly, scale fast, and use fewer compute resources 🚀
https://www.graalvm.org
Other
20.34k stars 1.63k forks source link

Fatal error: com.oracle.svm.core.util.VMError$HostedError: should not reach here #4466

Closed insinfo closed 2 years ago

insinfo commented 2 years ago

I'm getting this error when trying to compile a simple project

package demo;

import java.io.File;
import java.io.IOException;

import org.apache.pdfbox.pdmodel.PDDocument;
import org.apache.pdfbox.text.PDFTextStripper;
import org.apache.pdfbox.text.PDFTextStripperByArea;

public class Example {

    public static void main(String[] args) {
        try {
            var document = PDDocument.load(new File("1417.pdf"));
            PDFTextStripperByArea stripper = new PDFTextStripperByArea();
            stripper.setSortByPosition(true);
            PDFTextStripper tStripper = new PDFTextStripper();
            tStripper.setStartPage(1);
            tStripper.setEndPage(1);
            String pdfFileInText = tStripper.getText(document);
            //String reversed = Utils.reverseString(str);
            System.out.println("Saida: " + pdfFileInText);

        } catch (Exception e) {
            System.out.println("Error: " + e);
        }
    }
}

simple project: https://github.com/insinfo/java_native

Describe GraalVM and your environment:

More details

C:\MyJavaProjects\java_native>.\gradlew -Pagent nativeBuild

> Task :app:nativeBuild
[native-image-plugin] Args are: [-cp, C:\MyJavaProjects\java_native\app\build\libs\nativebuild-classpath.jar, --no-fallback, --verbose, -H:Path=C:\MyJavaProjects\java_native\app\build\native\nativeBuild, -H:Name=Example, -H:ConfigurationFileDirectories=C:\MyJavaProjects\java_native\app\build\native\generated\generateResourcesConfigFile, --allow-incomplete-classpath, -H:Class=demo.Example, --native-image-info, --verbose]
Executing [
'C:\src\graalvm-ce-java17-22.0.0.2\bin\java.exe' \
-XX:+UseParallelGC \
-XX:+UnlockExperimentalVMOptions \
-XX:+EnableJVMCI \
-Dtruffle.TrustAllTruffleRuntimeProviders=true \
-Dtruffle.TruffleRuntime=com.oracle.truffle.api.impl.DefaultTruffleRuntime \
-Dgraalvm.ForcePolyglotInvalid=true \
-Dgraalvm.locatorDisabled=true \
-Dsubstratevm.IgnoreGraalVersionCheck=true \
--add-exports=java.base/com.sun.crypto.provider=ALL-UNNAMED \
--add-exports=java.base/jdk.internal.access.foreign=ALL-UNNAMED \
--add-exports=java.base/jdk.internal.event=ALL-UNNAMED \
--add-exports=java.base/jdk.internal.loader=ALL-UNNAMED \
--add-exports=java.base/jdk.internal.logger=ALL-UNNAMED \
--add-exports=java.base/jdk.internal.misc=ALL-UNNAMED \
--add-exports=java.base/jdk.internal.module=ALL-UNNAMED \
--add-exports=java.base/jdk.internal.org.objectweb.asm=ALL-UNNAMED \
--add-exports=java.base/jdk.internal.org.xml.sax.helpers=ALL-UNNAMED \
--add-exports=java.base/jdk.internal.perf=ALL-UNNAMED \
--add-exports=java.base/jdk.internal.platform=ALL-UNNAMED \
--add-exports=java.base/jdk.internal.ref=ALL-UNNAMED \
--add-exports=java.base/jdk.internal.reflect=ALL-UNNAMED \
--add-exports=java.base/jdk.internal.util.xml.impl=ALL-UNNAMED \
--add-exports=java.base/jdk.internal.util.xml=ALL-UNNAMED \
--add-exports=java.base/sun.invoke.util=ALL-UNNAMED \
--add-exports=java.base/sun.net=ALL-UNNAMED \
--add-exports=java.base/sun.nio.ch=ALL-UNNAMED \
--add-exports=java.base/sun.reflect.annotation=ALL-UNNAMED \
--add-exports=java.base/sun.reflect.generics.reflectiveObjects=ALL-UNNAMED \
--add-exports=java.base/sun.reflect.generics.repository=ALL-UNNAMED \
--add-exports=java.base/sun.reflect.generics.tree=ALL-UNNAMED \
--add-exports=java.base/sun.security.jca=ALL-UNNAMED \
--add-exports=java.base/sun.security.provider=ALL-UNNAMED \
--add-exports=java.base/sun.security.ssl=ALL-UNNAMED \
--add-exports=java.base/sun.security.util=ALL-UNNAMED \
--add-exports=java.base/sun.text.spi=ALL-UNNAMED \
--add-exports=java.base/sun.util.calendar=ALL-UNNAMED \
--add-exports=java.base/sun.util.locale.provider=ALL-UNNAMED \
--add-exports=java.base/sun.util.resources=ALL-UNNAMED \
--add-exports=java.management/sun.management=ALL-UNNAMED \
--add-exports=java.xml.crypto/org.jcp.xml.dsig.internal.dom=ALL-UNNAMED \
--add-exports=jdk.internal.vm.ci/jdk.vm.ci.aarch64=ALL-UNNAMED \
--add-exports=jdk.internal.vm.ci/jdk.vm.ci.amd64=ALL-UNNAMED \
--add-exports=jdk.internal.vm.ci/jdk.vm.ci.code.site=ALL-UNNAMED \
--add-exports=jdk.internal.vm.ci/jdk.vm.ci.code.stack=ALL-UNNAMED \
--add-exports=jdk.internal.vm.ci/jdk.vm.ci.code=ALL-UNNAMED \
--add-exports=jdk.internal.vm.ci/jdk.vm.ci.common=ALL-UNNAMED \
--add-exports=jdk.internal.vm.ci/jdk.vm.ci.hotspot.aarch64=ALL-UNNAMED \
--add-exports=jdk.internal.vm.ci/jdk.vm.ci.hotspot.amd64=ALL-UNNAMED \
--add-exports=jdk.internal.vm.ci/jdk.vm.ci.hotspot=ALL-UNNAMED \
--add-exports=jdk.internal.vm.ci/jdk.vm.ci.meta=ALL-UNNAMED \
--add-exports=jdk.internal.vm.ci/jdk.vm.ci.runtime=ALL-UNNAMED \
--add-exports=jdk.internal.vm.ci/jdk.vm.ci.services=ALL-UNNAMED \
--add-exports=jdk.jfr/jdk.jfr.events=ALL-UNNAMED \
--add-exports=jdk.jfr/jdk.jfr.internal.consumer=ALL-UNNAMED \
--add-exports=jdk.jfr/jdk.jfr.internal.handlers=ALL-UNNAMED \
--add-exports=jdk.jfr/jdk.jfr.internal.jfc=ALL-UNNAMED \
--add-exports=jdk.jfr/jdk.jfr.internal=ALL-UNNAMED \
-XX:+UseJVMCINativeLibrary \
-Xss10m \
-Xms1g \
-Xmx13644028312 \
-Djava.awt.headless=true \
-Dorg.graalvm.version=22.0.0.2 \
-Dorg.graalvm.config=CE \
-Dcom.oracle.graalvm.isaot=true \
-Djava.system.class.loader=com.oracle.svm.hosted.NativeImageSystemClassLoader \
-Xshare:off \
-Djdk.internal.lambda.disableEagerInitialization=true \
-Djdk.internal.lambda.eagerlyInitialize=false \
-Djava.lang.invoke.InnerClassLambdaMetafactory.initializeLambdas=false \
'-javaagent:C:\src\graalvm-ce-java17-22.0.0.2\lib\svm\builder\svm.jar' \
-cp \
'C:\src\graalvm-ce-java17-22.0.0.2\lib\svm\builder\native-image-base.jar;C:\src\graalvm-ce-java17-22.0.0.2\lib\svm\builder\objectfile.jar;C:\src\graalvm-ce-java17-22.0.0.2\lib\svm\builder\pointsto.jar;C:\src\graalvm-ce-java17-22.0.0.2\lib\svm\builder\svm.jar' \
--module-path \
'C:\src\graalvm-ce-java17-22.0.0.2\lib\truffle\truffle-api.jar' \
'com.oracle.svm.hosted.NativeImageGeneratorRunner$JDK9Plus' \
-imagecp \
'C:\MyJavaProjects\java_native\app\build\libs\nativebuild-classpath.jar;C:\src\graalvm-ce-java17-22.0.0.2\lib\svm\library-support.jar' \
'-H:Path=C:\MyJavaProjects\java_native\app\build\native\nativeBuild' \
-H:FallbackThreshold=0 \
'-H:Path=C:\MyJavaProjects\java_native\app\build\native\nativeBuild' \
-H:Name=Example \
'-H:ConfigurationFileDirectories=C:\MyJavaProjects\java_native\app\build\native\generated\generateResourcesConfigFile' \
-H:+AllowIncompleteClasspath \
-H:Class=demo.Example \
-H:+DumpTargetInfo \
'-H:CLibraryPath=C:\src\graalvm-ce-java17-22.0.0.2\lib\svm\clibraries\windows-amd64'
]
========================================================================================================================
GraalVM Native Image: Generating 'Example'...
========================================================================================================================
[1/7] Initializing...                                                                                    (5,1s @ 0,21GB)
 Version info: 'GraalVM 22.0.0.2 Java 17 CE'
# Printing compilation-target information to: C:\MyJavaProjects\java_native\app\build\native\nativeBuild\reports\target_info_20220329_193136.txt
[2/7] Performing analysis...  [********]                                                                (26,2s @ 1,60GB)
# Printing native-library information to: C:\MyJavaProjects\java_native\app\build\native\nativeBuild\reports\native_library_info_20220329_193202.txt
   5.591 (91,78%) of  6.092 classes reachable
   9.664 (70,03%) of 13.799 fields reachable
  26.465 (81,43%) of 32.499 methods reachable
     316 classes,    93 fields, and   718 methods registered for reflection
      71 classes,    54 fields, and    62 methods registered for JNI access
[3/7] Building universe...                                                                               (1,6s @ 1,93GB)
[4/7] Parsing methods...      [*]                                                                        (1,5s @ 2,46GB)
[5/7] Inlining methods...     [****]                                                                     (2,0s @ 2,51GB)
[6/7] Compiling methods...    [*****]                                                                   (21,3s @ 2,77GB)
[7/7] Creating image...
Fatal error: com.oracle.svm.core.util.VMError$HostedError: should not reach here
        at com.oracle.svm.core.util.VMError.shouldNotReachHere(VMError.java:64)
        at com.oracle.svm.hosted.jdk.JNIRegistrationSupport.makeShimDLL(JNIRegistrationSupport.java:256)
        at com.oracle.svm.hosted.jdk.JNIRegistrationSupport.makeShimDLLs(JNIRegistrationSupport.java:230)
        at com.oracle.svm.hosted.jdk.JNIRegistrationSupport.afterImageWrite(JNIRegistrationSupport.java:175)
        at com.oracle.svm.hosted.NativeImageGenerator.lambda$doRun$8(NativeImageGenerator.java:680)
        at com.oracle.svm.hosted.FeatureHandler.forEachFeature(FeatureHandler.java:74)
        at com.oracle.svm.hosted.NativeImageGenerator.doRun(NativeImageGenerator.java:680)
        at com.oracle.svm.hosted.NativeImageGenerator.run(NativeImageGenerator.java:494)
        at com.oracle.svm.hosted.NativeImageGeneratorRunner.buildImage(NativeImageGeneratorRunner.java:426)
        at com.oracle.svm.hosted.NativeImageGeneratorRunner.build(NativeImageGeneratorRunner.java:587)
        at com.oracle.svm.hosted.NativeImageGeneratorRunner.main(NativeImageGeneratorRunner.java:126)
        at com.oracle.svm.hosted.NativeImageGeneratorRunner$JDK9Plus.main(NativeImageGeneratorRunner.java:617)
------------------------------------------------------------------------------------------------------------------------
                        4,7s (7,6% of total time) in 25 GCs | Peak RSS: 4,51GB | CPU load: 3,60
------------------------------------------------------------------------------------------------------------------------
Produced artifacts:
 C:\MyJavaProjects\java_native\app\build\native\nativeBuild\Example.exe (executable)
 C:\MyJavaProjects\java_native\app\build\native\nativeBuild\awt.dll (jdk_lib)
 C:\MyJavaProjects\java_native\app\build\native\nativeBuild\javajpeg.dll (jdk_lib)
 C:\MyJavaProjects\java_native\app\build\native\nativeBuild\lcms.dll (jdk_lib)
 C:\MyJavaProjects\java_native\app\build\native\nativeBuild\Example.build_artifacts.txt
========================================================================================================================
Failed generating 'Example' after 1m 1s.
Error: Image build request failed with exit status 1
com.oracle.svm.driver.NativeImage$NativeImageError: Image build request failed with exit status 1
        at com.oracle.svm.driver.NativeImage.showError(NativeImage.java:1770)
        at com.oracle.svm.driver.NativeImage.build(NativeImage.java:1477)
        at com.oracle.svm.driver.NativeImage.performBuild(NativeImage.java:1438)
        at com.oracle.svm.driver.NativeImage.main(NativeImage.java:1425)

> Task :app:nativeBuild FAILED

FAILURE: Build failed with an exception.

* What went wrong:
Execution failed for task ':app:nativeBuild'.
> Process 'command 'C:\src\graalvm-ce-java17-22.0.0.2\bin\native-image.cmd'' finished with non-zero exit value 1

* 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 1m 4s
5 actionable tasks: 1 executed, 4 up-to-date
mycybyby commented 2 years ago

I have the same error. in the target directory, I notice the java.dll copied from java_home is 0 bytes. if I add --language:js to the buildArgs, the error is gone.

rodrigar-mx commented 2 years ago

Hi @insinfo. Thanks for reporting this issue. We will take a look into it and get back to you.

insinfo commented 2 years ago

@rodrigar-mx Thanks for the feedback, I'm looking forward to being able to create native dynamic libraries in java to integrate with my flutter applications.

insinfo commented 2 years ago

@mycybyby I can't understand your suggestion.

insinfo commented 2 years ago

@mycybyby

Although it doesn't seem to make much sense, I followed your suggestion of adding the parameter "--language:js", but as you can see in the log this doesn't solve the problem.

java.dll is 0 bytes on \java_native\app\build\native\nativeBuild

build.gradle

plugins {
    id 'application' //CLI application in Java
    id 'org.graalvm.buildtools.native' version '0.9.4'
}

ext {
  pdfboxVersion = '2.0.25'
}

repositories {
    mavenCentral() 
    gradlePluginPortal()
}

dependencies {
    implementation "org.apache.pdfbox:pdfbox:${pdfboxVersion}"
    implementation "org.apache.pdfbox:preflight:${pdfboxVersion}"
    implementation "commons-io:commons-io:2.5"
    implementation 'javax.activation:activation:1.1.1'
    // Required for Tiff extraction. See: https://pdfbox.apache.org/2.0/dependencies.html
    // https://svn.apache.org/viewvc/pdfbox/trunk/parent/pom.xml?view=markup
    implementation 'com.github.jai-imageio:jai-imageio-core:1.3.1'
    // testImplementation 'org.junit.jupiter:junit-jupiter:5.8.1' 
    // implementation 'com.google.guava:guava:30.1.1-jre' 
}

application {
    mainClass = 'demo.Example' 
}

nativeBuild {
  imageName = 'Example'
  mainClass = 'demo.Example'
  verbose = true // Add verbose output, defaults to false
  useFatJar = true
  // Advanced options
  // Passes '-H:Extra' to the native image builder options.
  // This can be used to pass parameters which are not directly supported by this extension
  buildArgs.add('--native-image-info')
  buildArgs.add('--verbose')
  buildArgs.add('--report-unsupported-elements-at-runtime')

  buildArgs.add('--language:js')
  buildArgs.add('--allow-incomplete-classpath')

    // Development options
 //agent = true // Enables the reflection agent. Can be also set on command line using '-Pagent'
}

log

C:\MyJavaProjects\java_native>.\gradlew nativeBuild

> Task :app:nativeBuild
[native-image-plugin] Args are: [-cp, C:\MyJavaProjects\java_native\app\build\libs\nativebuild-classpath.jar, --no-fallback, --verbose, -H:Path=C:\MyJavaProjects\java_native\app\build\native\nativeBuild, -H:Name=Example, -H:ConfigurationFileDirectories=C:\MyJavaProjects\java_native\app\build\native\generated\generateResourcesConfigFile, -H:Class=demo.Example, --native-image-info, --verbose, --report-unsupported-elements-at-runtime, --language:js, --allow-incomplete-classpath]
Executing [
'C:\src\graalvm-ce-java17-22.0.0.2\bin\java.exe' \
-XX:+UseParallelGC \
-XX:+UnlockExperimentalVMOptions \
-XX:+EnableJVMCI \
-Dtruffle.TrustAllTruffleRuntimeProviders=true \
-Dtruffle.TruffleRuntime=com.oracle.truffle.api.impl.DefaultTruffleRuntime \
-Dgraalvm.ForcePolyglotInvalid=true \
-Dgraalvm.locatorDisabled=true \
-Dsubstratevm.IgnoreGraalVersionCheck=true \
--add-exports=java.base/com.sun.crypto.provider=ALL-UNNAMED \
--add-exports=java.base/jdk.internal.access.foreign=ALL-UNNAMED \
--add-exports=java.base/jdk.internal.event=ALL-UNNAMED \
--add-exports=java.base/jdk.internal.loader=ALL-UNNAMED \
--add-exports=java.base/jdk.internal.logger=ALL-UNNAMED \
--add-exports=java.base/jdk.internal.misc=ALL-UNNAMED \
--add-exports=java.base/jdk.internal.module=ALL-UNNAMED \
--add-exports=java.base/jdk.internal.org.objectweb.asm=ALL-UNNAMED \
--add-exports=java.base/jdk.internal.org.xml.sax.helpers=ALL-UNNAMED \
--add-exports=java.base/jdk.internal.perf=ALL-UNNAMED \
--add-exports=java.base/jdk.internal.platform=ALL-UNNAMED \
--add-exports=java.base/jdk.internal.ref=ALL-UNNAMED \
--add-exports=java.base/jdk.internal.reflect=ALL-UNNAMED \
--add-exports=java.base/jdk.internal.util.xml.impl=ALL-UNNAMED \
--add-exports=java.base/jdk.internal.util.xml=ALL-UNNAMED \
--add-exports=java.base/sun.invoke.util=ALL-UNNAMED \
--add-exports=java.base/sun.net=ALL-UNNAMED \
--add-exports=java.base/sun.nio.ch=ALL-UNNAMED \
--add-exports=java.base/sun.reflect.annotation=ALL-UNNAMED \
--add-exports=java.base/sun.reflect.generics.reflectiveObjects=ALL-UNNAMED \
--add-exports=java.base/sun.reflect.generics.repository=ALL-UNNAMED \
--add-exports=java.base/sun.reflect.generics.tree=ALL-UNNAMED \
--add-exports=java.base/sun.security.jca=ALL-UNNAMED \
--add-exports=java.base/sun.security.provider=ALL-UNNAMED \
--add-exports=java.base/sun.security.ssl=ALL-UNNAMED \
--add-exports=java.base/sun.security.util=ALL-UNNAMED \
--add-exports=java.base/sun.text.spi=ALL-UNNAMED \
--add-exports=java.base/sun.util.calendar=ALL-UNNAMED \
--add-exports=java.base/sun.util.locale.provider=ALL-UNNAMED \
--add-exports=java.base/sun.util.resources=ALL-UNNAMED \
--add-exports=java.management/sun.management=ALL-UNNAMED \
--add-exports=java.xml.crypto/org.jcp.xml.dsig.internal.dom=ALL-UNNAMED \
--add-exports=jdk.internal.vm.ci/jdk.vm.ci.aarch64=ALL-UNNAMED \
--add-exports=jdk.internal.vm.ci/jdk.vm.ci.amd64=ALL-UNNAMED \
--add-exports=jdk.internal.vm.ci/jdk.vm.ci.code.site=ALL-UNNAMED \
--add-exports=jdk.internal.vm.ci/jdk.vm.ci.code.stack=ALL-UNNAMED \
--add-exports=jdk.internal.vm.ci/jdk.vm.ci.code=ALL-UNNAMED \
--add-exports=jdk.internal.vm.ci/jdk.vm.ci.common=ALL-UNNAMED \
--add-exports=jdk.internal.vm.ci/jdk.vm.ci.hotspot.aarch64=ALL-UNNAMED \
--add-exports=jdk.internal.vm.ci/jdk.vm.ci.hotspot.amd64=ALL-UNNAMED \
--add-exports=jdk.internal.vm.ci/jdk.vm.ci.hotspot=ALL-UNNAMED \
--add-exports=jdk.internal.vm.ci/jdk.vm.ci.meta=ALL-UNNAMED \
--add-exports=jdk.internal.vm.ci/jdk.vm.ci.runtime=ALL-UNNAMED \
--add-exports=jdk.internal.vm.ci/jdk.vm.ci.services=ALL-UNNAMED \
--add-exports=jdk.jfr/jdk.jfr.events=ALL-UNNAMED \
--add-exports=jdk.jfr/jdk.jfr.internal.consumer=ALL-UNNAMED \
--add-exports=jdk.jfr/jdk.jfr.internal.handlers=ALL-UNNAMED \
--add-exports=jdk.jfr/jdk.jfr.internal.jfc=ALL-UNNAMED \
--add-exports=jdk.jfr/jdk.jfr.internal=ALL-UNNAMED \
-XX:+UseJVMCINativeLibrary \
-Xss10m \
-Xms1g \
-Djava.awt.headless=true \
-Dorg.graalvm.version=22.0.0.2 \
-Dorg.graalvm.config=CE \
-Dcom.oracle.graalvm.isaot=true \
-Djava.system.class.loader=com.oracle.svm.hosted.NativeImageSystemClassLoader \
-Xshare:off \
-Dtruffle.TruffleRuntime=com.oracle.svm.truffle.api.SubstrateTruffleRuntime \
-Dgraalvm.ForcePolyglotInvalid=false \
-Dpolyglot.image-build-time.PreinitializeContexts=js \
-Djdk.internal.lambda.disableEagerInitialization=true \
-Djdk.internal.lambda.eagerlyInitialize=false \
-Djava.lang.invoke.InnerClassLambdaMetafactory.initializeLambdas=false \
-Xmx13644028312 \
'-javaagent:C:\src\graalvm-ce-java17-22.0.0.2\lib\svm\builder\svm.jar' \
-cp \
'C:\src\graalvm-ce-java17-22.0.0.2\lib\svm\builder\native-image-base.jar;C:\src\graalvm-ce-java17-22.0.0.2\lib\svm\builder\objectfile.jar;C:\src\graalvm-ce-java17-22.0.0.2\lib\svm\builder\pointsto.jar;C:\src\graalvm-ce-java17-22.0.0.2\lib\svm\builder\svm.jar' \
--module-path \
'C:\src\graalvm-ce-java17-22.0.0.2\lib\truffle\truffle-api.jar' \
'com.oracle.svm.hosted.NativeImageGeneratorRunner$JDK9Plus' \
-imagecp \
'C:\src\graalvm-ce-java17-22.0.0.2\languages\regex\tregex.jar;C:\src\graalvm-ce-java17-22.0.0.2\languages\js\graaljs.jar;C:\MyJavaProjects\java_native\app\build\libs\nativebuild-classpath.jar;C:\src\graalvm-ce-java17-22.0.0.2\lib\svm\library-support.jar' \
'-H:Path=C:\MyJavaProjects\java_native\app\build\native\nativeBuild' \
-H:FallbackThreshold=0 \
'-H:Path=C:\MyJavaProjects\java_native\app\build\native\nativeBuild' \
-H:Name=Example \
'-H:ConfigurationFileDirectories=C:\MyJavaProjects\java_native\app\build\native\generated\generateResourcesConfigFile' \
-H:Class=demo.Example \
-H:+DumpTargetInfo \
-H:+ReportUnsupportedElementsAtRuntime \
-H:Features@--macro:truffle=com.oracle.svm.truffle.TruffleFeature,com.oracle.svm.truffle.TruffleBaseFeature,org.graalvm.home.HomeFinderFeature \       
-H:MaxRuntimeCompileMethods@--macro:truffle=2000 \
-H:ClassInitialization@--macro:truffle=org.graalvm.launcher:build_time,com.oracle.truffle:build_time,org.graalvm.nativebridge:build_time \
-H:MaxRuntimeCompileMethods@--language:regex=900 \
-H:MaxRuntimeCompileMethods@--language:js=9200 \
-H:ClassInitialization@--language:js=com.oracle.truffle.js:build_time,com.oracle.js.parser:build_time,com.oracle.truffle.regex:build_time \
-H:ClassInitialization@--language:js=com.ibm.icu:run_time \
-H:ReflectionConfigurationResources@--language:js=com/oracle/truffle/js/runtime/resources/reflect-config.json \
-H:ResourceConfigurationResources@--language:js=com/oracle/truffle/js/runtime/resources/resource-config.json \
-H:+AllowIncompleteClasspath \
-H:FallbackThreshold=0 \
'-H:CLibraryPath=C:\src\graalvm-ce-java17-22.0.0.2\lib\svm\clibraries\windows-amd64'
]
========================================================================================================================
GraalVM Native Image: Generating 'Example'...
========================================================================================================================
[1/7] Initializing...                                                                                    (6,8s @ 0,20GB)
 Version info: 'GraalVM 22.0.0.2 Java 17 CE'
# Printing compilation-target information to: C:\MyJavaProjects\java_native\app\build\native\nativeBuild\reports\target_info_20220407_183359.txt
[2/7] Performing analysis...  [********]                                                                (27,2s @ 1,54GB)
# Printing native-library information to: C:\MyJavaProjects\java_native\app\build\native\nativeBuild\reports\native_library_info_20220407_183427.txt
   7.066 (92,99%) of  7.599 classes reachable
  12.588 (72,07%) of 17.466 fields reachable
  32.069 (80,18%) of 39.998 methods reachable
       9 ( 0,02%) of 39.998 methods included for runtime compilation
     342 classes,    99 fields, and   731 methods registered for reflection
      71 classes,    54 fields, and    62 methods registered for JNI access
[3/7] Building universe...                                                                               (1,3s @ 1,77GB)
[4/7] Parsing methods...      [***]                                                                      (5,9s @ 1,04GB)
[5/7] Inlining methods...     [*****]                                                                    (2,9s @ 1,64GB)
[6/7] Compiling methods...    [*****]                                                                   (26,8s @ 1,31GB)
[7/7] Creating image...
Fatal error: com.oracle.svm.core.util.VMError$HostedError: should not reach here
        at com.oracle.svm.core.util.VMError.shouldNotReachHere(VMError.java:64)
        at com.oracle.svm.hosted.jdk.JNIRegistrationSupport.makeShimDLL(JNIRegistrationSupport.java:256)
        at com.oracle.svm.hosted.jdk.JNIRegistrationSupport.makeShimDLLs(JNIRegistrationSupport.java:230)
        at com.oracle.svm.hosted.jdk.JNIRegistrationSupport.afterImageWrite(JNIRegistrationSupport.java:175)
        at com.oracle.svm.hosted.NativeImageGenerator.lambda$doRun$8(NativeImageGenerator.java:680)
        at com.oracle.svm.hosted.FeatureHandler.forEachFeature(FeatureHandler.java:74)
        at com.oracle.svm.hosted.NativeImageGenerator.doRun(NativeImageGenerator.java:680)
        at com.oracle.svm.hosted.NativeImageGenerator.run(NativeImageGenerator.java:494)
        at com.oracle.svm.hosted.NativeImageGeneratorRunner.buildImage(NativeImageGeneratorRunner.java:426)
        at com.oracle.svm.hosted.NativeImageGeneratorRunner.build(NativeImageGeneratorRunner.java:587)
        at com.oracle.svm.hosted.NativeImageGeneratorRunner.main(NativeImageGeneratorRunner.java:126)
        at com.oracle.svm.hosted.NativeImageGeneratorRunner$JDK9Plus.main(NativeImageGeneratorRunner.java:617)
------------------------------------------------------------------------------------------------------------------------
                        3,7s (4,7% of total time) in 27 GCs | Peak RSS: 5,22GB | CPU load: 3,44
------------------------------------------------------------------------------------------------------------------------
Produced artifacts:
 C:\MyJavaProjects\java_native\app\build\native\nativeBuild\Example.exe (executable)
 C:\MyJavaProjects\java_native\app\build\native\nativeBuild\awt.dll (jdk_lib)
 C:\MyJavaProjects\java_native\app\build\native\nativeBuild\javajpeg.dll (jdk_lib)
 C:\MyJavaProjects\java_native\app\build\native\nativeBuild\lcms.dll (jdk_lib)
 C:\MyJavaProjects\java_native\app\build\native\nativeBuild\Example.build_artifacts.txt
========================================================================================================================
Failed generating 'Example' after 1m 16s.
Error: Image build request failed with exit status 1
com.oracle.svm.driver.NativeImage$NativeImageError: Image build request failed with exit status 1
        at com.oracle.svm.driver.NativeImage.showError(NativeImage.java:1770)
        at com.oracle.svm.driver.NativeImage.build(NativeImage.java:1477)
        at com.oracle.svm.driver.NativeImage.performBuild(NativeImage.java:1438)
        at com.oracle.svm.driver.NativeImage.main(NativeImage.java:1425)

> Task :app:nativeBuild FAILED

FAILURE: Build failed with an exception.

* What went wrong:
Execution failed for task ':app:nativeBuild'.
> Process 'command 'C:\src\graalvm-ce-java17-22.0.0.2\bin\native-image.cmd'' finished with non-zero exit value 1

* 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 1m 20s
5 actionable tasks: 1 executed, 4 up-to-date

C:\MyJavaProjects\java_native>
mycybyby commented 2 years ago

@insinfo sorry, my English is poor it is not a suggestion or solution,just what happing on my computer.

rodrigar-mx commented 2 years ago

@insinfo I tested the project in MacOS, and I could build the native image successfully. I will check now on Windows.

insinfo commented 2 years ago

I just tested it on Ubuntu 20.04 and it's also giving error on compilation, although it's a different error message

insinfo@ubuntu:~/src/java_native$ gradle nativeBuild

> Task :app:generateResourcesConfigFile
[native-image-plugin] Resources configuration written into /home/insinfo/src/java_native/app/build/native/generated/generateResourcesConfigFile/resource-config.json

> Task :app:nativeBuildClasspathJar
Encountered duplicate path "META-INF/DEPENDENCIES" during copy operation configured with DuplicatesStrategy.WARN
Encountered duplicate path "META-INF/LICENSE" during copy operation configured with DuplicatesStrategy.WARN
Encountered duplicate path "META-INF/NOTICE" during copy operation configured with DuplicatesStrategy.WARN
Encountered duplicate path "META-INF/LICENSE-notice.md" during copy operation configured with DuplicatesStrategy.WARN
Encountered duplicate path "META-INF/LICENSE.md" during copy operation configured with DuplicatesStrategy.WARN
Encountered duplicate path "module-info.class" during copy operation configured with DuplicatesStrategy.WARN
Encountered duplicate path "META-INF/LICENSE-notice.md" during copy operation configured with DuplicatesStrategy.WARN
Encountered duplicate path "META-INF/LICENSE.md" during copy operation configured with DuplicatesStrategy.WARN
Encountered duplicate path "module-info.class" during copy operation configured with DuplicatesStrategy.WARN
Encountered duplicate path "META-INF/LICENSE-notice.md" during copy operation configured with DuplicatesStrategy.WARN
Encountered duplicate path "META-INF/LICENSE.md" during copy operation configured with DuplicatesStrategy.WARN
Encountered duplicate path "module-info.class" during copy operation configured with DuplicatesStrategy.WARN
Encountered duplicate path "META-INF/LICENSE-notice.md" during copy operation configured with DuplicatesStrategy.WARN
Encountered duplicate path "META-INF/LICENSE.md" during copy operation configured with DuplicatesStrategy.WARN
Encountered duplicate path "module-info.class" during copy operation configured with DuplicatesStrategy.WARN
Encountered duplicate path "META-INF/LICENSE-notice.md" during copy operation configured with DuplicatesStrategy.WARN
Encountered duplicate path "META-INF/LICENSE.md" during copy operation configured with DuplicatesStrategy.WARN
Encountered duplicate path "module-info.class" during copy operation configured with DuplicatesStrategy.WARN
Encountered duplicate path "META-INF/LICENSE-notice.md" during copy operation configured with DuplicatesStrategy.WARN
Encountered duplicate path "META-INF/LICENSE.md" during copy operation configured with DuplicatesStrategy.WARN
Encountered duplicate path "module-info.class" during copy operation configured with DuplicatesStrategy.WARN
Encountered duplicate path "META-INF/LICENSE-notice.md" during copy operation configured with DuplicatesStrategy.WARN
Encountered duplicate path "META-INF/LICENSE.md" during copy operation configured with DuplicatesStrategy.WARN
Encountered duplicate path "module-info.class" during copy operation configured with DuplicatesStrategy.WARN
Encountered duplicate path "META-INF/LICENSE-notice.md" during copy operation configured with DuplicatesStrategy.WARN
Encountered duplicate path "META-INF/LICENSE.md" during copy operation configured with DuplicatesStrategy.WARN
Encountered duplicate path "module-info.class" during copy operation configured with DuplicatesStrategy.WARN
Encountered duplicate path "META-INF/DEPENDENCIES" during copy operation configured with DuplicatesStrategy.WARN
Encountered duplicate path "META-INF/LICENSE" during copy operation configured with DuplicatesStrategy.WARN
Encountered duplicate path "META-INF/NOTICE" during copy operation configured with DuplicatesStrategy.WARN
Encountered duplicate path "META-INF/DEPENDENCIES" during copy operation configured with DuplicatesStrategy.WARN
Encountered duplicate path "META-INF/LICENSE" during copy operation configured with DuplicatesStrategy.WARN
Encountered duplicate path "META-INF/NOTICE" during copy operation configured with DuplicatesStrategy.WARN
Encountered duplicate path "module-info.class" during copy operation configured with DuplicatesStrategy.WARN
Encountered duplicate path "module-info.class" during copy operation configured with DuplicatesStrategy.WARN

> Task :app:nativeBuild
[native-image-plugin] Args are: [-cp, /home/insinfo/src/java_native/app/build/libs/nativebuild-classpath.jar, --no-fallback, --verbose, -H:Path=/home/insinfo/src/java_native/app/build/native/nativeBuild, -H:Name=Example, -H:ConfigurationFileDirectories=/home/insinfo/src/java_native/app/build/native/generated/generateResourcesConfigFile, -H:Class=demo.Example, --native-image-info, --verbose, --report-unsupported-elements-at-runtime, --language:js, --allow-incomplete-classpath]
Executing [
/usr/lib/jvm/graalvm-ce-java17-22.0.0.2/bin/java \
-XX:+UseParallelGC \
-XX:+UnlockExperimentalVMOptions \
-XX:+EnableJVMCI \
-Dtruffle.TrustAllTruffleRuntimeProviders=true \
-Dtruffle.TruffleRuntime=com.oracle.truffle.api.impl.DefaultTruffleRuntime \
-Dgraalvm.ForcePolyglotInvalid=true \
-Dgraalvm.locatorDisabled=true \
-Dsubstratevm.IgnoreGraalVersionCheck=true \
--add-exports=java.base/com.sun.crypto.provider=ALL-UNNAMED \
--add-exports=java.base/jdk.internal.access.foreign=ALL-UNNAMED \
--add-exports=java.base/jdk.internal.event=ALL-UNNAMED \
--add-exports=java.base/jdk.internal.loader=ALL-UNNAMED \
--add-exports=java.base/jdk.internal.logger=ALL-UNNAMED \
--add-exports=java.base/jdk.internal.misc=ALL-UNNAMED \
--add-exports=java.base/jdk.internal.module=ALL-UNNAMED \
--add-exports=java.base/jdk.internal.org.objectweb.asm=ALL-UNNAMED \
--add-exports=java.base/jdk.internal.org.xml.sax.helpers=ALL-UNNAMED \
--add-exports=java.base/jdk.internal.perf=ALL-UNNAMED \
--add-exports=java.base/jdk.internal.platform=ALL-UNNAMED \
--add-exports=java.base/jdk.internal.ref=ALL-UNNAMED \
--add-exports=java.base/jdk.internal.reflect=ALL-UNNAMED \
--add-exports=java.base/jdk.internal.util.xml.impl=ALL-UNNAMED \
--add-exports=java.base/jdk.internal.util.xml=ALL-UNNAMED \
--add-exports=java.base/sun.invoke.util=ALL-UNNAMED \
--add-exports=java.base/sun.net=ALL-UNNAMED \
--add-exports=java.base/sun.nio.ch=ALL-UNNAMED \
--add-exports=java.base/sun.reflect.annotation=ALL-UNNAMED \
--add-exports=java.base/sun.reflect.generics.reflectiveObjects=ALL-UNNAMED \
--add-exports=java.base/sun.reflect.generics.repository=ALL-UNNAMED \
--add-exports=java.base/sun.reflect.generics.tree=ALL-UNNAMED \
--add-exports=java.base/sun.security.jca=ALL-UNNAMED \
--add-exports=java.base/sun.security.provider=ALL-UNNAMED \
--add-exports=java.base/sun.security.ssl=ALL-UNNAMED \
--add-exports=java.base/sun.security.util=ALL-UNNAMED \
--add-exports=java.base/sun.text.spi=ALL-UNNAMED \
--add-exports=java.base/sun.util.calendar=ALL-UNNAMED \
--add-exports=java.base/sun.util.locale.provider=ALL-UNNAMED \
--add-exports=java.base/sun.util.resources=ALL-UNNAMED \
--add-exports=java.management/sun.management=ALL-UNNAMED \
--add-exports=java.xml.crypto/org.jcp.xml.dsig.internal.dom=ALL-UNNAMED \
--add-exports=jdk.internal.vm.ci/jdk.vm.ci.aarch64=ALL-UNNAMED \
--add-exports=jdk.internal.vm.ci/jdk.vm.ci.amd64=ALL-UNNAMED \
--add-exports=jdk.internal.vm.ci/jdk.vm.ci.code.site=ALL-UNNAMED \
--add-exports=jdk.internal.vm.ci/jdk.vm.ci.code.stack=ALL-UNNAMED \
--add-exports=jdk.internal.vm.ci/jdk.vm.ci.code=ALL-UNNAMED \
--add-exports=jdk.internal.vm.ci/jdk.vm.ci.common=ALL-UNNAMED \
--add-exports=jdk.internal.vm.ci/jdk.vm.ci.hotspot.aarch64=ALL-UNNAMED \
--add-exports=jdk.internal.vm.ci/jdk.vm.ci.hotspot.amd64=ALL-UNNAMED \
--add-exports=jdk.internal.vm.ci/jdk.vm.ci.hotspot=ALL-UNNAMED \
--add-exports=jdk.internal.vm.ci/jdk.vm.ci.meta=ALL-UNNAMED \
--add-exports=jdk.internal.vm.ci/jdk.vm.ci.runtime=ALL-UNNAMED \
--add-exports=jdk.internal.vm.ci/jdk.vm.ci.services=ALL-UNNAMED \
--add-exports=jdk.jfr/jdk.jfr.events=ALL-UNNAMED \
--add-exports=jdk.jfr/jdk.jfr.internal.consumer=ALL-UNNAMED \
--add-exports=jdk.jfr/jdk.jfr.internal.handlers=ALL-UNNAMED \
--add-exports=jdk.jfr/jdk.jfr.internal.jfc=ALL-UNNAMED \
--add-exports=jdk.jfr/jdk.jfr.internal=ALL-UNNAMED \
-XX:+UseJVMCINativeLibrary \
-Xss10m \
-Xms1g \
-Djava.awt.headless=true \
-Dorg.graalvm.version=22.0.0.2 \
-Dorg.graalvm.config=CE \
-Dcom.oracle.graalvm.isaot=true \
-Djava.system.class.loader=com.oracle.svm.hosted.NativeImageSystemClassLoader \
-Xshare:off \
-Dtruffle.TruffleRuntime=com.oracle.svm.truffle.api.SubstrateTruffleRuntime \
-Dgraalvm.ForcePolyglotInvalid=false \
-Dpolyglot.image-build-time.PreinitializeContexts=js \
-Djdk.internal.lambda.disableEagerInitialization=true \
-Djdk.internal.lambda.eagerlyInitialize=false \
-Djava.lang.invoke.InnerClassLambdaMetafactory.initializeLambdas=false \
-Xmx6442450944 \
-javaagent:/usr/lib/jvm/graalvm-ce-java17-22.0.0.2/lib/svm/builder/svm.jar \
-cp \
/usr/lib/jvm/graalvm-ce-java17-22.0.0.2/lib/svm/builder/objectfile.jar:/usr/lib/jvm/graalvm-ce-java17-22.0.0.2/lib/svm/builder/llvm-wrapper-shadowed.jar:/usr/lib/jvm/graalvm-ce-java17-22.0.0.2/lib/svm/builder/pointsto.jar:/usr/lib/jvm/graalvm-ce-java17-22.0.0.2/lib/svm/builder/svm-llvm.jar:/usr/lib/jvm/graalvm-ce-java17-22.0.0.2/lib/svm/builder/llvm-platform-specific-shadowed.jar:/usr/lib/jvm/graalvm-ce-java17-22.0.0.2/lib/svm/builder/svm.jar:/usr/lib/jvm/graalvm-ce-java17-22.0.0.2/lib/svm/builder/javacpp-shadowed.jar:/usr/lib/jvm/graalvm-ce-java17-22.0.0.2/lib/svm/builder/native-image-base.jar \
--module-path \
/usr/lib/jvm/graalvm-ce-java17-22.0.0.2/lib/truffle/truffle-api.jar \
'com.oracle.svm.hosted.NativeImageGeneratorRunner$JDK9Plus' \
-watchpid \
7046 \
-imagecp \
/usr/lib/jvm/graalvm-ce-java17-22.0.0.2/languages/regex/tregex.jar:/usr/lib/jvm/graalvm-ce-java17-22.0.0.2/languages/js/graaljs.jar:/home/insinfo/src/java_native/app/build/libs/nativebuild-classpath.jar:/usr/lib/jvm/graalvm-ce-java17-22.0.0.2/lib/svm/library-support.jar \
-H:Path=/home/insinfo/src/java_native/app/build/native/nativeBuild \
-H:FallbackThreshold=0 \
-H:Path=/home/insinfo/src/java_native/app/build/native/nativeBuild \
-H:Name=Example \
-H:ConfigurationFileDirectories=/home/insinfo/src/java_native/app/build/native/generated/generateResourcesConfigFile \
-H:Class=demo.Example \
-H:+DumpTargetInfo \
-H:+ReportUnsupportedElementsAtRuntime \
-H:Features@--macro:truffle=com.oracle.svm.truffle.TruffleFeature,com.oracle.svm.truffle.TruffleBaseFeature,org.graalvm.home.HomeFinderFeature \
-H:MaxRuntimeCompileMethods@--macro:truffle=2000 \
-H:ClassInitialization@--macro:truffle=org.graalvm.launcher:build_time,com.oracle.truffle:build_time,org.graalvm.nativebridge:build_time \
-H:MaxRuntimeCompileMethods@--language:regex=900 \
-H:MaxRuntimeCompileMethods@--language:js=9200 \
-H:ClassInitialization@--language:js=com.oracle.truffle.js:build_time,com.oracle.js.parser:build_time,com.oracle.truffle.regex:build_time \
-H:ClassInitialization@--language:js=com.ibm.icu:run_time \
-H:ReflectionConfigurationResources@--language:js=com/oracle/truffle/js/runtime/resources/reflect-config.json \
-H:ResourceConfigurationResources@--language:js=com/oracle/truffle/js/runtime/resources/resource-config.json \
-H:+AllowIncompleteClasspath \
-H:FallbackThreshold=0 \
-H:CLibraryPath=/usr/lib/jvm/graalvm-ce-java17-22.0.0.2/lib/svm/clibraries/linux-amd64
]
========================================================================================================================
GraalVM Native Image: Generating 'Example'...
========================================================================================================================
[1/7] Initializing...                                                                                    (7,9s @ 0,21GB)
 Version info: 'GraalVM 22.0.0.2 Java 17 CE'
# Printing compilation-target information to: /home/insinfo/src/java_native/app/build/native/nativeBuild/reports/target_info_20220411_125604.txt
[2/7] Performing analysis...  [*******]                                                                 (53,1s @ 0,99GB)
# Printing native-library information to: /home/insinfo/src/java_native/app/build/native/nativeBuild/reports/native_library_info_20220411_125658.txt
   6.777 (92,27%) of  7.345 classes reachable
  12.075 (71,53%) of 16.882 fields reachable
  30.958 (79,55%) of 38.914 methods reachable
       9 ( 0,02%) of 38.914 methods included for runtime compilation
     311 classes,    99 fields, and   701 methods registered for reflection
      59 classes,    59 fields, and    54 methods registered for JNI access
[3/7] Building universe...                                                                               (1,9s @ 1,22GB)
[4/7] Parsing methods...      [****]                                                                    (12,4s @ 0,87GB)
[5/7] Inlining methods...     [*****]                                                                   (10,6s @ 1,28GB)
[6/7] Compiling methods...    [*******]                                                                 (53,6s @ 1,56GB)
[7/7] Creating image...
Fatal error: java.lang.RuntimeException: There was an error linking the native image: Linker command exited with 1

Linker command executed:
/usr/bin/gcc -z noexecstack -Wl,--gc-sections -Wl,--dynamic-list -Wl,/tmp/SVM-11384738180332608960/exported_symbols.list -Wl,--exclude-libs,ALL -Wl,-x -o /home/insinfo/src/java_native/app/build/native/nativeBuild/Example Example.o /usr/lib/jvm/graalvm-ce-java17-22.0.0.2/lib/svm/clibraries/linux-amd64/liblibchelper.a /usr/lib/jvm/graalvm-ce-java17-22.0.0.2/lib/static/linux-amd64/glibc/liblcms.a /usr/lib/jvm/graalvm-ce-java17-22.0.0.2/lib/static/linux-amd64/glibc/libawt_headless.a /usr/lib/jvm/graalvm-ce-java17-22.0.0.2/lib/static/linux-amd64/glibc/libawt.a /usr/lib/jvm/graalvm-ce-java17-22.0.0.2/lib/static/linux-amd64/glibc/libnet.a /usr/lib/jvm/graalvm-ce-java17-22.0.0.2/lib/static/linux-amd64/glibc/libjavajpeg.a /usr/lib/jvm/graalvm-ce-java17-22.0.0.2/lib/static/linux-amd64/glibc/libnio.a /usr/lib/jvm/graalvm-ce-java17-22.0.0.2/lib/static/linux-amd64/glibc/libjava.a /usr/lib/jvm/graalvm-ce-java17-22.0.0.2/lib/static/linux-amd64/glibc/libfdlibm.a /usr/lib/jvm/graalvm-ce-java17-22.0.0.2/lib/static/linux-amd64/glibc/libzip.a /usr/lib/jvm/graalvm-ce-java17-22.0.0.2/lib/svm/clibraries/linux-amd64/libjvm.a -v -L/tmp/SVM-11384738180332608960 -L/usr/lib/jvm/graalvm-ce-java17-22.0.0.2/lib/static/linux-amd64/glibc -L/usr/lib/jvm/graalvm-ce-java17-22.0.0.2/lib/svm/clibraries/linux-amd64 -lstdc++ -lm -lpthread -ldl -lz -lrt

Linker command output:
Using built-in specs.
COLLECT_GCC=/usr/bin/gcc
COLLECT_LTO_WRAPPER=/usr/lib/gcc/x86_64-linux-gnu/9/lto-wrapper
OFFLOAD_TARGET_NAMES=nvptx-none:hsa
OFFLOAD_TARGET_DEFAULT=1
Target: x86_64-linux-gnu
Configured with: ../src/configure -v --with-pkgversion='Ubuntu 9.3.0-17ubuntu1~20.04' --with-bugurl=file:///usr/share/doc/gcc-9/README.Bugs --enable-languages=c,ada,c++,go,brig,d,fortran,objc,obj-c++,gm2 --prefix=/usr --with-gcc-major-version-only --program-suffix=-9 --program-prefix=x86_64-linux-gnu- --enable-shared --enable-linker-build-id --libexecdir=/usr/lib --without-included-gettext --enable-threads=posix --libdir=/usr/lib --enable-nls --enable-clocale=gnu --enable-libstdcxx-debug --enable-libstdcxx-time=yes --with-default-libstdcxx-abi=new --enable-gnu-unique-object --disable-vtable-verify --enable-plugin --enable-default-pie --with-system-zlib --with-target-system-zlib=auto --enable-objc-gc=auto --enable-multiarch --disable-werror --with-arch-32=i686 --with-abi=m64 --with-multilib-list=m32,m64,mx32 --enable-multilib --with-tune=generic --enable-offload-targets=nvptx-none=/build/gcc-9-HskZEa/gcc-9-9.3.0/debian/tmp-nvptx/usr,hsa --without-cuda-driver --enable-checking=release --build=x86_64-linux-gnu --host=x86_64-linux-gnu --target=x86_64-linux-gnu
Thread model: posix
gcc version 9.3.0 (Ubuntu 9.3.0-17ubuntu1~20.04) 
COMPILER_PATH=/usr/lib/gcc/x86_64-linux-gnu/9/:/usr/lib/gcc/x86_64-linux-gnu/9/:/usr/lib/gcc/x86_64-linux-gnu/:/usr/lib/gcc/x86_64-linux-gnu/9/:/usr/lib/gcc/x86_64-linux-gnu/
LIBRARY_PATH=/usr/lib/gcc/x86_64-linux-gnu/9/:/usr/lib/gcc/x86_64-linux-gnu/9/../../../x86_64-linux-gnu/:/usr/lib/gcc/x86_64-linux-gnu/9/../../../../lib/:/lib/x86_64-linux-gnu/:/lib/../lib/:/usr/lib/x86_64-linux-gnu/:/usr/lib/../lib/:/usr/lib/gcc/x86_64-linux-gnu/9/../../../:/lib/:/usr/lib/
COLLECT_GCC_OPTIONS='-z' 'noexecstack' '-o' '/home/insinfo/src/java_native/app/build/native/nativeBuild/Example' '-v' '-L/tmp/SVM-11384738180332608960' '-L/usr/lib/jvm/graalvm-ce-java17-22.0.0.2/lib/static/linux-amd64/glibc' '-L/usr/lib/jvm/graalvm-ce-java17-22.0.0.2/lib/svm/clibraries/linux-amd64' '-mtune=generic' '-march=x86-64'
 /usr/lib/gcc/x86_64-linux-gnu/9/collect2 -plugin /usr/lib/gcc/x86_64-linux-gnu/9/liblto_plugin.so -plugin-opt=/usr/lib/gcc/x86_64-linux-gnu/9/lto-wrapper -plugin-opt=-fresolution=/tmp/ccizi2KC.res -plugin-opt=-pass-through=-lgcc -plugin-opt=-pass-through=-lgcc_s -plugin-opt=-pass-through=-lc -plugin-opt=-pass-through=-lgcc -plugin-opt=-pass-through=-lgcc_s --build-id --eh-frame-hdr -m elf_x86_64 --hash-style=gnu --as-needed -dynamic-linker /lib64/ld-linux-x86-64.so.2 -pie -z now -z relro -o /home/insinfo/src/java_native/app/build/native/nativeBuild/Example -z noexecstack /usr/lib/gcc/x86_64-linux-gnu/9/../../../x86_64-linux-gnu/Scrt1.o /usr/lib/gcc/x86_64-linux-gnu/9/../../../x86_64-linux-gnu/crti.o /usr/lib/gcc/x86_64-linux-gnu/9/crtbeginS.o -L/tmp/SVM-11384738180332608960 -L/usr/lib/jvm/graalvm-ce-java17-22.0.0.2/lib/static/linux-amd64/glibc -L/usr/lib/jvm/graalvm-ce-java17-22.0.0.2/lib/svm/clibraries/linux-amd64 -L/usr/lib/gcc/x86_64-linux-gnu/9 -L/usr/lib/gcc/x86_64-linux-gnu/9/../../../x86_64-linux-gnu -L/usr/lib/gcc/x86_64-linux-gnu/9/../../../../lib -L/lib/x86_64-linux-gnu -L/lib/../lib -L/usr/lib/x86_64-linux-gnu -L/usr/lib/../lib -L/usr/lib/gcc/x86_64-linux-gnu/9/../../.. --gc-sections --dynamic-list /tmp/SVM-11384738180332608960/exported_symbols.list --exclude-libs ALL -x Example.o /usr/lib/jvm/graalvm-ce-java17-22.0.0.2/lib/svm/clibraries/linux-amd64/liblibchelper.a /usr/lib/jvm/graalvm-ce-java17-22.0.0.2/lib/static/linux-amd64/glibc/liblcms.a /usr/lib/jvm/graalvm-ce-java17-22.0.0.2/lib/static/linux-amd64/glibc/libawt_headless.a /usr/lib/jvm/graalvm-ce-java17-22.0.0.2/lib/static/linux-amd64/glibc/libawt.a /usr/lib/jvm/graalvm-ce-java17-22.0.0.2/lib/static/linux-amd64/glibc/libnet.a /usr/lib/jvm/graalvm-ce-java17-22.0.0.2/lib/static/linux-amd64/glibc/libjavajpeg.a /usr/lib/jvm/graalvm-ce-java17-22.0.0.2/lib/static/linux-amd64/glibc/libnio.a /usr/lib/jvm/graalvm-ce-java17-22.0.0.2/lib/static/linux-amd64/glibc/libjava.a /usr/lib/jvm/graalvm-ce-java17-22.0.0.2/lib/static/linux-amd64/glibc/libfdlibm.a /usr/lib/jvm/graalvm-ce-java17-22.0.0.2/lib/static/linux-amd64/glibc/libzip.a /usr/lib/jvm/graalvm-ce-java17-22.0.0.2/lib/svm/clibraries/linux-amd64/libjvm.a -lstdc++ -lm -lpthread -ldl -lz -lrt -lgcc --push-state --as-needed -lgcc_s --pop-state -lc -lgcc --push-state --as-needed -lgcc_s --pop-state /usr/lib/gcc/x86_64-linux-gnu/9/crtendS.o /usr/lib/gcc/x86_64-linux-gnu/9/../../../x86_64-linux-gnu/crtn.o
/usr/bin/ld: não foi possível localizar -lz
collect2: error: ld returned 1 exit status
        at com.oracle.svm.hosted.image.NativeImageViaCC.handleLinkerFailure(NativeImageViaCC.java:505)
        at com.oracle.svm.hosted.image.NativeImageViaCC.write(NativeImageViaCC.java:452)
        at com.oracle.svm.hosted.NativeImageGenerator.doRun(NativeImageGenerator.java:674)
        at com.oracle.svm.hosted.NativeImageGenerator.run(NativeImageGenerator.java:494)
        at com.oracle.svm.hosted.NativeImageGeneratorRunner.buildImage(NativeImageGeneratorRunner.java:426)
        at com.oracle.svm.hosted.NativeImageGeneratorRunner.build(NativeImageGeneratorRunner.java:587)
        at com.oracle.svm.hosted.NativeImageGeneratorRunner.main(NativeImageGeneratorRunner.java:126)
        at com.oracle.svm.hosted.NativeImageGeneratorRunner$JDK9Plus.main(NativeImageGeneratorRunner.java:617)
------------------------------------------------------------------------------------------------------------------------
                        8,5s (5,8% of total time) in 33 GCs | Peak RSS: 3,23GB | CPU load: 1,94
------------------------------------------------------------------------------------------------------------------------
Produced artifacts:
 /home/insinfo/src/java_native/app/build/native/nativeBuild/Example.build_artifacts.txt
========================================================================================================================
Failed generating 'Example' after 2m 26s.
Error: Image build request failed with exit status 1
com.oracle.svm.driver.NativeImage$NativeImageError: Image build request failed with exit status 1
        at com.oracle.svm.driver.NativeImage.showError(NativeImage.java:1770)
        at com.oracle.svm.driver.NativeImage.build(NativeImage.java:1477)
        at com.oracle.svm.driver.NativeImage.performBuild(NativeImage.java:1438)
        at com.oracle.svm.driver.NativeImage.main(NativeImage.java:1425)

> Task :app:nativeBuild FAILED

FAILURE: Build failed with an exception.

* What went wrong:
Execution failed for task ':app:nativeBuild'.
> Process 'command '/usr/lib/jvm/graalvm-ce-java17-22.0.0.2/bin/native-image'' finished with non-zero exit value 1

* 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 2m 30s
5 actionable tasks: 3 executed, 2 up-to-date
insinfo@ubuntu:~/src/java_native$ uname -a
Linux ubuntu 5.13.0-28-generic #31~20.04.1-Ubuntu SMP Wed Jan 19 14:08:10 UTC 2022 x86_64 x86_64 x86_64 GNU/Linux
petermz commented 2 years ago

This error just means you don't have zlib installed

insinfo commented 2 years ago

@petermz @rodrigar-mx

I managed to compile on Ubuntu after installing zlib, but when running the executable throws an error Caused by: org.apache.commons.logging.LogConfigurationException: java.lang.ClassNotFoundException: On Windows the same error VMError$HostedError: should not reach

Ubuntu log

sudo apt install zlib1g
sudo apt install zlib1g-dev

insinfo@ubuntu:~/src/java_native$ gradle nativeBuild

> Task :app:generateResourcesConfigFile
[native-image-plugin] Resources configuration written into /home/insinfo/src/java_native/app/build/native/generated/generateResourcesConfigFile/resource-config.json

> Task :app:nativeBuildClasspathJar
Encountered duplicate path "META-INF/DEPENDENCIES" during copy operation configured with DuplicatesStrategy.WARN
Encountered duplicate path "META-INF/LICENSE" during copy operation configured with DuplicatesStrategy.WARN
Encountered duplicate path "META-INF/NOTICE" during copy operation configured with DuplicatesStrategy.WARN
Encountered duplicate path "META-INF/LICENSE.txt" during copy operation configured with DuplicatesStrategy.WARN
Encountered duplicate path "META-INF/LICENSE" during copy operation configured with DuplicatesStrategy.WARN
Encountered duplicate path "META-INF/NOTICE" during copy operation configured with DuplicatesStrategy.WARN
Encountered duplicate path "META-INF/LICENSE-notice.md" during copy operation configured with DuplicatesStrategy.WARN
Encountered duplicate path "META-INF/LICENSE.md" during copy operation configured with DuplicatesStrategy.WARN
Encountered duplicate path "module-info.class" during copy operation configured with DuplicatesStrategy.WARN
Encountered duplicate path "META-INF/LICENSE-notice.md" during copy operation configured with DuplicatesStrategy.WARN
Encountered duplicate path "META-INF/LICENSE.md" during copy operation configured with DuplicatesStrategy.WARN
Encountered duplicate path "module-info.class" during copy operation configured with DuplicatesStrategy.WARN
Encountered duplicate path "META-INF/LICENSE-notice.md" during copy operation configured with DuplicatesStrategy.WARN
Encountered duplicate path "META-INF/LICENSE.md" during copy operation configured with DuplicatesStrategy.WARN
Encountered duplicate path "module-info.class" during copy operation configured with DuplicatesStrategy.WARN
Encountered duplicate path "META-INF/LICENSE-notice.md" during copy operation configured with DuplicatesStrategy.WARN
Encountered duplicate path "META-INF/LICENSE.md" during copy operation configured with DuplicatesStrategy.WARN
Encountered duplicate path "module-info.class" during copy operation configured with DuplicatesStrategy.WARN
Encountered duplicate path "META-INF/LICENSE-notice.md" during copy operation configured with DuplicatesStrategy.WARN
Encountered duplicate path "META-INF/LICENSE.md" during copy operation configured with DuplicatesStrategy.WARN
Encountered duplicate path "module-info.class" during copy operation configured with DuplicatesStrategy.WARN
Encountered duplicate path "META-INF/LICENSE-notice.md" during copy operation configured with DuplicatesStrategy.WARN
Encountered duplicate path "META-INF/LICENSE.md" during copy operation configured with DuplicatesStrategy.WARN
Encountered duplicate path "module-info.class" during copy operation configured with DuplicatesStrategy.WARN
Encountered duplicate path "META-INF/LICENSE-notice.md" during copy operation configured with DuplicatesStrategy.WARN
Encountered duplicate path "META-INF/LICENSE.md" during copy operation configured with DuplicatesStrategy.WARN
Encountered duplicate path "module-info.class" during copy operation configured with DuplicatesStrategy.WARN
Encountered duplicate path "META-INF/LICENSE-notice.md" during copy operation configured with DuplicatesStrategy.WARN
Encountered duplicate path "META-INF/LICENSE.md" during copy operation configured with DuplicatesStrategy.WARN
Encountered duplicate path "module-info.class" during copy operation configured with DuplicatesStrategy.WARN
Encountered duplicate path "META-INF/DEPENDENCIES" during copy operation configured with DuplicatesStrategy.WARN
Encountered duplicate path "META-INF/LICENSE" during copy operation configured with DuplicatesStrategy.WARN
Encountered duplicate path "META-INF/NOTICE" during copy operation configured with DuplicatesStrategy.WARN
Encountered duplicate path "META-INF/DEPENDENCIES" during copy operation configured with DuplicatesStrategy.WARN
Encountered duplicate path "META-INF/LICENSE" during copy operation configured with DuplicatesStrategy.WARN
Encountered duplicate path "META-INF/NOTICE" during copy operation configured with DuplicatesStrategy.WARN
Encountered duplicate path "META-INF/LICENSE.txt" during copy operation configured with DuplicatesStrategy.WARN
Encountered duplicate path "META-INF/NOTICE.txt" during copy operation configured with DuplicatesStrategy.WARN
Encountered duplicate path "module-info.class" during copy operation configured with DuplicatesStrategy.WARN
Encountered duplicate path "module-info.class" during copy operation configured with DuplicatesStrategy.WARN

> Task :app:nativeBuild
[native-image-plugin] Args are: [-cp, /home/insinfo/src/java_native/app/build/libs/nativebuild-classpath.jar, --no-fallback, --verbose, -H:Path=/home/insinfo/src/java_native/app/build/native/nativeBuild, -H:Name=Example, -H:ConfigurationFileDirectories=/home/insinfo/src/java_native/app/build/native/generated/generateResourcesConfigFile, --allow-incomplete-classpath, -H:Class=demo.Example, --native-image-info, --verbose, --report-unsupported-elements-at-runtime, --allow-incomplete-classpath]
Executing [
/usr/lib/jvm/graalvm-ce-java17-22.0.0.2/bin/java \
-XX:+UseParallelGC \
-XX:+UnlockExperimentalVMOptions \
-XX:+EnableJVMCI \
-Dtruffle.TrustAllTruffleRuntimeProviders=true \
-Dtruffle.TruffleRuntime=com.oracle.truffle.api.impl.DefaultTruffleRuntime \
-Dgraalvm.ForcePolyglotInvalid=true \
-Dgraalvm.locatorDisabled=true \
-Dsubstratevm.IgnoreGraalVersionCheck=true \
--add-exports=java.base/com.sun.crypto.provider=ALL-UNNAMED \
--add-exports=java.base/jdk.internal.access.foreign=ALL-UNNAMED \
--add-exports=java.base/jdk.internal.event=ALL-UNNAMED \
--add-exports=java.base/jdk.internal.loader=ALL-UNNAMED \
--add-exports=java.base/jdk.internal.logger=ALL-UNNAMED \
--add-exports=java.base/jdk.internal.misc=ALL-UNNAMED \
--add-exports=java.base/jdk.internal.module=ALL-UNNAMED \
--add-exports=java.base/jdk.internal.org.objectweb.asm=ALL-UNNAMED \
--add-exports=java.base/jdk.internal.org.xml.sax.helpers=ALL-UNNAMED \
--add-exports=java.base/jdk.internal.perf=ALL-UNNAMED \
--add-exports=java.base/jdk.internal.platform=ALL-UNNAMED \
--add-exports=java.base/jdk.internal.ref=ALL-UNNAMED \
--add-exports=java.base/jdk.internal.reflect=ALL-UNNAMED \
--add-exports=java.base/jdk.internal.util.xml.impl=ALL-UNNAMED \
--add-exports=java.base/jdk.internal.util.xml=ALL-UNNAMED \
--add-exports=java.base/sun.invoke.util=ALL-UNNAMED \
--add-exports=java.base/sun.net=ALL-UNNAMED \
--add-exports=java.base/sun.nio.ch=ALL-UNNAMED \
--add-exports=java.base/sun.reflect.annotation=ALL-UNNAMED \
--add-exports=java.base/sun.reflect.generics.reflectiveObjects=ALL-UNNAMED \
--add-exports=java.base/sun.reflect.generics.repository=ALL-UNNAMED \
--add-exports=java.base/sun.reflect.generics.tree=ALL-UNNAMED \
--add-exports=java.base/sun.security.jca=ALL-UNNAMED \
--add-exports=java.base/sun.security.provider=ALL-UNNAMED \
--add-exports=java.base/sun.security.ssl=ALL-UNNAMED \
--add-exports=java.base/sun.security.util=ALL-UNNAMED \
--add-exports=java.base/sun.text.spi=ALL-UNNAMED \
--add-exports=java.base/sun.util.calendar=ALL-UNNAMED \
--add-exports=java.base/sun.util.locale.provider=ALL-UNNAMED \
--add-exports=java.base/sun.util.resources=ALL-UNNAMED \
--add-exports=java.management/sun.management=ALL-UNNAMED \
--add-exports=java.xml.crypto/org.jcp.xml.dsig.internal.dom=ALL-UNNAMED \
--add-exports=jdk.internal.vm.ci/jdk.vm.ci.aarch64=ALL-UNNAMED \
--add-exports=jdk.internal.vm.ci/jdk.vm.ci.amd64=ALL-UNNAMED \
--add-exports=jdk.internal.vm.ci/jdk.vm.ci.code.site=ALL-UNNAMED \
--add-exports=jdk.internal.vm.ci/jdk.vm.ci.code.stack=ALL-UNNAMED \
--add-exports=jdk.internal.vm.ci/jdk.vm.ci.code=ALL-UNNAMED \
--add-exports=jdk.internal.vm.ci/jdk.vm.ci.common=ALL-UNNAMED \
--add-exports=jdk.internal.vm.ci/jdk.vm.ci.hotspot.aarch64=ALL-UNNAMED \
--add-exports=jdk.internal.vm.ci/jdk.vm.ci.hotspot.amd64=ALL-UNNAMED \
--add-exports=jdk.internal.vm.ci/jdk.vm.ci.hotspot=ALL-UNNAMED \
--add-exports=jdk.internal.vm.ci/jdk.vm.ci.meta=ALL-UNNAMED \
--add-exports=jdk.internal.vm.ci/jdk.vm.ci.runtime=ALL-UNNAMED \
--add-exports=jdk.internal.vm.ci/jdk.vm.ci.services=ALL-UNNAMED \
--add-exports=jdk.jfr/jdk.jfr.events=ALL-UNNAMED \
--add-exports=jdk.jfr/jdk.jfr.internal.consumer=ALL-UNNAMED \
--add-exports=jdk.jfr/jdk.jfr.internal.handlers=ALL-UNNAMED \
--add-exports=jdk.jfr/jdk.jfr.internal.jfc=ALL-UNNAMED \
--add-exports=jdk.jfr/jdk.jfr.internal=ALL-UNNAMED \
-XX:+UseJVMCINativeLibrary \
-Xss10m \
-Xms1g \
-Xmx5000711368 \
-Djava.awt.headless=true \
-Dorg.graalvm.version=22.0.0.2 \
-Dorg.graalvm.config=CE \
-Dcom.oracle.graalvm.isaot=true \
-Djava.system.class.loader=com.oracle.svm.hosted.NativeImageSystemClassLoader \
-Xshare:off \
-Djdk.internal.lambda.disableEagerInitialization=true \
-Djdk.internal.lambda.eagerlyInitialize=false \
-Djava.lang.invoke.InnerClassLambdaMetafactory.initializeLambdas=false \
-javaagent:/usr/lib/jvm/graalvm-ce-java17-22.0.0.2/lib/svm/builder/svm.jar \
-cp \
/usr/lib/jvm/graalvm-ce-java17-22.0.0.2/lib/svm/builder/objectfile.jar:/usr/lib/jvm/graalvm-ce-java17-22.0.0.2/lib/svm/builder/llvm-wrapper-shadowed.jar:/usr/lib/jvm/graalvm-ce-java17-22.0.0.2/lib/svm/builder/pointsto.jar:/usr/lib/jvm/graalvm-ce-java17-22.0.0.2/lib/svm/builder/svm-llvm.jar:/usr/lib/jvm/graalvm-ce-java17-22.0.0.2/lib/svm/builder/llvm-platform-specific-shadowed.jar:/usr/lib/jvm/graalvm-ce-java17-22.0.0.2/lib/svm/builder/svm.jar:/usr/lib/jvm/graalvm-ce-java17-22.0.0.2/lib/svm/builder/javacpp-shadowed.jar:/usr/lib/jvm/graalvm-ce-java17-22.0.0.2/lib/svm/builder/native-image-base.jar \
--module-path \
/usr/lib/jvm/graalvm-ce-java17-22.0.0.2/lib/truffle/truffle-api.jar \
'com.oracle.svm.hosted.NativeImageGeneratorRunner$JDK9Plus' \
-watchpid \
7672 \
-imagecp \
/home/insinfo/src/java_native/app/build/libs/nativebuild-classpath.jar:/usr/lib/jvm/graalvm-ce-java17-22.0.0.2/lib/svm/library-support.jar \
-H:Path=/home/insinfo/src/java_native/app/build/native/nativeBuild \
-H:FallbackThreshold=0 \
-H:Path=/home/insinfo/src/java_native/app/build/native/nativeBuild \
-H:Name=Example \
-H:ConfigurationFileDirectories=/home/insinfo/src/java_native/app/build/native/generated/generateResourcesConfigFile \
-H:+AllowIncompleteClasspath \
-H:Class=demo.Example \
-H:+DumpTargetInfo \
-H:+ReportUnsupportedElementsAtRuntime \
-H:+AllowIncompleteClasspath \
-H:CLibraryPath=/usr/lib/jvm/graalvm-ce-java17-22.0.0.2/lib/svm/clibraries/linux-amd64
]
========================================================================================================================
GraalVM Native Image: Generating 'Example'...
========================================================================================================================
[1/7] Initializing...                                                                                    (6,8s @ 0,09GB)
 Version info: 'GraalVM 22.0.0.2 Java 17 CE'
# Printing compilation-target information to: /home/insinfo/src/java_native/app/build/native/nativeBuild/reports/target_info_20220412_140209.txt
[2/7] Performing analysis...  [*******]                                                                 (54,4s @ 1,53GB)
# Printing native-library information to: /home/insinfo/src/java_native/app/build/native/nativeBuild/reports/native_library_info_20220412_140304.txt
   5.559 (91,22%) of  6.094 classes reachable
   9.594 (70,06%) of 13.693 fields reachable
  26.142 (81,03%) of 32.261 methods reachable
     301 classes,    93 fields, and   704 methods registered for reflection
      59 classes,    59 fields, and    54 methods registered for JNI access
[3/7] Building universe...                                                                               (4,1s @ 0,81GB)
[4/7] Parsing methods...      [**]                                                                       (3,4s @ 1,33GB)
[5/7] Inlining methods...     [****]                                                                     (5,0s @ 2,11GB)
[6/7] Compiling methods...    [******]                                                                  (43,4s @ 0,60GB)
[7/7] Creating image...                                                                                  (3,0s @ 1,22GB)
  12,01MB (45,87%) for code area:   15.779 compilation units
  11,89MB (45,44%) for image heap:   3.830 classes and 160.586 objects
   2,28MB ( 8,69%) for other data
  26,18MB in total
------------------------------------------------------------------------------------------------------------------------
Top 10 packages in code area:                               Top 10 object types in image heap:
 792,08KB java.util                                            3,79MB byte[] for general heap data
 600,72KB org.apache.fontbox.cff                               1,34MB java.lang.String
 566,59KB org.apache.pdfbox.pdmodel.font.encoding              1,23MB java.lang.Class
 465,63KB com.sun.crypto.provider                            913,93KB byte[] for java.lang.String
 378,95KB java.lang.invoke                                   476,53KB java.util.HashMap$Node
 359,25KB java.lang                                          276,05KB java.util.concurrent.ConcurrentHashMap$Node
 355,30KB com.oracle.svm.core.reflect                        275,81KB java.util.LinkedHashMap
 323,67KB com.sun.imageio.plugins.tiff                       275,48KB java.lang.String[]
 288,55KB java.text                                          275,33KB java.util.HashMap$Node[]
 277,19KB java.awt.image                                     211,80KB char[]
      ... 215 additional packages                                 ... 1032 additional object types
                                           (use GraalVM Dashboard to see all)
------------------------------------------------------------------------------------------------------------------------
                        8,8s (7,2% of total time) in 33 GCs | Peak RSS: 2,99GB | CPU load: 1,93
------------------------------------------------------------------------------------------------------------------------
Produced artifacts:
 /home/insinfo/src/java_native/app/build/native/nativeBuild/Example (executable)
 /home/insinfo/src/java_native/app/build/native/nativeBuild/Example.build_artifacts.txt
========================================================================================================================
Finished generating 'Example' in 2m 3s.
[native-image-plugin] Native Image written to: /home/insinfo/src/java_native/app/build/native/nativeBuild

BUILD SUCCESSFUL in 2m 7s
5 actionable tasks: 5 executed
insinfo@ubuntu:~/src/java_native$ ^C
insinfo@ubuntu:~/src/java_native$ /home/insinfo/src/java_native/app/build/native/nativeBuild/Example
Exception in thread "main" java.lang.ExceptionInInitializerError
        at demo.Example.main(Example.java:14)
Caused by: org.apache.commons.logging.LogConfigurationException: java.lang.ClassNotFoundException: org.apache.commons.logging.impl.LogFactoryImpl (Caused by java.lang.ClassNotFoundException: org.apache.commons.logging.impl.LogFactoryImpl)
        at org.apache.commons.logging.LogFactory.createFactory(LogFactory.java:1158)
        at org.apache.commons.logging.LogFactory$2.run(LogFactory.java:960)
        at java.security.AccessController.doPrivileged(AccessController.java:89)
        at org.apache.commons.logging.LogFactory.newFactory(LogFactory.java:957)
        at org.apache.commons.logging.LogFactory.getFactory(LogFactory.java:624)
        at org.apache.commons.logging.LogFactory.getLog(LogFactory.java:655)
        at org.apache.pdfbox.pdmodel.PDDocument.<clinit>(PDDocument.java:98)
        ... 1 more
Caused by: java.lang.ClassNotFoundException: org.apache.commons.logging.impl.LogFactoryImpl
        at jdk.internal.loader.BuiltinClassLoader.loadClass(BuiltinClassLoader.java:54)
        at jdk.internal.loader.ClassLoaders$AppClassLoader.loadClass(ClassLoaders.java:188)
        at java.lang.ClassLoader.loadClass(ClassLoader.java:141)
        at org.apache.commons.logging.LogFactory.createFactory(LogFactory.java:1020)
        ... 7 more
insinfo@ubuntu:~/src/java_native$ cd /home/insinfo/src/java_native/app/build/native/nativeBuild/
insinfo@ubuntu:~/src/java_native/app/build/native/nativeBuild$ ls
Example  Example.build_artifacts.txt  reports
insinfo@ubuntu:~/src/java_native/app/build/native/nativeBuild$ ./Example 
Exception in thread "main" java.lang.ExceptionInInitializerError
        at demo.Example.main(Example.java:14)
Caused by: org.apache.commons.logging.LogConfigurationException: java.lang.ClassNotFoundException: org.apache.commons.logging.impl.LogFactoryImpl (Caused by java.lang.ClassNotFoundException: org.apache.commons.logging.impl.LogFactoryImpl)
        at org.apache.commons.logging.LogFactory.createFactory(LogFactory.java:1158)
        at org.apache.commons.logging.LogFactory$2.run(LogFactory.java:960)
        at java.security.AccessController.doPrivileged(AccessController.java:89)
        at org.apache.commons.logging.LogFactory.newFactory(LogFactory.java:957)
        at org.apache.commons.logging.LogFactory.getFactory(LogFactory.java:624)
        at org.apache.commons.logging.LogFactory.getLog(LogFactory.java:655)
        at org.apache.pdfbox.pdmodel.PDDocument.<clinit>(PDDocument.java:98)
        ... 1 more
Caused by: java.lang.ClassNotFoundException: org.apache.commons.logging.impl.LogFactoryImpl
        at jdk.internal.loader.BuiltinClassLoader.loadClass(BuiltinClassLoader.java:54)
        at jdk.internal.loader.ClassLoaders$AppClassLoader.loadClass(ClassLoaders.java:188)
        at java.lang.ClassLoader.loadClass(ClassLoader.java:141)
        at org.apache.commons.logging.LogFactory.createFactory(LogFactory.java:1020)
        ... 7 more

windows log

[7/7] Creating image...
Fatal error: com.oracle.svm.core.util.VMError$HostedError: should not reach here
        at com.oracle.svm.core.util.VMError.shouldNotReachHere(VMError.java:64)
        at com.oracle.svm.hosted.jdk.JNIRegistrationSupport.makeShimDLL(JNIRegistrationSupport.java:256)
------------------------------------------------------------------------------------------------------------------------
        at com.oracle.svm.hosted.jdk.JNIRegistrationSupport.makeShimDLLs(JNIRegistrationSupport.java:230)
        at com.oracle.svm.hosted.jdk.JNIRegistrationSupport.afterImageWrite(JNIRegistrationSupport.java:175)
        at com.oracle.svm.hosted.NativeImageGenerator.lambda$doRun$8(NativeImageGenerator.java:680)
        at com.oracle.svm.hosted.FeatureHandler.forEachFeature(FeatureHandler.java:74)
        at com.oracle.svm.hosted.NativeImageGenerator.doRun(NativeImageGenerator.java:680)
        at com.oracle.svm.hosted.NativeImageGenerator.run(NativeImageGenerator.java:494)
        at com.oracle.svm.hosted.NativeImageGeneratorRunner.buildImage(NativeImageGeneratorRunner.java:426)
        at com.oracle.svm.hosted.NativeImageGeneratorRunner.build(NativeImageGeneratorRunner.java:587)
        at com.oracle.svm.hosted.NativeImageGeneratorRunner.main(NativeImageGeneratorRunner.java:126)
        at com.oracle.svm.hosted.NativeImageGeneratorRunner$JDK9Plus.main(NativeImageGeneratorRunner.java:617)
                        4,8s (7,0% of total time) in 23 GCs | Peak RSS: 5,21GB | CPU load: 3,35
------------------------------------------------------------------------------------------------------------------------
Produced artifacts:
 C:\MyJavaProjects\java_native\app\build\native\nativeBuild\Example.exe (executable)
 C:\MyJavaProjects\java_native\app\build\native\nativeBuild\awt.dll (jdk_lib)
 C:\MyJavaProjects\java_native\app\build\native\nativeBuild\javajpeg.dll (jdk_lib)
 C:\MyJavaProjects\java_native\app\build\native\nativeBuild\lcms.dll (jdk_lib)
 C:\MyJavaProjects\java_native\app\build\native\nativeBuild\Example.build_artifacts.txt
========================================================================================================================
Failed generating 'Example' after 1m 7s.
Error: Image build request failed with exit status 1
com.oracle.svm.driver.NativeImage$NativeImageError: Image build request failed with exit status 1
        at com.oracle.svm.driver.NativeImage.showError(NativeImage.java:1770)
        at com.oracle.svm.driver.NativeImage.build(NativeImage.java:1477)
        at com.oracle.svm.driver.NativeImage.performBuild(NativeImage.java:1438)
        at com.oracle.svm.driver.NativeImage.main(NativeImage.java:1425)

> Task :app:nativeBuild FAILED

FAILURE: Build failed with an exception.

* What went wrong:
Execution failed for task ':app:nativeBuild'.
> Process 'command 'C:\src\graalvm-ce-java17-22.0.0.2\bin\native-image.cmd'' finished with non-zero exit value 1

* 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 1m 10s
5 actionable tasks: 1 executed, 4 up-to-date

C:\MyJavaProjects\java_native>C:\MyJavaProjects\java_native\app\build\native\nativeBuild\Example.exe
Exception in thread "main" java.lang.ExceptionInInitializerError
        at demo.Example.main(Example.java:14)
Caused by: org.apache.commons.logging.LogConfigurationException: java.lang.ClassNotFoundException: org.apache.commons.logging.impl.LogFactoryImpl (Caused by java.lang.ClassNotFoundException: org.apache.commons.logging.impl.LogFactoryImpl)
        at org.apache.commons.logging.LogFactory.createFactory(LogFactory.java:1158)
        at org.apache.commons.logging.LogFactory$2.run(LogFactory.java:960)
        at java.security.AccessController.doPrivileged(AccessController.java:89)
        at org.apache.commons.logging.LogFactory.newFactory(LogFactory.java:957)
        at org.apache.commons.logging.LogFactory.getFactory(LogFactory.java:624)
        at org.apache.commons.logging.LogFactory.getLog(LogFactory.java:655)
        at org.apache.pdfbox.pdmodel.PDDocument.<clinit>(PDDocument.java:98)
        ... 1 more
Caused by: java.lang.ClassNotFoundException: org.apache.commons.logging.impl.LogFactoryImpl
        at jdk.internal.loader.BuiltinClassLoader.loadClass(BuiltinClassLoader.java:54)
        at jdk.internal.loader.ClassLoaders$AppClassLoader.loadClass(ClassLoaders.java:188)
        at java.lang.ClassLoader.loadClass(ClassLoader.java:141)
        at org.apache.commons.logging.LogFactory.createFactory(LogFactory.java:1020)
        ... 7 more

C:\MyJavaProjects\java_native>
chirontt commented 2 years ago

@insinfo The should not reach here problem in Windows is specific to the JDK17 version of GraalVM, and is already described in issue #4072. There is a workaround described in that issue thread, but the easiest way for you is to use the JDK11 version of GraalVM, instead of the JDK17 version, in Windows.

The ClassNotFoundException: org.apache.commons.logging.impl.LogFactoryImpl problem when running the resultant native executable, in both Windows (when successfully built) and Linux, is caused by the native-image agent: during the build it sometimes misses a lot of classes in the resultant native image, hence the ClassNotFoundException at runtime, especially about AWT classes. To fix this problem you shouldn't rely on the agent in your nativeBuild configuration, but should explicitly generate the native-image config files yourself, to be used during the build. Here are some general steps for your build.gradle:

Then generate the native image with the nativeBuild task: gradlew nativeBuild

The resultant native image may still fail at runtime, but that's for another time, as this comment is already too long :)

insinfo commented 2 years ago

I followed what was suggested by @kkriske , and added the buildArgs -H:NativeLinkerOption ... and it now compiles correctly I also followed @chirontt's suggestion to add configFiles = 'build/cfg-files'

from what I could understand so there are two bugs, one is about compilation failure due to exports and another one that occurs at runtime because of failures of the native-image tool that generates the image without certain classes, when a version will be released correcting these bugs?

before adding build Args -H:NativeLinkerOption

>#
># /out:C:\MyJavaProjects\java_native\app\build\native\nativeBuild\java.dll
># /dll
># /implib:java.lib
># /export:JDK_LoadSystemLibrary
># /export:JNU_CallMethodByName
># /export:JNU_CallMethodByNameV
># /export:JNU_CallStaticMethodByName
># /export:JNU_ClassString
># /export:JNU_GetEnv
># /export:JNU_GetFieldByName
># /export:JNU_GetStaticFieldByName
># /export:JNU_IsInstanceOfByName
># /export:JNU_NewObjectByName
># /export:JNU_NewStringPlatform
># /export:JNU_SetFieldByName
># /export:JNU_ThrowArrayIndexOutOfBoundsException
># /export:JNU_ThrowByName
># /export:JNU_ThrowIOException
># /export:JNU_ThrowIllegalArgumentException
># /export:JNU_ThrowInternalError
># /export:JNU_ThrowNullPointerException
># /export:JNU_ThrowOutOfMemoryError
># /export:getEncodingFromLangID
># /export:getJavaIDFromLangID
># /export:jio_snprintf
># C:\Users\isaque\AppData\Local\Temp\SVM-8435043556714420064\Example.lib
># msvcrt.lib
># LINK : warning LNK4001: nenhum arquivo de objeto especificado; bibliotecas usadas
># LINK : warning LNK4068: /MACHINE não especificada; padronizando para X64
># LINK : error LNK2001: símbolo externo não resolvido JDK_LoadSystemLibrary
># LINK : error LNK2001: símbolo externo não resolvido JNU_CallMethodByName
># LINK : error LNK2001: símbolo externo não resolvido JNU_CallMethodByNameV
># LINK : error LNK2001: símbolo externo não resolvido JNU_CallStaticMethodByName
># LINK : error LNK2001: símbolo externo não resolvido JNU_ClassString
># LINK : error LNK2001: símbolo externo não resolvido JNU_GetEnv
># LINK : error LNK2001: símbolo externo não resolvido JNU_GetFieldByName
># LINK : error LNK2001: símbolo externo não resolvido JNU_GetStaticFieldByName
># LINK : error LNK2001: símbolo externo não resolvido JNU_IsInstanceOfByName
># LINK : error LNK2001: símbolo externo não resolvido JNU_NewObjectByName
># LINK : error LNK2001: símbolo externo não resolvido JNU_NewStringPlatform
># LINK : error LNK2001: símbolo externo não resolvido JNU_SetFieldByName
># LINK : error LNK2001: símbolo externo não resolvido JNU_ThrowArrayIndexOutOfBoundsException
># LINK : error LNK2001: símbolo externo não resolvido JNU_ThrowByName
># LINK : error LNK2001: símbolo externo não resolvido JNU_ThrowIOException
># LINK : error LNK2001: símbolo externo não resolvido JNU_ThrowIllegalArgumentException
># LINK : error LNK2001: símbolo externo não resolvido JNU_ThrowInternalError
># LINK : error LNK2001: símbolo externo não resolvido JNU_ThrowNullPointerException
># LINK : error LNK2001: símbolo externo não resolvido JNU_ThrowOutOfMemoryError
># java.lib : fatal error LNK1120: 19 externo não resolvidos
------------------------------------------------------------------------------------------------------------------------
                        5,6s (6,5% of total time) in 28 GCs | Peak RSS: 5,77GB | CPU load: 3,31
------------------------------------------------------------------------------------------------------------------------
Produced artifacts:
 C:\MyJavaProjects\java_native\app\build\native\nativeBuild\Example.exe (executable)
 C:\MyJavaProjects\java_native\app\build\native\nativeBuild\awt.dll (jdk_lib)
 C:\MyJavaProjects\java_native\app\build\native\nativeBuild\fontmanager.dll (jdk_lib)
 C:\MyJavaProjects\java_native\app\build\native\nativeBuild\freetype.dll (jdk_lib)
 C:\MyJavaProjects\java_native\app\build\native\nativeBuild\javaaccessbridge.dll (jdk_lib)
 C:\MyJavaProjects\java_native\app\build\native\nativeBuild\javajpeg.dll (jdk_lib)
 C:\MyJavaProjects\java_native\app\build\native\nativeBuild\jawt.dll (jdk_lib)
 C:\MyJavaProjects\java_native\app\build\native\nativeBuild\lcms.dll (jdk_lib)
Fatal error: com.oracle.svm.core.util.VMError$HostedError: should not reach here
        at com.oracle.svm.core.util.VMError.shouldNotReachHere(VMError.java:64)
        at com.oracle.svm.hosted.jdk.JNIRegistrationSupport.makeShimDLL(JNIRegistrationSupport.java:256)
        at com.oracle.svm.hosted.jdk.JNIRegistrationSupport.makeShimDLLs(JNIRegistrationSupport.java:230)
        at com.oracle.svm.hosted.jdk.JNIRegistrationSupport.afterImageWrite(JNIRegistrationSupport.java:175)
        at com.oracle.svm.hosted.NativeImageGenerator.lambda$doRun$8(NativeImageGenerator.java:680)
        at com.oracle.svm.hosted.FeatureHandler.forEachFeature(FeatureHandler.java:74)
        at com.oracle.svm.hosted.NativeImageGenerator.doRun(NativeImageGenerator.java:680)
        at com.oracle.svm.hosted.NativeImageGenerator.run(NativeImageGenerator.java:494)
        at com.oracle.svm.hosted.NativeImageGeneratorRunner.buildImage(NativeImageGeneratorRunner.java:426)
        at com.oracle.svm.hosted.NativeImageGeneratorRunner.build(NativeImageGeneratorRunner.java:587)
        at com.oracle.svm.hosted.NativeImageGeneratorRunner.main(NativeImageGeneratorRunner.java:126)
        at com.oracle.svm.hosted.NativeImageGeneratorRunner$JDK9Plus.main(NativeImageGeneratorRunner.java:617)
 C:\MyJavaProjects\java_native\app\build\native\nativeBuild\Example.build_artifacts.txt
========================================================================================================================
Execution failed for task ':app:nativeBuild'.

after adding build Args -H:NativeLinkerOption

C:\MyJavaProjects\java_native>gradle nativeBuild

> Task :app:nativeBuild
[native-image-plugin] Args are: [-cp, C:\MyJavaProjects\java_native\app\build\libs\app.jar;C:\Users\isaque\.gradle\caches\modules-2\files-2.1\org.graalvm.buildtools\junit-platform-native\0.9.4\cd31b9ad07b34490c6c0bb7eb1fe63850ab46be5\junit-platform-native-0.9.4.jar;C:\Users\isaque\.gradle\caches\modules-2\files-2.1\org.apache.pdfbox\pdfbox\3.0.0-RC1\37aaf7c1b1f34bb627eb7be45a8a8efc3363c45c\pdfbox-3.0.0-RC1.jar;C:\Users\isaque\.gradle\caches\modules-2\files-2.1\com.hierynomus\sshj\0.32.0\6ad11126d4cdc86f47027f445a11233d0910c201\sshj-0.32.0.jar;C:\Users\isaque\.gradle\caches\modules-2\files-2.1\org.junit.platform\junit-platform-console\1.7.2\f98888d66074f6c060054675ab8366885f077143\junit-platform-console-1.7.2.jar;C:\Users\isaque\.gradle\caches\modules-2\files-2.1\org.junit.platform\junit-platform-reporting\1.7.2\8c6521bce2744fbce1c12a2088e05e754911213\junit-platform-reporting-1.7.2.jar;C:\Users\isaque\.gradle\caches\modules-2\files-2.1\org.junit.platform\junit-platform-launcher\1.7.2\9bcb72e95d291c9ff45c3f8c0a054abc764b4205\junit-platform-launcher-1.7.2.jar;C:\Users\isaque\.gradle\caches\modules-2\files-2.1\org.junit.jupiter\junit-jupiter\5.7.2\62faa742964a9d8dab8fdb4a0eab7b01441c171f\junit-jupiter-5.7.2.jar;C:\Users\isaque\.gradle\caches\modules-2\files-2.1\org.junit.jupiter\junit-jupiter-engine\5.7.2\9415680a889f00b8205a094c5c487bc69dc7077d\junit-jupiter-engine-5.7.2.jar;C:\Users\isaque\.gradle\caches\modules-2\files-2.1\org.junit.platform\junit-platform-engine\1.7.2\2573770b46b8a199ed5f6b0f96fb99e468bfe891\junit-platform-engine-1.7.2.jar;C:\Users\isaque\.gradle\caches\modules-2\files-2.1\org.junit.jupiter\junit-jupiter-params\5.7.2\685f832f8c54dd40100f646d61aca88ed9545421\junit-jupiter-params-5.7.2.jar;C:\Users\isaque\.gradle\caches\modules-2\files-2.1\org.junit.jupiter\junit-jupiter-api\5.7.2\f4b4079732a9c537983324cfa4e46655f21d2c56\junit-jupiter-api-5.7.2.jar;C:\Users\isaque\.gradle\caches\modules-2\files-2.1\org.junit.platform\junit-platform-commons\1.7.2\34adfea6c13fc4a996cf38cdad80800ce850d198\junit-platform-commons-1.7.2.jar;C:\Users\isaque\.gradle\caches\modules-2\files-2.1\org.apache.pdfbox\fontbox\3.0.0-RC1\1cbfa55db29671dadcf837817eb9920ed4a83cf4\fontbox-3.0.0-RC1.jar;C:\Users\isaque\.gradle\caches\modules-2\files-2.1\commons-logging\commons-logging\1.2\4bfc12adfe4842bf07b657f0369c4cb522955686\commons-logging-1.2.jar;C:\Users\isaque\.gradle\caches\modules-2\files-2.1\com.hierynomus\asn-one\0.6.0\7f6141541e0a4d3ae0b02c901c2c1e9a772eb3d7\asn-one-0.6.0.jar;C:\Users\isaque\.gradle\caches\modules-2\files-2.1\org.slf4j\slf4j-api\1.7.32\cdcff33940d9f2de763bc41ea05a0be5941176c3\slf4j-api-1.7.32.jar;C:\Users\isaque\.gradle\caches\modules-2\files-2.1\org.bouncycastle\bcpkix-jdk15on\1.69\45c36fb72fafb0b688c6af795e6cc803f6f79ee5\bcpkix-jdk15on-1.69.jar;C:\Users\isaque\.gradle\caches\modules-2\files-2.1\org.bouncycastle\bcutil-jdk15on\1.69\c3edf93d346e97f64f041e448e7455c39c7eff64\bcutil-jdk15on-1.69.jar;C:\Users\isaque\.gradle\caches\modules-2\files-2.1\org.bouncycastle\bcprov-jdk15on\1.69\91e1628251cf3ca90093ce9d0fe67e5b7dab3850\bcprov-jdk15on-1.69.jar;C:\Users\isaque\.gradle\caches\modules-2\files-2.1\com.jcraft\jzlib\1.1.3\c01428efa717624f7aabf4df319939dda9646b2d\jzlib-1.1.3.jar;C:\Users\isaque\.gradle\caches\modules-2\files-2.1\net.i2p.crypto\eddsa\0.3.0\1901c8d4d8bffb7d79027686cfb91e704217c3e1\eddsa-0.3.0.jar;C:\Users\isaque\.gradle\caches\modules-2\files-2.1\org.apiguardian\apiguardian-api\1.1.0\fc9dff4bb36d627bdc553de77e1f17efd790876c\apiguardian-api-1.1.0.jar;C:\Users\isaque\.gradle\caches\modules-2\files-2.1\org.opentest4j\opentest4j\1.2.0\28c11eb91f9b6d8e200631d46e20a7f407f2a046\opentest4j-1.2.0.jar, --no-fallback, --verbose, -H:Path=C:\MyJavaProjects\java_native\app\build\native\nativeBuild, -H:Name=Example, -H:ConfigurationFileDirectories=C:\MyJavaProjects\java_native\app\build\native\generated\generateResourcesConfigFile, -H:Class=demo.Example, --native-image-info, --verbose, --report-unsupported-elements-at-runtime, --enable-url-protocols=https, -H:ConfigurationFileDirectories=C:\MyJavaProjects\java_native\app\build\cfg-files, -H:+TraceNativeToolUsage, -H:NativeLinkerOption=/export:JDK_LoadSystemLibrary, -H:NativeLinkerOption=/export:JNU_CallMethodByName, -H:NativeLinkerOption=/export:JNU_CallMethodByNameV, -H:NativeLinkerOption=/export:JNU_CallStaticMethodByName, -H:NativeLinkerOption=/export:JNU_ClassString, -H:NativeLinkerOption=/export:JNU_GetEnv, -H:NativeLinkerOption=/export:JNU_GetFieldByName, -H:NativeLinkerOption=/export:JNU_GetStaticFieldByName, -H:NativeLinkerOption=/export:JNU_IsInstanceOfByName, -H:NativeLinkerOption=/export:JNU_NewObjectByName, -H:NativeLinkerOption=/export:JNU_NewStringPlatform, -H:NativeLinkerOption=/export:JNU_SetFieldByName, -H:NativeLinkerOption=/export:JNU_ThrowArrayIndexOutOfBoundsException, -H:NativeLinkerOption=/export:JNU_ThrowByName, -H:NativeLinkerOption=/export:JNU_ThrowIOException, -H:NativeLinkerOption=/export:JNU_ThrowIllegalArgumentException, -H:NativeLinkerOption=/export:JNU_ThrowInternalError, -H:NativeLinkerOption=/export:JNU_ThrowNullPointerException, -H:NativeLinkerOption=/export:JNU_ThrowOutOfMemoryError, --allow-incomplete-classpath]
Executing [
'C:\src\graalvm-ce-java17-22.0.0.2\bin\java.exe' \
-XX:+UseParallelGC \
-XX:+UnlockExperimentalVMOptions \
-XX:+EnableJVMCI \
-Dtruffle.TrustAllTruffleRuntimeProviders=true \
-Dtruffle.TruffleRuntime=com.oracle.truffle.api.impl.DefaultTruffleRuntime \
-Dgraalvm.ForcePolyglotInvalid=true \
-Dgraalvm.locatorDisabled=true \
-Dsubstratevm.IgnoreGraalVersionCheck=true \
--add-exports=java.base/com.sun.crypto.provider=ALL-UNNAMED \
--add-exports=java.base/jdk.internal.access.foreign=ALL-UNNAMED \
--add-exports=java.base/jdk.internal.event=ALL-UNNAMED \
--add-exports=java.base/jdk.internal.loader=ALL-UNNAMED \
--add-exports=java.base/jdk.internal.logger=ALL-UNNAMED \
--add-exports=java.base/jdk.internal.misc=ALL-UNNAMED \
--add-exports=java.base/jdk.internal.module=ALL-UNNAMED \
--add-exports=java.base/jdk.internal.org.objectweb.asm=ALL-UNNAMED \
--add-exports=java.base/jdk.internal.org.xml.sax.helpers=ALL-UNNAMED \
--add-exports=java.base/jdk.internal.perf=ALL-UNNAMED \
--add-exports=java.base/jdk.internal.platform=ALL-UNNAMED \
--add-exports=java.base/jdk.internal.ref=ALL-UNNAMED \
--add-exports=java.base/jdk.internal.reflect=ALL-UNNAMED \
--add-exports=java.base/jdk.internal.util.xml.impl=ALL-UNNAMED \
--add-exports=java.base/jdk.internal.util.xml=ALL-UNNAMED \
--add-exports=java.base/sun.invoke.util=ALL-UNNAMED \
--add-exports=java.base/sun.net=ALL-UNNAMED \
--add-exports=java.base/sun.nio.ch=ALL-UNNAMED \
--add-exports=java.base/sun.reflect.annotation=ALL-UNNAMED \
--add-exports=java.base/sun.reflect.generics.reflectiveObjects=ALL-UNNAMED \
--add-exports=java.base/sun.reflect.generics.repository=ALL-UNNAMED \
--add-exports=java.base/sun.reflect.generics.tree=ALL-UNNAMED \
--add-exports=java.base/sun.security.jca=ALL-UNNAMED \
--add-exports=java.base/sun.security.provider=ALL-UNNAMED \
--add-exports=java.base/sun.security.ssl=ALL-UNNAMED \
--add-exports=java.base/sun.security.util=ALL-UNNAMED \
--add-exports=java.base/sun.text.spi=ALL-UNNAMED \
--add-exports=java.base/sun.util.calendar=ALL-UNNAMED \
--add-exports=java.base/sun.util.locale.provider=ALL-UNNAMED \
--add-exports=java.base/sun.util.resources=ALL-UNNAMED \
--add-exports=java.management/sun.management=ALL-UNNAMED \
--add-exports=java.xml.crypto/org.jcp.xml.dsig.internal.dom=ALL-UNNAMED \
--add-exports=jdk.internal.vm.ci/jdk.vm.ci.aarch64=ALL-UNNAMED \
--add-exports=jdk.internal.vm.ci/jdk.vm.ci.amd64=ALL-UNNAMED \
--add-exports=jdk.internal.vm.ci/jdk.vm.ci.code.site=ALL-UNNAMED \
--add-exports=jdk.internal.vm.ci/jdk.vm.ci.code.stack=ALL-UNNAMED \
--add-exports=jdk.internal.vm.ci/jdk.vm.ci.code=ALL-UNNAMED \
--add-exports=jdk.internal.vm.ci/jdk.vm.ci.common=ALL-UNNAMED \
--add-exports=jdk.internal.vm.ci/jdk.vm.ci.hotspot.aarch64=ALL-UNNAMED \
--add-exports=jdk.internal.vm.ci/jdk.vm.ci.hotspot.amd64=ALL-UNNAMED \
--add-exports=jdk.internal.vm.ci/jdk.vm.ci.hotspot=ALL-UNNAMED \
--add-exports=jdk.internal.vm.ci/jdk.vm.ci.meta=ALL-UNNAMED \
--add-exports=jdk.internal.vm.ci/jdk.vm.ci.runtime=ALL-UNNAMED \
--add-exports=jdk.internal.vm.ci/jdk.vm.ci.services=ALL-UNNAMED \
--add-exports=jdk.jfr/jdk.jfr.events=ALL-UNNAMED \
--add-exports=jdk.jfr/jdk.jfr.internal.consumer=ALL-UNNAMED \
--add-exports=jdk.jfr/jdk.jfr.internal.handlers=ALL-UNNAMED \
--add-exports=jdk.jfr/jdk.jfr.internal.jfc=ALL-UNNAMED \
--add-exports=jdk.jfr/jdk.jfr.internal=ALL-UNNAMED \
-XX:+UseJVMCINativeLibrary \
-Xss10m \
-Xms1g \
-Xmx13644028312 \
-Djava.awt.headless=true \
-Dorg.graalvm.version=22.0.0.2 \
-Dorg.graalvm.config=CE \
-Dcom.oracle.graalvm.isaot=true \
-Djava.system.class.loader=com.oracle.svm.hosted.NativeImageSystemClassLoader \
-Xshare:off \
-Djdk.internal.lambda.disableEagerInitialization=true \
-Djdk.internal.lambda.eagerlyInitialize=false \
-Djava.lang.invoke.InnerClassLambdaMetafactory.initializeLambdas=false \
'-javaagent:C:\src\graalvm-ce-java17-22.0.0.2\lib\svm\builder\svm.jar' \
-cp \
'C:\src\graalvm-ce-java17-22.0.0.2\lib\svm\builder\native-image-base.jar;C:\src\graalvm-ce-java17-22.0.0.2\lib\svm\builder\objectfile.jar;C:\src\graalvm-ce-java17-22.0.0.2\lib\svm\builder\pointsto.jar;C:\src\graalvm-ce-java17-22.0.0.2\lib\svm\builder\svm.jar' \
--module-path \
'C:\src\graalvm-ce-java17-22.0.0.2\lib\truffle\truffle-api.jar' \
'com.oracle.svm.hosted.NativeImageGeneratorRunner$JDK9Plus' \
-imagecp \
'C:\MyJavaProjects\java_native\app\build\libs\app.jar;C:\Users\isaque\.gradle\caches\modules-2\files-2.1\org.graalvm.buildtools\junit-platform-native\0.9.4\cd31b9ad07b34490c6c0bb7eb1fe63850ab46be5\junit-platform-native-0.9.4.jar;C:\Users\isaque\.gradle\caches\modules-2\files-2.1\org.apache.pdfbox\pdfbox\3.0.0-RC1\37aaf7c1b1f34bb627eb7be45a8a8efc3363c45c\pdfbox-3.0.0-RC1.jar;C:\Users\isaque\.gradle\caches\modules-2\files-2.1\com.hierynomus\sshj\0.32.0\6ad11126d4cdc86f47027f445a11233d0910c201\sshj-0.32.0.jar;C:\Users\isaque\.gradle\caches\modules-2\files-2.1\org.junit.platform\junit-platform-console\1.7.2\f98888d66074f6c060054675ab8366885f077143\junit-platform-console-1.7.2.jar;C:\Users\isaque\.gradle\caches\modules-2\files-2.1\org.junit.platform\junit-platform-reporting\1.7.2\8c6521bce2744fbce1c12a2088e05e754911213\junit-platform-reporting-1.7.2.jar;C:\Users\isaque\.gradle\caches\modules-2\files-2.1\org.junit.platform\junit-platform-launcher\1.7.2\9bcb72e95d291c9ff45c3f8c0a054abc764b4205\junit-platform-launcher-1.7.2.jar;C:\Users\isaque\.gradle\caches\modules-2\files-2.1\org.junit.jupiter\junit-jupiter\5.7.2\62faa742964a9d8dab8fdb4a0eab7b01441c171f\junit-jupiter-5.7.2.jar;C:\Users\isaque\.gradle\caches\modules-2\files-2.1\org.junit.jupiter\junit-jupiter-engine\5.7.2\9415680a889f00b8205a094c5c487bc69dc7077d\junit-jupiter-engine-5.7.2.jar;C:\Users\isaque\.gradle\caches\modules-2\files-2.1\org.junit.platform\junit-platform-engine\1.7.2\2573770b46b8a199ed5f6b0f96fb99e468bfe891\junit-platform-engine-1.7.2.jar;C:\Users\isaque\.gradle\caches\modules-2\files-2.1\org.junit.jupiter\junit-jupiter-params\5.7.2\685f832f8c54dd40100f646d61aca88ed9545421\junit-jupiter-params-5.7.2.jar;C:\Users\isaque\.gradle\caches\modules-2\files-2.1\org.junit.jupiter\junit-jupiter-api\5.7.2\f4b4079732a9c537983324cfa4e46655f21d2c56\junit-jupiter-api-5.7.2.jar;C:\Users\isaque\.gradle\caches\modules-2\files-2.1\org.junit.platform\junit-platform-commons\1.7.2\34adfea6c13fc4a996cf38cdad80800ce850d198\junit-platform-commons-1.7.2.jar;C:\Users\isaque\.gradle\caches\modules-2\files-2.1\org.apache.pdfbox\fontbox\3.0.0-RC1\1cbfa55db29671dadcf837817eb9920ed4a83cf4\fontbox-3.0.0-RC1.jar;C:\Users\isaque\.gradle\caches\modules-2\files-2.1\commons-logging\commons-logging\1.2\4bfc12adfe4842bf07b657f0369c4cb522955686\commons-logging-1.2.jar;C:\Users\isaque\.gradle\caches\modules-2\files-2.1\com.hierynomus\asn-one\0.6.0\7f6141541e0a4d3ae0b02c901c2c1e9a772eb3d7\asn-one-0.6.0.jar;C:\Users\isaque\.gradle\caches\modules-2\files-2.1\org.slf4j\slf4j-api\1.7.32\cdcff33940d9f2de763bc41ea05a0be5941176c3\slf4j-api-1.7.32.jar;C:\Users\isaque\.gradle\caches\modules-2\files-2.1\org.bouncycastle\bcpkix-jdk15on\1.69\45c36fb72fafb0b688c6af795e6cc803f6f79ee5\bcpkix-jdk15on-1.69.jar;C:\Users\isaque\.gradle\caches\modules-2\files-2.1\org.bouncycastle\bcutil-jdk15on\1.69\c3edf93d346e97f64f041e448e7455c39c7eff64\bcutil-jdk15on-1.69.jar;C:\Users\isaque\.gradle\caches\modules-2\files-2.1\org.bouncycastle\bcprov-jdk15on\1.69\91e1628251cf3ca90093ce9d0fe67e5b7dab3850\bcprov-jdk15on-1.69.jar;C:\Users\isaque\.gradle\caches\modules-2\files-2.1\com.jcraft\jzlib\1.1.3\c01428efa717624f7aabf4df319939dda9646b2d\jzlib-1.1.3.jar;C:\Users\isaque\.gradle\caches\modules-2\files-2.1\net.i2p.crypto\eddsa\0.3.0\1901c8d4d8bffb7d79027686cfb91e704217c3e1\eddsa-0.3.0.jar;C:\Users\isaque\.gradle\caches\modules-2\files-2.1\org.apiguardian\apiguardian-api\1.1.0\fc9dff4bb36d627bdc553de77e1f17efd790876c\apiguardian-api-1.1.0.jar;C:\Users\isaque\.gradle\caches\modules-2\files-2.1\org.opentest4j\opentest4j\1.2.0\28c11eb91f9b6d8e200631d46e20a7f407f2a046\opentest4j-1.2.0.jar;C:\src\graalvm-ce-java17-22.0.0.2\lib\svm\library-support.jar' \
'-H:Path=C:\MyJavaProjects\java_native\app\build\native\nativeBuild' \
-H:FallbackThreshold=0 \
'-H:Path=C:\MyJavaProjects\java_native\app\build\native\nativeBuild' \
-H:Name=Example \
'-H:ConfigurationFileDirectories=C:\MyJavaProjects\java_native\app\build\native\generated\generateResourcesConfigFile' \
-H:Class=demo.Example \
-H:+DumpTargetInfo \
-H:+ReportUnsupportedElementsAtRuntime \
-H:EnableURLProtocols=https \
'-H:ConfigurationFileDirectories=C:\MyJavaProjects\java_native\app\build\cfg-files' \
-H:+TraceNativeToolUsage \
-H:NativeLinkerOption=/export:JDK_LoadSystemLibrary \
-H:NativeLinkerOption=/export:JNU_CallMethodByName \
-H:NativeLinkerOption=/export:JNU_CallMethodByNameV \
-H:NativeLinkerOption=/export:JNU_CallStaticMethodByName \
-H:NativeLinkerOption=/export:JNU_ClassString \
-H:NativeLinkerOption=/export:JNU_GetEnv \
-H:NativeLinkerOption=/export:JNU_GetFieldByName \
-H:NativeLinkerOption=/export:JNU_GetStaticFieldByName \
-H:NativeLinkerOption=/export:JNU_IsInstanceOfByName \
-H:NativeLinkerOption=/export:JNU_NewObjectByName \
-H:NativeLinkerOption=/export:JNU_NewStringPlatform \
-H:NativeLinkerOption=/export:JNU_SetFieldByName \
-H:NativeLinkerOption=/export:JNU_ThrowArrayIndexOutOfBoundsException \
-H:NativeLinkerOption=/export:JNU_ThrowByName \
-H:NativeLinkerOption=/export:JNU_ThrowIOException \
-H:NativeLinkerOption=/export:JNU_ThrowIllegalArgumentException \
-H:NativeLinkerOption=/export:JNU_ThrowInternalError \
-H:NativeLinkerOption=/export:JNU_ThrowNullPointerException \
-H:NativeLinkerOption=/export:JNU_ThrowOutOfMemoryError \
-H:+AllowIncompleteClasspath \
'-H:CLibraryPath=C:\src\graalvm-ce-java17-22.0.0.2\lib\svm\clibraries\windows-amd64'
]
========================================================================================================================
GraalVM Native Image: Generating 'Example'...
========================================================================================================================
[1/7] Initializing...                                                                                    (7,4s @ 0,14GB)
>> 'C:\Program Files (x86)\Microsoft Visual Studio\2019\Community\VC\Tools\MSVC\14.29.30133\bin\HostX64\x64\cl.exe'
># Microsoft (R) C/C++ Optimizing Compiler Versão 19.29.30133 para x64
># Copyright (C) Microsoft Corporation. Todos os direitos reservados.
>#
># uso: cl [ option... ] filename... [ /link linkoption... ]
>> 'C:\Program Files (x86)\Microsoft Visual Studio\2019\Community\VC\Tools\MSVC\14.29.30133\bin\HostX64\x64\cl.exe' /WX /W4 /wd4244 /wd4245 /wd4800 /wd4804 /wd4214 '/FeC:\Users\isaque\AppData\Local\Temp\SVM-1105905651073846907\BuiltinDirectives.exe' 'C:\Users\isaque\AppData\Local\Temp\SVM-1105905651073846907\BuiltinDirectives.c'
># BuiltinDirectives.c
># Microsoft (R) Incremental Linker Version 14.29.30133.0
># Copyright (C) Microsoft Corporation.  All rights reserved.
>#
># /out:C:\Users\isaque\AppData\Local\Temp\SVM-1105905651073846907\BuiltinDirectives.exe
># BuiltinDirectives.obj
>> 'C:\Program Files (x86)\Microsoft Visual Studio\2019\Community\VC\Tools\MSVC\14.29.30133\bin\HostX64\x64\cl.exe' /WX /W4 /wd4244 /wd4245 /wd4800 /wd4804 /wd4214 '/FeC:\Users\isaque\AppData\Local\Temp\SVM-1105905651073846907\AArch64LibCHelperDirectives.exe' 'C:\Users\isaque\AppData\Local\Temp\SVM-1105905651073846907\AArch64LibCHelperDirectives.c'
># AArch64LibCHelperDirectives.c
># Microsoft (R) Incremental Linker Version 14.29.30133.0
># Copyright (C) Microsoft Corporation.  All rights reserved.
>#
># /out:C:\Users\isaque\AppData\Local\Temp\SVM-1105905651073846907\AArch64LibCHelperDirectives.exe
># AArch64LibCHelperDirectives.obj
>> 'C:\Program Files (x86)\Microsoft Visual Studio\2019\Community\VC\Tools\MSVC\14.29.30133\bin\HostX64\x64\cl.exe' /WX /W4 /wd4244 /wd4245 /wd4800 /wd4804 /wd4214 '/FeC:\Users\isaque\AppData\Local\Temp\SVM-1105905651073846907\AMD64LibCHelperDirectives.exe' 'C:\Users\isaque\AppData\Local\Temp\SVM-1105905651073846907\AMD64LibCHelperDirectives.c'
># AMD64LibCHelperDirectives.c
># Microsoft (R) Incremental Linker Version 14.29.30133.0
># Copyright (C) Microsoft Corporation.  All rights reserved.
>#
># /out:C:\Users\isaque\AppData\Local\Temp\SVM-1105905651073846907\AMD64LibCHelperDirectives.exe
># AMD64LibCHelperDirectives.obj
>> 'C:\Program Files (x86)\Microsoft Visual Studio\2019\Community\VC\Tools\MSVC\14.29.30133\bin\HostX64\x64\cl.exe' /WX /W4 /wd4244 /wd4245 /wd4800 /wd4804 /wd4214 '/FeC:\Users\isaque\AppData\Local\Temp\SVM-1105905651073846907\WindowsDirectives.exe' 'C:\Users\isaque\AppData\Local\Temp\SVM-1105905651073846907\WindowsDirectives.c'
># WindowsDirectives.c
># Microsoft (R) Incremental Linker Version 14.29.30133.0
># Copyright (C) Microsoft Corporation.  All rights reserved.
>#
># /out:C:\Users\isaque\AppData\Local\Temp\SVM-1105905651073846907\WindowsDirectives.exe
># WindowsDirectives.obj
>> 'C:\Program Files (x86)\Microsoft Visual Studio\2019\Community\VC\Tools\MSVC\14.29.30133\bin\HostX64\x64\cl.exe' /WX /W4 /wd4244 /wd4245 /wd4800 /wd4804 /wd4214 '-IC:\src\graalvm-ce-java17-22.0.0.2\include\win32' '/FeC:\Users\isaque\AppData\Local\Temp\SVM-1105905651073846907\JNIHeaderDirectives.exe' 'C:\Users\isaque\AppData\Local\Temp\SVM-1105905651073846907\JNIHeaderDirectives.c'
># JNIHeaderDirectives.c
># Microsoft (R) Incremental Linker Version 14.29.30133.0
># Copyright (C) Microsoft Corporation.  All rights reserved.
>#
># /out:C:\Users\isaque\AppData\Local\Temp\SVM-1105905651073846907\JNIHeaderDirectives.exe
># JNIHeaderDirectives.obj
 Version info: 'GraalVM 22.0.0.2 Java 17 CE'
# Printing compilation-target information to: C:\MyJavaProjects\java_native\app\build\native\nativeBuild\reports\target_info_20220418_122330.txt
[2/7] Performing analysis...  [***********]                                                             (36,0s @ 1,68GB)
Warning: Could not register complete reflection metadata for org.apache.commons.logging.impl.Log4JLogger. Reason(s): java.lang.NoClassDefFoundError: org/apache/log4j/Priority
# Printing native-library information to: C:\MyJavaProjects\java_native\app\build\native\nativeBuild\reports\native_library_info_20220418_122406.txt
   7.142 (93,56%) of  7.634 classes reachable
  12.159 (68,17%) of 17.836 fields reachable
  33.531 (82,81%) of 40.493 methods reachable
     380 classes,    95 fields, and   781 methods registered for reflection
      89 classes,   108 fields, and    76 methods registered for JNI access
[3/7] Building universe...                                                                               (2,2s @ 2,12GB)
[4/7] Parsing methods...      [*]                                                                        (1,9s @ 2,81GB)
[5/7] Inlining methods...     [****]                                                                     (3,7s @ 2,33GB)
[6/7] Compiling methods...    [*****]                                                                   (26,5s @ 1,84GB)
[7/7] Creating image...                                                                                  (3,0s @ 2,58GB)
>> 'C:\Program Files (x86)\Microsoft Visual Studio\2019\Community\VC\Tools\MSVC\14.29.30133\bin\HostX64\x64\cl.exe' '/FeC:\MyJavaProjects\java_native\app\build\native\nativeBuild\Example.exe' Example.obj 'C:\src\graalvm-ce-java17-22.0.0.2\lib\svm\clibraries\windows-amd64\libchelper.lib' 'C:\src\graalvm-ce-java17-22.0.0.2\lib\static\windows-amd64\net.lib' 'C:\src\graalvm-ce-java17-22.0.0.2\lib\static\windows-amd64\nio.lib' 'C:\src\graalvm-ce-java17-22.0.0.2\lib\static\windows-amd64\java.lib' 'C:\src\graalvm-ce-java17-22.0.0.2\lib\static\windows-amd64\fdlibm.lib' 'C:\src\graalvm-ce-java17-22.0.0.2\lib\static\windows-amd64\sunmscapi.lib' 'C:\src\graalvm-ce-java17-22.0.0.2\lib\static\windows-amd64\zip.lib' 'C:\src\graalvm-ce-java17-22.0.0.2\lib\svm\clibraries\windows-amd64\jvm.lib' /MD 'C:\src\graalvm-ce-java17-22.0.0.2\lib\svm\clibraries\windows-amd64\libchelper.lib' 'C:\src\graalvm-ce-java17-22.0.0.2\lib\static\windows-amd64\net.lib' 'C:\src\graalvm-ce-java17-22.0.0.2\lib\static\windows-amd64\nio.lib' 'C:\src\graalvm-ce-java17-22.0.0.2\lib\static\windows-amd64\java.lib' 'C:\src\graalvm-ce-java17-22.0.0.2\lib\static\windows-amd64\fdlibm.lib' 'C:\src\graalvm-ce-java17-22.0.0.2\lib\static\windows-amd64\sunmscapi.lib' 'C:\src\graalvm-ce-java17-22.0.0.2\lib\static\windows-amd64\zip.lib' 'C:\src\graalvm-ce-java17-22.0.0.2\lib\svm\clibraries\windows-amd64\jvm.lib' /link /INCREMENTAL:NO /NODEFAULTLIB:LIBCMT /FILEALIGN:4096 '/IMPLIB:C:\Users\isaque\AppData\Local\Temp\SVM-1105905651073846907\Example.lib' '/LIBPATH:C:\src\graalvm-ce-java17-22.0.0.2\lib\static\windows-amd64' '/LIBPATH:C:\src\graalvm-ce-java17-22.0.0.2\lib\svm\clibraries\windows-amd64' winhttp.lib ncrypt.lib crypt32.lib version.lib advapi32.lib ws2_32.lib secur32.lib iphlpapi.lib userenv.lib setargv.obj /include:JDK_LoadSystemLibrary /include:getEncodingFromLangID /include:getJavaIDFromLangID shell32.lib /export:JDK_LoadSystemLibrary /export:JNU_CallMethodByName /export:JNU_CallMethodByNameV /export:JNU_CallStaticMethodByName /export:JNU_ClassString /export:JNU_GetEnv /export:JNU_GetFieldByName /export:JNU_GetStaticFieldByName /export:JNU_IsInstanceOfByName /export:JNU_NewObjectByName /export:JNU_NewStringPlatform /export:JNU_SetFieldByName /export:JNU_ThrowArrayIndexOutOfBoundsException /export:JNU_ThrowByName /export:JNU_ThrowIOException /export:JNU_ThrowIllegalArgumentException /export:JNU_ThrowInternalError /export:JNU_ThrowNullPointerException /export:JNU_ThrowOutOfMemoryError
># Microsoft (R) C/C++ Optimizing Compiler Versão 19.29.30133 para x64
># Copyright (C) Microsoft Corporation. Todos os direitos reservados.
>#
># Microsoft (R) Incremental Linker Version 14.29.30133.0
># Copyright (C) Microsoft Corporation.  All rights reserved.
>#
># /out:C:\MyJavaProjects\java_native\app\build\native\nativeBuild\Example.exe
># /INCREMENTAL:NO
># /NODEFAULTLIB:LIBCMT
># /FILEALIGN:4096
># /IMPLIB:C:\Users\isaque\AppData\Local\Temp\SVM-1105905651073846907\Example.lib
># /LIBPATH:C:\src\graalvm-ce-java17-22.0.0.2\lib\static\windows-amd64
># /LIBPATH:C:\src\graalvm-ce-java17-22.0.0.2\lib\svm\clibraries\windows-amd64
># winhttp.lib
># ncrypt.lib
># crypt32.lib
># version.lib
># advapi32.lib
># ws2_32.lib
># secur32.lib
># iphlpapi.lib
># userenv.lib
># setargv.obj
># /include:JDK_LoadSystemLibrary
># /include:getEncodingFromLangID
># /include:getJavaIDFromLangID
># shell32.lib
># /export:JDK_LoadSystemLibrary
># /export:JNU_CallMethodByName
># /export:JNU_CallMethodByNameV
># /export:JNU_CallStaticMethodByName
># /export:JNU_ClassString
># /export:JNU_GetEnv
># /export:JNU_GetFieldByName
># /export:JNU_GetStaticFieldByName
># /export:JNU_IsInstanceOfByName
># /export:JNU_NewObjectByName
># /export:JNU_NewStringPlatform
># /export:JNU_SetFieldByName
># /export:JNU_ThrowArrayIndexOutOfBoundsException
># /export:JNU_ThrowByName
># /export:JNU_ThrowIOException
># /export:JNU_ThrowIllegalArgumentException
># /export:JNU_ThrowInternalError
># /export:JNU_ThrowNullPointerException
># /export:JNU_ThrowOutOfMemoryError
># Example.obj
># C:\src\graalvm-ce-java17-22.0.0.2\lib\svm\clibraries\windows-amd64\libchelper.lib
># C:\src\graalvm-ce-java17-22.0.0.2\lib\static\windows-amd64\net.lib
># C:\src\graalvm-ce-java17-22.0.0.2\lib\static\windows-amd64\nio.lib
># C:\src\graalvm-ce-java17-22.0.0.2\lib\static\windows-amd64\java.lib
># C:\src\graalvm-ce-java17-22.0.0.2\lib\static\windows-amd64\fdlibm.lib
># C:\src\graalvm-ce-java17-22.0.0.2\lib\static\windows-amd64\sunmscapi.lib
># C:\src\graalvm-ce-java17-22.0.0.2\lib\static\windows-amd64\zip.lib
># C:\src\graalvm-ce-java17-22.0.0.2\lib\svm\clibraries\windows-amd64\jvm.lib
># C:\src\graalvm-ce-java17-22.0.0.2\lib\svm\clibraries\windows-amd64\libchelper.lib
># C:\src\graalvm-ce-java17-22.0.0.2\lib\static\windows-amd64\net.lib
># C:\src\graalvm-ce-java17-22.0.0.2\lib\static\windows-amd64\nio.lib
># C:\src\graalvm-ce-java17-22.0.0.2\lib\static\windows-amd64\java.lib
># C:\src\graalvm-ce-java17-22.0.0.2\lib\static\windows-amd64\fdlibm.lib
># C:\src\graalvm-ce-java17-22.0.0.2\lib\static\windows-amd64\sunmscapi.lib
># C:\src\graalvm-ce-java17-22.0.0.2\lib\static\windows-amd64\zip.lib
># C:\src\graalvm-ce-java17-22.0.0.2\lib\svm\clibraries\windows-amd64\jvm.lib
>#    Criando biblioteca C:\Users\isaque\AppData\Local\Temp\SVM-1105905651073846907\Example.lib e objeto C:\Users\isaque\AppData\Local\Temp\SVM-1105905651073846907\Example.exp
>> 'C:\Program Files (x86)\Microsoft Visual Studio\2019\Community\VC\Tools\MSVC\14.29.30133\bin\HostX64\x64\cl.exe' '/FeC:\MyJavaProjects\java_native\app\build\native\nativeBuild\java.dll' 'C:\Users\isaque\AppData\Local\Temp\SVM-1105905651073846907\Example.lib' msvcrt.lib /link /dll /implib:java.lib /export:JDK_LoadSystemLibrary /export:JNU_CallMethodByName /export:JNU_CallMethodByNameV /export:JNU_CallStaticMethodByName /export:JNU_ClassString /export:JNU_GetEnv /export:JNU_GetFieldByName /export:JNU_GetStaticFieldByName /export:JNU_IsInstanceOfByName /export:JNU_NewObjectByName /export:JNU_NewStringPlatform /export:JNU_SetFieldByName /export:JNU_ThrowArrayIndexOutOfBoundsException /export:JNU_ThrowByName /export:JNU_ThrowIOException /export:JNU_ThrowIllegalArgumentException /export:JNU_ThrowInternalError /export:JNU_ThrowNullPointerException /export:JNU_ThrowOutOfMemoryError /export:getEncodingFromLangID /export:getJavaIDFromLangID /export:jio_snprintf
># Microsoft (R) C/C++ Optimizing Compiler Versão 19.29.30133 para x64
># Copyright (C) Microsoft Corporation. Todos os direitos reservados.
>#
># Microsoft (R) Incremental Linker Version 14.29.30133.0
># Copyright (C) Microsoft Corporation.  All rights reserved.
>#
># /out:C:\MyJavaProjects\java_native\app\build\native\nativeBuild\java.dll
># /dll
># /implib:java.lib
># /export:JDK_LoadSystemLibrary
># /export:JNU_CallMethodByName
># /export:JNU_CallMethodByNameV
># /export:JNU_CallStaticMethodByName
># /export:JNU_ClassString
># /export:JNU_GetEnv
># /export:JNU_GetFieldByName
># /export:JNU_GetStaticFieldByName
># /export:JNU_IsInstanceOfByName
># /export:JNU_NewObjectByName
># /export:JNU_NewStringPlatform
># /export:JNU_SetFieldByName
># /export:JNU_ThrowArrayIndexOutOfBoundsException
># /export:JNU_ThrowByName
># /export:JNU_ThrowIOException
># /export:JNU_ThrowIllegalArgumentException
># /export:JNU_ThrowInternalError
># /export:JNU_ThrowNullPointerException
># /export:JNU_ThrowOutOfMemoryError
># /export:getEncodingFromLangID
># /export:getJavaIDFromLangID
># /export:jio_snprintf
># C:\Users\isaque\AppData\Local\Temp\SVM-1105905651073846907\Example.lib
># msvcrt.lib
># LINK : warning LNK4001: nenhum arquivo de objeto especificado; bibliotecas usadas
># LINK : warning LNK4068: /MACHINE não especificada; padronizando para X64
>#    Criando biblioteca java.lib e objeto java.exp
>> 'C:\Program Files (x86)\Microsoft Visual Studio\2019\Community\VC\Tools\MSVC\14.29.30133\bin\HostX64\x64\cl.exe' '/FeC:\MyJavaProjects\java_native\app\build\native\nativeBuild\jvm.dll' 'C:\Users\isaque\AppData\Local\Temp\SVM-1105905651073846907\Example.lib' msvcrt.lib /link /dll /implib:jvm.lib /export:JVM_CurrentTimeMillis /export:JVM_RaiseSignal /export:jio_snprintf
># Microsoft (R) C/C++ Optimizing Compiler Versão 19.29.30133 para x64
># Copyright (C) Microsoft Corporation. Todos os direitos reservados.
>#
># Microsoft (R) Incremental Linker Version 14.29.30133.0
># Copyright (C) Microsoft Corporation.  All rights reserved.
>#
># /out:C:\MyJavaProjects\java_native\app\build\native\nativeBuild\jvm.dll
># /dll
># /implib:jvm.lib
># /export:JVM_CurrentTimeMillis
># /export:JVM_RaiseSignal
># /export:jio_snprintf
># C:\Users\isaque\AppData\Local\Temp\SVM-1105905651073846907\Example.lib
># msvcrt.lib
># LINK : warning LNK4001: nenhum arquivo de objeto especificado; bibliotecas usadas
># LINK : warning LNK4068: /MACHINE não especificada; padronizando para X64
>#    Criando biblioteca jvm.lib e objeto jvm.exp
  17,53MB (49,00%) for code area:   22.032 compilation units
  15,79MB (44,15%) for image heap:   4.949 classes and 210.882 objects
   2,45MB ( 6,85%) for other data
  35,77MB in total
------------------------------------------------------------------------------------------------------------------------
Top 10 packages in code area:                               Top 10 object types in image heap:
   1,49MB sun.security.ssl                                     5,35MB byte[] for general heap data
 954,08KB java.util                                            1,70MB java.lang.String
 698,04KB com.sun.crypto.provider                              1,64MB java.lang.Class
 644,73KB org.apache.fontbox.cff                               1,18MB byte[] for java.lang.String
 579,45KB org.apache.pdfbox.pdmodel.font.encoding            546,66KB java.util.HashMap$Node
 493,45KB com.oracle.svm.jni                                 345,51KB java.lang.String[]
 486,77KB java.lang.invoke                                   312,53KB java.util.HashMap$Node[]
 467,91KB sun.security.x509                                  307,41KB java.util.LinkedHashMap
 392,40KB java.lang                                          282,28KB java.util.concurrent.ConcurrentHashMap$Node
 386,92KB com.oracle.svm.core.reflect                        268,09KB com.oracle.svm.core.util.LazyFinalReference
      ... 254 additional packages                                 ... 1617 additional object types
                                           (use GraalVM Dashboard to see all)
------------------------------------------------------------------------------------------------------------------------
                        5,9s (7,1% of total time) in 28 GCs | Peak RSS: 5,62GB | CPU load: 3,28
------------------------------------------------------------------------------------------------------------------------
Produced artifacts:
 C:\MyJavaProjects\java_native\app\build\native\nativeBuild\Example.exe (executable)
 C:\MyJavaProjects\java_native\app\build\native\nativeBuild\awt.dll (jdk_lib)
 C:\MyJavaProjects\java_native\app\build\native\nativeBuild\fontmanager.dll (jdk_lib)
 C:\MyJavaProjects\java_native\app\build\native\nativeBuild\freetype.dll (jdk_lib)
 C:\MyJavaProjects\java_native\app\build\native\nativeBuild\javaaccessbridge.dll (jdk_lib)
 C:\MyJavaProjects\java_native\app\build\native\nativeBuild\javajpeg.dll (jdk_lib)
 C:\MyJavaProjects\java_native\app\build\native\nativeBuild\jawt.dll (jdk_lib)
 C:\MyJavaProjects\java_native\app\build\native\nativeBuild\lcms.dll (jdk_lib)
 C:\MyJavaProjects\java_native\app\build\native\nativeBuild\java.dll (jdk_lib_shim)
 C:\MyJavaProjects\java_native\app\build\native\nativeBuild\jvm.dll (jdk_lib_shim)
 C:\MyJavaProjects\java_native\app\build\native\nativeBuild\Example.build_artifacts.txt
========================================================================================================================
Finished generating 'Example' in 1m 23s.
[native-image-plugin] Native Image written to: C:\MyJavaProjects\java_native\app\build\native\nativeBuild

BUILD SUCCESSFUL in 1m 26s
4 actionable tasks: 1 executed, 3 up-to-date
C:\MyJavaProjects\java_native>

build.gradle

plugins {
    id 'application' //CLI application in Java for use "gradle installDist" or "gradle run"
    id 'org.graalvm.buildtools.native' version '0.9.4'
    id 'com.github.johnrengelman.shadow' version '7.0.0' //for use gradle shadowJar | java -jar .\app\build\libs\app-all.jar

}

ext {
  pdfboxVersion = '3.0.0-RC1' //'2.0.25'
   //for bug https://github.com/oracle/graal/issues/4466#issuecomment-1100726759
  configFiles = 'build/cfg-files'
}

repositories {
    mavenCentral() 
    gradlePluginPortal()
}

dependencies {
    implementation "org.apache.pdfbox:pdfbox:${pdfboxVersion}"   
    implementation 'com.hierynomus:sshj:0.32.0'
}

//for bug https://github.com/oracle/graal/issues/4466#issuecomment-1100726759
run {  
    jvmArgs = ["-agentlib:native-image-agent=config-merge-dir=$configFiles"]
}

application {
    mainClass = 'demo.Example' 
}

// to create a fat jar
shadowJar {
    mainClassName = "demo.Example"
}

nativeBuild {
  imageName = 'Example'
  mainClass = 'demo.Example'
  verbose = true // Add verbose output, defaults to false
  useFatJar = false
  // Advanced options
  // Passes '-H:Extra' to the native image builder options.
  // This can be used to pass parameters which are not directly supported by this extension
  buildArgs.add('--native-image-info')
  buildArgs.add('--verbose')
  buildArgs.add('--report-unsupported-elements-at-runtime')
  buildArgs.add('--enable-url-protocols=https')  
  //to fix bug https://github.com/oracle/graal/issues/4466#issuecomment-1100726759
  buildArgs.add('-H:ConfigurationFileDirectories=' + file(configFiles).path)
  buildArgs.add('-H:+TraceNativeToolUsage') 
  //to fix bug https://github.com/oracle/graal/issues/4072 
  buildArgs.add('-H:NativeLinkerOption=/export:JDK_LoadSystemLibrary') 
  buildArgs.add('-H:NativeLinkerOption=/export:JNU_CallMethodByName')  
  buildArgs.add('-H:NativeLinkerOption=/export:JNU_CallMethodByNameV')  
  buildArgs.add('-H:NativeLinkerOption=/export:JNU_CallStaticMethodByName')  
  buildArgs.add('-H:NativeLinkerOption=/export:JNU_ClassString')  
  buildArgs.add('-H:NativeLinkerOption=/export:JNU_GetEnv')  
  buildArgs.add('-H:NativeLinkerOption=/export:JNU_GetFieldByName')  
  buildArgs.add('-H:NativeLinkerOption=/export:JNU_GetStaticFieldByName')  
  buildArgs.add('-H:NativeLinkerOption=/export:JNU_IsInstanceOfByName')  
  buildArgs.add('-H:NativeLinkerOption=/export:JNU_NewObjectByName')  
  buildArgs.add('-H:NativeLinkerOption=/export:JNU_NewStringPlatform')  
  buildArgs.add('-H:NativeLinkerOption=/export:JNU_SetFieldByName')  
  buildArgs.add('-H:NativeLinkerOption=/export:JNU_ThrowArrayIndexOutOfBoundsException')  
  buildArgs.add('-H:NativeLinkerOption=/export:JNU_ThrowByName')  
  buildArgs.add('-H:NativeLinkerOption=/export:JNU_ThrowIOException')  
  buildArgs.add('-H:NativeLinkerOption=/export:JNU_ThrowIllegalArgumentException')  
  buildArgs.add('-H:NativeLinkerOption=/export:JNU_ThrowInternalError')  
  buildArgs.add('-H:NativeLinkerOption=/export:JNU_ThrowNullPointerException')  
  buildArgs.add('-H:NativeLinkerOption=/export:JNU_ThrowOutOfMemoryError')   

  //buildArgs.add('--language:js')
  buildArgs.add('--allow-incomplete-classpath')

    // Development options
  //agent = true // Enables the reflection agent. Can be also set on command line using '-Pagent'
}
chirontt commented 2 years ago

According to that issue #4072, a fix for the should not reach here problem in Windows has been checked in, for 22.1 milestone. Whether the fix will be in the 22.1 release (due in a couple of days now) remains to be seen.

For the workaround with the above -H:NativeLinkerOption linker options, make sure that they are applied in the Windows build only, as they are invalid for the Linux linker! Use some conditioning code like:

nativeBuild {
    ...
    if (org.gradle.internal.os.OperatingSystem.current().isWindows()) {
        //temp fix for the linker errors in Windows
        buildArgs.add('-H:NativeLinkerOption=/export:JDK_LoadSystemLibrary')
        buildArgs.add('-H:NativeLinkerOption=/export:JNU_CallMethodByName')  
        ...
    }
    ...
}
insinfo commented 2 years ago

@chirontt Thank you for your help already have an open issue to resolve the ClassNotFoundException ?

chirontt commented 2 years ago

The above way of manual generation of the native-image config files should fix the ClassNotFoundException, i.e. it should fix the ClassNotFoundException: org.apache.commons.logging.impl.LogFactoryImpl as originally reported.

But then in Linux, the resultant native image at runtime would throw the following exceptions:

Exception in thread "main" java.lang.ExceptionInInitializerError
    at org.apache.pdfbox.pdfparser.BaseParser.<init>(BaseParser.java:57)
    at org.apache.pdfbox.pdfparser.COSParser.<init>(COSParser.java:208)
    at org.apache.pdfbox.pdfparser.PDFParser.<init>(PDFParser.java:125)
    at org.apache.pdfbox.pdmodel.PDDocument.load(PDDocument.java:1104)
    at org.apache.pdfbox.pdmodel.PDDocument.load(PDDocument.java:1088)
    at org.apache.pdfbox.pdmodel.PDDocument.load(PDDocument.java:1047)
    at org.apache.pdfbox.pdmodel.PDDocument.load(PDDocument.java:995)
    at demo.Example.main(Example.java:14)
Caused by: java.nio.charset.UnsupportedCharsetException: Windows-1252
    at java.nio.charset.Charset.forName(Charset.java:528)
    at org.apache.pdfbox.util.Charsets.<clinit>(Charsets.java:44)
    ... 8 more

The exceptions are by design: the native image only includes some standard charsets, and in Linux environment the 'Windows-1252' charset is certainly not standard so it's not included, resulting the above exceptions at runtime. To fix this omission, all charsets in the JDK should be added to the native image (no other choice), by adding the -H:+AddAllCharsets parameter:

nativeBuild {
    ...
    buildArgs.add('-H:+AddAllCharsets')
    ...
}

The above parameter would do no harm in Windows, so we just use it in Windows build as well.

For the resultant Windows native image, I don't get any exceptions with it at runtime, i.e. it runs fine in my Windows 10 machine, displaying some Portuguese text in the console.

insinfo commented 2 years ago

I'm having this problem now when I go to run

C:\MyJavaProjects\java_native>C:\MyJavaProjects\java_native\app\build\native\nativeBuild\Example.exe                                                                      
Exception in thread "main" com.oracle.svm.core.jdk.UnsupportedFeatureError: Trying to verify a provider that was not registered at build time: BC version 1.69. All providers must be registered and verified in the Native Image builder. 
        at com.oracle.svm.core.util.VMError.unsupportedFeature(VMError.java:89)
        at javax.crypto.JceSecurity.getVerificationResult(JceSecurity.java:403)
        at javax.crypto.JceSecurity.getInstance(JceSecurity.java:140)
        at javax.crypto.KeyAgreement.getInstance(KeyAgreement.java:280)
        at net.schmizz.sshj.common.SecurityUtils.registerSecurityProvider(SecurityUtils.java:94)
        at net.schmizz.sshj.common.SecurityUtils.register(SecurityUtils.java:280)
        at net.schmizz.sshj.common.SecurityUtils.isBouncyCastleRegistered(SecurityUtils.java:251)
        at net.schmizz.sshj.DefaultConfig.<init>(DefaultConfig.java:78)
        at net.schmizz.sshj.SSHClient.<init>(SSHClient.java:131)
        at demo.SshjExample.init(SshjExample.java:22)
        at demo.Example.main(Example.java:25)

C:\MyJavaProjects\java_native>

When I said that "already have an open issue to resolve the ClassNotFoundException ?" I meant that having to run "gradle run" to generate the configFiles seems like a bug, it would be better if the Native Image tool already handles this

chirontt commented 2 years ago

@insinfo the above problem is separate from the original problem of this issue; you should open a fresh issue for that, or search the issues database for any relevant info.

Anyway, I can give you a hint: you'd need a Feature class for registering the BouncyCastleProvider at build time, as included in this PR, and re-initialize the provider class at runtime also (mentioned in the same PR); or you can use similar class from my project here.

insinfo commented 2 years ago

@chirontt I believe I did exactly what you suggested, I actually copied the BouncyCastleFeature.java from your code but I'm getting the same error at runtime

C:\MyJavaProjects\java_native> C:\MyJavaProjects\java_native\app\build\native-image-windows\Example.exe
Exception in thread "main" com.oracle.svm.core.jdk.UnsupportedFeatureError: Trying to verify a provider that was not registered at build time: BC version 1.69. All providers must be registered and verified in the Native Image builder. 
        at com.oracle.svm.core.util.VMError.unsupportedFeature(VMError.java:89)
        at javax.crypto.JceSecurity.getVerificationResult(JceSecurity.java:403)
        at javax.crypto.JceSecurity.getInstance(JceSecurity.java:140)
        at javax.crypto.KeyAgreement.getInstance(KeyAgreement.java:280)
        at net.schmizz.sshj.common.SecurityUtils.registerSecurityProvider(SecurityUtils.java:94)
        at net.schmizz.sshj.common.SecurityUtils.register(SecurityUtils.java:280)
        at net.schmizz.sshj.common.SecurityUtils.isBouncyCastleRegistered(SecurityUtils.java:251)
        at net.schmizz.sshj.DefaultConfig.<init>(DefaultConfig.java:78)
        at net.schmizz.sshj.SSHClient.<init>(SSHClient.java:131)
        at demo.SshjExample.init(SshjExample.java:33)
        at demo.Example.main(Example.java:32)

C:\MyJavaProjects\java_native>

https://github.com/insinfo/java_native

chirontt commented 2 years ago

@insinfo I'll reply to the above ssh problem in another relevant issue thread. Please close this issue as it's already had a fix (or a workaround) as mentioned in the thread.

insinfo commented 2 years ago

@chirontt thank you very much for your help, your feedback has been valuable in moving forward. I followed your suggestion and temporarily removed the SSHJ lib and implemented a simple example with Apache Mina that works fine when running, but when I try to compile with native-image I'm getting this error "Error: Classes that should be initialized at run time got initialized during image building: org.apache.sshd.core.CoreModuleProperties was unintentionally initialized at build time. To see why org.apache.sshd.core.CoreModuleProperties got initialized use --trace-class-initialization=org.apache.sshd.core.CoreModuleProperties org.apache.sshd.common.util.security.SecurityUtils was unintentionally initialized at build time. To see why org.apache.sshd.common.util.security.SecurityUtils got initialized use --trace-class-initialization=org.apache.sshd.common.util.security.SecurityUtils org.apache.sshd.client.config.keys.DefaultClientIdentitiesWatcher was unintentionally initialized at build time. To see why org.apache.sshd.client.config.keys.DefaultClientIdentitiesWatcher got initialized use --trace-class-..."

C:\MyJavaProjects\java_native>gradle nativeCompile

> Task :app:generateResourcesConfigFile
[native-image-plugin] Resources configuration written into C:\MyJavaProjects\java_native\app\build\native\generated\generateResourcesConfigFile\resource-config.json

> Task :app:nativeCompile
[native-image-plugin] Args are: [@C:\Users\isaque\AppData\Local\Temp\native-image2329953369683897962args]
[native-image-plugin] Using executable path: C:\src\graalvm-ce-java17-22.0.0.2\bin\native-image.cmd
Executing [
'C:\src\graalvm-ce-java17-22.0.0.2\bin\java.exe' \
-XX:+UseParallelGC \
-XX:+UnlockExperimentalVMOptions \
-XX:+EnableJVMCI \
-Dtruffle.TrustAllTruffleRuntimeProviders=true \
-Dtruffle.TruffleRuntime=com.oracle.truffle.api.impl.DefaultTruffleRuntime \
-Dgraalvm.ForcePolyglotInvalid=true \
-Dgraalvm.locatorDisabled=true \
-Dsubstratevm.IgnoreGraalVersionCheck=true \
--add-exports=java.base/com.sun.crypto.provider=ALL-UNNAMED \
--add-exports=java.base/jdk.internal.access.foreign=ALL-UNNAMED \
--add-exports=java.base/jdk.internal.event=ALL-UNNAMED \
--add-exports=java.base/jdk.internal.loader=ALL-UNNAMED \
--add-exports=java.base/jdk.internal.logger=ALL-UNNAMED \
--add-exports=java.base/jdk.internal.misc=ALL-UNNAMED \
--add-exports=java.base/jdk.internal.module=ALL-UNNAMED \
--add-exports=java.base/jdk.internal.org.objectweb.asm=ALL-UNNAMED \
--add-exports=java.base/jdk.internal.org.xml.sax.helpers=ALL-UNNAMED \
--add-exports=java.base/jdk.internal.perf=ALL-UNNAMED \
--add-exports=java.base/jdk.internal.platform=ALL-UNNAMED \
--add-exports=java.base/jdk.internal.ref=ALL-UNNAMED \
--add-exports=java.base/jdk.internal.reflect=ALL-UNNAMED \
--add-exports=java.base/jdk.internal.util.xml.impl=ALL-UNNAMED \
--add-exports=java.base/jdk.internal.util.xml=ALL-UNNAMED \
--add-exports=java.base/sun.invoke.util=ALL-UNNAMED \
--add-exports=java.base/sun.net=ALL-UNNAMED \
--add-exports=java.base/sun.nio.ch=ALL-UNNAMED \
--add-exports=java.base/sun.reflect.annotation=ALL-UNNAMED \
--add-exports=java.base/sun.reflect.generics.reflectiveObjects=ALL-UNNAMED \
--add-exports=java.base/sun.reflect.generics.repository=ALL-UNNAMED \
--add-exports=java.base/sun.reflect.generics.tree=ALL-UNNAMED \
--add-exports=java.base/sun.security.jca=ALL-UNNAMED \
--add-exports=java.base/sun.security.provider=ALL-UNNAMED \
--add-exports=java.base/sun.security.ssl=ALL-UNNAMED \
--add-exports=java.base/sun.security.util=ALL-UNNAMED \
--add-exports=java.base/sun.text.spi=ALL-UNNAMED \
--add-exports=java.base/sun.util.calendar=ALL-UNNAMED \
--add-exports=java.base/sun.util.locale.provider=ALL-UNNAMED \
--add-exports=java.base/sun.util.resources=ALL-UNNAMED \
--add-exports=java.management/sun.management=ALL-UNNAMED \
--add-exports=java.xml.crypto/org.jcp.xml.dsig.internal.dom=ALL-UNNAMED \
--add-exports=jdk.internal.vm.ci/jdk.vm.ci.aarch64=ALL-UNNAMED \
--add-exports=jdk.internal.vm.ci/jdk.vm.ci.amd64=ALL-UNNAMED \
--add-exports=jdk.internal.vm.ci/jdk.vm.ci.code.site=ALL-UNNAMED \
--add-exports=jdk.internal.vm.ci/jdk.vm.ci.code.stack=ALL-UNNAMED \
--add-exports=jdk.internal.vm.ci/jdk.vm.ci.code=ALL-UNNAMED \
--add-exports=jdk.internal.vm.ci/jdk.vm.ci.common=ALL-UNNAMED \
--add-exports=jdk.internal.vm.ci/jdk.vm.ci.hotspot.aarch64=ALL-UNNAMED \
--add-exports=jdk.internal.vm.ci/jdk.vm.ci.hotspot.amd64=ALL-UNNAMED \
--add-exports=jdk.internal.vm.ci/jdk.vm.ci.hotspot=ALL-UNNAMED \
--add-exports=jdk.internal.vm.ci/jdk.vm.ci.meta=ALL-UNNAMED \
--add-exports=jdk.internal.vm.ci/jdk.vm.ci.runtime=ALL-UNNAMED \
--add-exports=jdk.internal.vm.ci/jdk.vm.ci.services=ALL-UNNAMED \
--add-exports=jdk.jfr/jdk.jfr.events=ALL-UNNAMED \
--add-exports=jdk.jfr/jdk.jfr.internal.consumer=ALL-UNNAMED \
--add-exports=jdk.jfr/jdk.jfr.internal.handlers=ALL-UNNAMED \
--add-exports=jdk.jfr/jdk.jfr.internal.jfc=ALL-UNNAMED \
--add-exports=jdk.jfr/jdk.jfr.internal=ALL-UNNAMED \
-XX:+UseJVMCINativeLibrary \
-Xss10m \
-Xms1g \
-Xmx13644028312 \
-Djava.awt.headless=true \
-Dorg.graalvm.version=22.0.0.2 \
-Dorg.graalvm.config=CE \
-Dcom.oracle.graalvm.isaot=true \
-Djava.system.class.loader=com.oracle.svm.hosted.NativeImageSystemClassLoader \
-Xshare:off \
-Djdk.internal.lambda.disableEagerInitialization=true \
-Djdk.internal.lambda.eagerlyInitialize=false \
-Djava.lang.invoke.InnerClassLambdaMetafactory.initializeLambdas=false \
'-javaagent:C:\src\graalvm-ce-java17-22.0.0.2\lib\svm\builder\svm.jar' \
-cp \
'C:\src\graalvm-ce-java17-22.0.0.2\lib\svm\builder\native-image-base.jar;C:\src\graalvm-ce-java17-22.0.0.2\lib\svm\builder\objectfile.jar;C:\src\graalvm-ce-java17-22.0.0.2\lib\svm\builder\pointsto.jar;C:\src\graalvm-ce-java17-22.0.0.2\lib\svm\builder\svm.jar' \
--module-path \
'C:\src\graalvm-ce-java17-22.0.0.2\lib\truffle\truffle-api.jar' \
'com.oracle.svm.hosted.NativeImageGeneratorRunner$JDK9Plus' \
-imagecp \
'C:\MyJavaProjects\java_native\app\build\libs\app-1.0.0.jar;C:\Users\isaque\.gradle\caches\modules-2\files-2.1\org.slf4j\slf4j-simple\2.0.0-alpha7\fb2a26ab1f8c43b8ee3cc61af922ccb8f172c3f0\slf4j-simple-2.0.0-alpha7.jar;C:\Users\isaque\.gradle\caches\modules-2\files-2.1\org.bouncycastle\bcprov-jdk15on\1.70\4636a0d01f74acaf28082fb62b317f1080118371\bcprov-jdk15on-1.70.jar;C:\Users\isaque\.gradle\caches\modules-2\files-2.1\org.graalvm.sdk\graal-sdk\22.0.0.2\3e6a30de6d2e3ea94ec5976ab37a850f96d78ee3\graal-sdk-22.0.0.2.jar;C:\Users\isaque\.gradle\caches\modules-2\files-2.1\org.apache.sshd\sshd-sftp\2.8.0\d3cd9bc8d335b3ed1a86d2965deb4d202de27442\sshd-sftp-2.8.0.jar;C:\Users\isaque\.gradle\caches\modules-2\files-2.1\org.apache.sshd\sshd-scp\2.8.0\9b8eb865d44a30ae1cd4fe6231d873b6a0a88a90\sshd-scp-2.8.0.jar;C:\Users\isaque\.gradle\caches\modules-2\files-2.1\org.apache.sshd\sshd-core\2.8.0\1e08be2d90640f9bf8c3ca5d78010c46d505db55\sshd-core-2.8.0.jar;C:\Users\isaque\.gradle\caches\modules-2\files-2.1\com.github.mwiede\jsch\0.2.1\6c0880917725a36b7fe54ca649eadb406d7c2058\jsch-0.2.1.jar;C:\Users\isaque\.gradle\caches\modules-2\files-2.1\org.apache.commons\commons-compress\1.21\4ec95b60d4e86b5c95a0e919cb172a0af98011ef\commons-compress-1.21.jar;C:\Users\isaque\.gradle\caches\modules-2\files-2.1\org.apache.sshd\sshd-common\2.8.0\f447fd9764fb533d0e79dbc9f5eb2aff8af243d6\sshd-common-2.8.0.jar;C:\Users\isaque\.gradle\caches\modules-2\files-2.1\org.slf4j\jcl-over-slf4j\1.7.32\32c060250bcc5282cdbc1fd7008c12eb4ebad00e\jcl-over-slf4j-1.7.32.jar;C:\Users\isaque\.gradle\caches\modules-2\files-2.1\org.slf4j\slf4j-api\2.0.0-alpha7\30d326fc10810e7d6d948dfad32f6bb542487e8f\slf4j-api-2.0.0-alpha7.jar;C:\src\graalvm-ce-java17-22.0.0.2\lib\svm\library-support.jar' \
'-H:Path=C:\MyJavaProjects\java_native\app\build\native\nativeCompile' \
'-H:ClassInitialization@jar:file:///C:/Users/isaque/.gradle/caches/modules-2/files-2.1/org.graalvm.sdk/graal-sdk/22.0.0.2/3e6a30de6d2e3ea94ec5976ab37a850f96d78ee3/graal-sdk-22.0.0.2.jar!/META-INF/native-image/org.graalvm.polyglot/native-image.properties=org.graalvm.polyglot:build_time' \
'-H:Features@jar:file:///C:/Users/isaque/.gradle/caches/modules-2/files-2.1/org.graalvm.sdk/graal-sdk/22.0.0.2/3e6a30de6d2e3ea94ec5976ab37a850f96d78ee3/graal-sdk-22.0.0.2.jar!/META-INF/native-image/org.graalvm.home/native-image.properties=org.graalvm.home.HomeFinderFeature' \
'-H:FallbackThreshold@C:\Users\isaque\AppData\Local\Temp\native-image2329953369683897962args=0' \
'-H:Path@C:\Users\isaque\AppData\Local\Temp\native-image2329953369683897962args=C:\\MyJavaProjects\\java_native\\app\\build\\native\\nativeCompile' \
'-H:Name@C:\Users\isaque\AppData\Local\Temp\native-image2329953369683897962args=Example' \
'-H:ConfigurationFileDirectories@C:\Users\isaque\AppData\Local\Temp\native-image2329953369683897962args=C:\\MyJavaProjects\\java_native\\app\\build\\native\\generated\\generateResourcesConfigFile' \
'-H:Class@C:\Users\isaque\AppData\Local\Temp\native-image2329953369683897962args=demo.Example' \
'-H:ConfigurationFileDirectories@C:\Users\isaque\AppData\Local\Temp\native-image2329953369683897962args=C:\\MyJavaProjects\\java_native\\app\\build\\cfg-files' \ 
'-H:+AddAllCharsets@C:\Users\isaque\AppData\Local\Temp\native-image2329953369683897962args' \
'-H:EnableURLProtocols@C:\Users\isaque\AppData\Local\Temp\native-image2329953369683897962args=http,https' \
'-H:+DumpTargetInfo@C:\Users\isaque\AppData\Local\Temp\native-image2329953369683897962args' \
'-H:+AllowIncompleteClasspath@C:\Users\isaque\AppData\Local\Temp\native-image2329953369683897962args' \
'-H:Path@C:\Users\isaque\AppData\Local\Temp\native-image2329953369683897962args=C:\\MyJavaProjects\\java_native\\app\\build/native-image-windows' \
'-H:TempDirectory@C:\Users\isaque\AppData\Local\Temp\native-image2329953369683897962args=C:\\MyJavaProjects\\java_native\\app\\build/tmp/native-image-windows' \  
'-H:+TraceNativeToolUsage@C:\Users\isaque\AppData\Local\Temp\native-image2329953369683897962args' \
'-H:+ReportExceptionStackTraces@C:\Users\isaque\AppData\Local\Temp\native-image2329953369683897962args' \
'-H:NativeLinkerOption@C:\Users\isaque\AppData\Local\Temp\native-image2329953369683897962args=/export:JDK_LoadSystemLibrary' \
'-H:NativeLinkerOption@C:\Users\isaque\AppData\Local\Temp\native-image2329953369683897962args=/export:JNU_CallMethodByName' \
'-H:NativeLinkerOption@C:\Users\isaque\AppData\Local\Temp\native-image2329953369683897962args=/export:JNU_CallMethodByNameV' \
'-H:NativeLinkerOption@C:\Users\isaque\AppData\Local\Temp\native-image2329953369683897962args=/export:JNU_CallStaticMethodByName' \
'-H:NativeLinkerOption@C:\Users\isaque\AppData\Local\Temp\native-image2329953369683897962args=/export:JNU_ClassString' \
'-H:NativeLinkerOption@C:\Users\isaque\AppData\Local\Temp\native-image2329953369683897962args=/export:JNU_GetEnv' \
'-H:NativeLinkerOption@C:\Users\isaque\AppData\Local\Temp\native-image2329953369683897962args=/export:JNU_GetFieldByName' \
'-H:NativeLinkerOption@C:\Users\isaque\AppData\Local\Temp\native-image2329953369683897962args=/export:JNU_GetStaticFieldByName' \
'-H:NativeLinkerOption@C:\Users\isaque\AppData\Local\Temp\native-image2329953369683897962args=/export:JNU_IsInstanceOfByName' \
'-H:NativeLinkerOption@C:\Users\isaque\AppData\Local\Temp\native-image2329953369683897962args=/export:JNU_NewObjectByName' \
'-H:NativeLinkerOption@C:\Users\isaque\AppData\Local\Temp\native-image2329953369683897962args=/export:JNU_NewStringPlatform' \
'-H:NativeLinkerOption@C:\Users\isaque\AppData\Local\Temp\native-image2329953369683897962args=/export:JNU_SetFieldByName' \
'-H:NativeLinkerOption@C:\Users\isaque\AppData\Local\Temp\native-image2329953369683897962args=/export:JNU_ThrowArrayIndexOutOfBoundsException' \
'-H:NativeLinkerOption@C:\Users\isaque\AppData\Local\Temp\native-image2329953369683897962args=/export:JNU_ThrowByName' \
'-H:NativeLinkerOption@C:\Users\isaque\AppData\Local\Temp\native-image2329953369683897962args=/export:JNU_ThrowIOException' \
'-H:NativeLinkerOption@C:\Users\isaque\AppData\Local\Temp\native-image2329953369683897962args=/export:JNU_ThrowIllegalArgumentException' \
'-H:NativeLinkerOption@C:\Users\isaque\AppData\Local\Temp\native-image2329953369683897962args=/export:JNU_ThrowInternalError' \
'-H:NativeLinkerOption@C:\Users\isaque\AppData\Local\Temp\native-image2329953369683897962args=/export:JNU_ThrowNullPointerException' \
'-H:NativeLinkerOption@C:\Users\isaque\AppData\Local\Temp\native-image2329953369683897962args=/export:JNU_ThrowOutOfMemoryError' \
'-H:CLibraryPath=C:\src\graalvm-ce-java17-22.0.0.2\lib\svm\clibraries\windows-amd64'
]
[main] INFO org.apache.sshd.common.util.security.bouncycastle.BouncyCastleSecurityProviderRegistrar - getOrCreateProvider(BC) created instance of org.bouncycastle.jce.provider.BouncyCastleProvider
[main] INFO org.apache.sshd.common.io.DefaultIoServiceFactoryFactory - No detected/configured IoServiceFactoryFactory using Nio2ServiceFactoryFactory
========================================================================================================================
GraalVM Native Image: Generating 'Example'...
========================================================================================================================
[1/7] Initializing...                                                                                    (6,6s @ 0,14GB)
>> 'C:\Program Files (x86)\Microsoft Visual Studio\2019\Community\VC\Tools\MSVC\14.29.30133\bin\HostX64\x64\cl.exe'
># Microsoft (R) C/C++ Optimizing Compiler Versão 19.29.30133 para x64
># Copyright (C) Microsoft Corporation. Todos os direitos reservados.
>#
># uso: cl [ option... ] filename... [ /link linkoption... ]
>> 'C:\Program Files (x86)\Microsoft Visual Studio\2019\Community\VC\Tools\MSVC\14.29.30133\bin\HostX64\x64\cl.exe' /WX /W4 /wd4244 /wd4245 /wd4800 /wd4804 /wd4214 '/FeC:\MyJavaProjects\java_native\app\build\tmp\native-image-windows\SVM-1651519037038\WindowsDirectives.exe' 'C:\MyJavaProjects\java_native\app\build\tmp\native-image-windows\SVM-1651519037038\WindowsDirectives.c'
># WindowsDirectives.c
># Microsoft (R) Incremental Linker Version 14.29.30133.0
># Copyright (C) Microsoft Corporation.  All rights reserved.
>#
># /out:C:\MyJavaProjects\java_native\app\build\tmp\native-image-windows\SVM-1651519037038\WindowsDirectives.exe
># WindowsDirectives.obj
>> 'C:\Program Files (x86)\Microsoft Visual Studio\2019\Community\VC\Tools\MSVC\14.29.30133\bin\HostX64\x64\cl.exe' /WX /W4 /wd4244 /wd4245 /wd4800 /wd4804 /wd4214 '/FeC:\MyJavaProjects\java_native\app\build\tmp\native-image-windows\SVM-1651519037038\BuiltinDirectives.exe' 'C:\MyJavaProjects\java_native\app\build\tmp\native-image-windows\SVM-1651519037038\BuiltinDirectives.c'
># BuiltinDirectives.c
># Microsoft (R) Incremental Linker Version 14.29.30133.0
># Copyright (C) Microsoft Corporation.  All rights reserved.
>#
># /out:C:\MyJavaProjects\java_native\app\build\tmp\native-image-windows\SVM-1651519037038\BuiltinDirectives.exe
># BuiltinDirectives.obj
>> 'C:\Program Files (x86)\Microsoft Visual Studio\2019\Community\VC\Tools\MSVC\14.29.30133\bin\HostX64\x64\cl.exe' /WX /W4 /wd4244 /wd4245 /wd4800 /wd4804 /wd4214 '/FeC:\MyJavaProjects\java_native\app\build\tmp\native-image-windows\SVM-1651519037038\AMD64LibCHelperDirectives.exe' 'C:\MyJavaProjects\java_native\app\build\tmp\native-image-windows\SVM-1651519037038\AMD64LibCHelperDirectives.c'
># AMD64LibCHelperDirectives.c
># Microsoft (R) Incremental Linker Version 14.29.30133.0
># Copyright (C) Microsoft Corporation.  All rights reserved.
>#
># /out:C:\MyJavaProjects\java_native\app\build\tmp\native-image-windows\SVM-1651519037038\AMD64LibCHelperDirectives.exe
># AMD64LibCHelperDirectives.obj
>> 'C:\Program Files (x86)\Microsoft Visual Studio\2019\Community\VC\Tools\MSVC\14.29.30133\bin\HostX64\x64\cl.exe' /WX /W4 /wd4244 /wd4245 /wd4800 /wd4804 /wd4214 '/FeC:\MyJavaProjects\java_native\app\build\tmp\native-image-windows\SVM-1651519037038\AArch64LibCHelperDirectives.exe' 'C:\MyJavaProjects\java_native\app\build\tmp\native-image-windows\SVM-1651519037038\AArch64LibCHelperDirectives.c'
># AArch64LibCHelperDirectives.c
># Microsoft (R) Incremental Linker Version 14.29.30133.0
># Copyright (C) Microsoft Corporation.  All rights reserved.
>#
># /out:C:\MyJavaProjects\java_native\app\build\tmp\native-image-windows\SVM-1651519037038\AArch64LibCHelperDirectives.exe
># AArch64LibCHelperDirectives.obj
>> 'C:\Program Files (x86)\Microsoft Visual Studio\2019\Community\VC\Tools\MSVC\14.29.30133\bin\HostX64\x64\cl.exe' /WX /W4 /wd4244 /wd4245 /wd4800 /wd4804 /wd4214 '-IC:\src\graalvm-ce-java17-22.0.0.2\include\win32' '/FeC:\MyJavaProjects\java_native\app\build\tmp\native-image-windows\SVM-1651519037038\JNIHeaderDirectives.exe' 'C:\MyJavaProjects\java_native\app\build\tmp\native-image-windows\SVM-1651519037038\JNIHeaderDirectives.c'
># JNIHeaderDirectives.c
># Microsoft (R) Incremental Linker Version 14.29.30133.0
># Copyright (C) Microsoft Corporation.  All rights reserved.
>#
># /out:C:\MyJavaProjects\java_native\app\build\tmp\native-image-windows\SVM-1651519037038\JNIHeaderDirectives.exe
># JNIHeaderDirectives.obj
 Version info: 'GraalVM 22.0.0.2 Java 17 CE'
 1 user-provided feature(s)
  - demo.BouncyCastleFeature
# Printing compilation-target information to: C:\MyJavaProjects\java_native\app\build\native-image-windows\reports\target_info_20220502_161720.txt
[2/7] Performing analysis...  []                                                                        (13,2s @ 0,86GB)
To see how the classes got initialized, use --trace-class-initialization=org.apache.sshd.core.CoreModuleProperties,org.apache.sshd.common.util.security.SecurityUtils,org.apache.sshd.client.config.keys.DefaultClientIdentitiesWatcher,org.apache.sshd.common.util.OsUtils,org.apache.sshd.client.config.hosts.HostConfigEntry,org.apache.sshd.common.keyprovider.KeyPairProvider,org.apache.sshd.common.kex.extension.DefaultClientKexExtensionHandler,org.apache.sshd.common.util.net.SshdSocketAddress,org.slf4j.LoggerFactory,org.apache.sshd.common.NamedResource,org.apache.sshd.client.config.keys.ClientIdentityFileWatcher,org.apache.sshd.common.util.NumberUtils,org.apache.sshd.server.forward.RejectAllForwardingFilter,org.apache.sshd.client.config.keys.ClientIdentitiesWatcher,org.apache.sshd.common.SyspropsMapWrapper,org.apache.sshd.common.session.ConnectionServiceRequestHandler,org.apache.sshd.common.file.nativefs.NativeFileSystemFactory,org.apache.sshd.common.util.security.SecurityProviderRegistrar,org.apache.sshd.common.io.DefaultIoServiceFactoryFactory,org.apache.sshd.client.auth.pubkey.UserAuthPublicKeyFactory,org.apache.sshd.client.session.ClientConnectionServiceFactory,org.apache.sshd.common.config.keys.FilePasswordProvider,org.apache.sshd.common.PropertyResolverUtils,org.apache.sshd.common.util.EventListenerUtils,org.apache.sshd.common.util.security.bouncycastle.BouncyCastleRandomFactory,org.apache.sshd.client.SshClient,org.apache.sshd.client.config.keys.BuiltinClientIdentitiesWatcher,org.apache.sshd.client.keyverifier.AcceptAllServerKeyVerifier,org.apache.sshd.common.session.helpers.AbstractConnectionServiceRequestHandler,org.apache.sshd.common.session.helpers.DefaultUnknownChannelReferenceHandler,org.apache.sshd.common.util.io.IoUtils,org.apache.sshd.common.config.keys.PublicKeyEntry$LazyDefaultKeysFolderHolder,org.apache.sshd.common.keyprovider.AbstractKeyPairProvider,org.apache.sshd.client.config.hosts.HostPatternsHolder,org.apache.sshd.common.config.keys.PublicKeyEntry,org.apache.sshd.client.ClientBuilder,org.apache.sshd.common.io.DefaultIoServiceFactoryFactory$LazyDefaultIoServiceFactoryFactoryHolder,org.apache.sshd.client.auth.password.UserAuthPasswordFactory,org.apache.sshd.common.global.AbstractOpenSshHostKeysHandler,org.apache.sshd.client.session.ClientUserAuthServiceFactory,org.apache.sshd.common.util.ReflectionUtils,org.apache.sshd.client.config.hosts.ConfigFileHostEntryResolver,org.apache.sshd.client.config.keys.ClientIdentity,org.apache.sshd.server.forward.ForwardedTcpipFactory,org.apache.sshd.client.auth.AuthenticationIdentitiesProvider,org.apache.sshd.client.config.hosts.DefaultConfigFileHostEntryResolver,org.apache.sshd.client.global.OpenSshHostKeysHandler,org.apache.sshd.client.auth.keyboard.UserAuthKeyboardInteractiveFactory,org.apache.sshd.common.util.GenericUtils,org.apache.sshd.common.util.io.ModifiableFileWatcher,org.apache.sshd.common.forward.DefaultForwarderFactory,org.apache.sshd.common.util.MapEntryUtils,org.apache.sshd.common.BaseBuilder
   3.905 (87,07%) of  4.485 classes reachable
   4.450 (55,32%) of  8.044 fields reachable
  15.096 (79,05%) of 19.097 methods reachable
     137 classes,    67 fields, and   164 methods registered for reflection

Error: Classes that should be initialized at run time got initialized during image building:
 org.apache.sshd.core.CoreModuleProperties was unintentionally initialized at build time. To see why org.apache.sshd.core.CoreModuleProperties got initialized use --trace-class-initialization=org.apache.sshd.core.CoreModuleProperties
org.apache.sshd.common.util.security.SecurityUtils was unintentionally initialized at build time. To see why org.apache.sshd.common.util.security.SecurityUtils got initialized use --trace-class-initialization=org.apache.sshd.common.util.security.SecurityUtils
org.apache.sshd.client.config.keys.DefaultClientIdentitiesWatcher was unintentionally initialized at build time. To see why org.apache.sshd.client.config.keys.DefaultClientIdentitiesWatcher got initialized use --trace-class-initialization=org.apache.sshd.client.config.keys.DefaultClientIdentitiesWatcher
org.apache.sshd.common.util.OsUtils was unintentionally initialized at build time. To see why org.apache.sshd.common.util.OsUtils got initialized use --trace-class-initialization=org.apache.sshd.common.util.OsUtils
org.apache.sshd.client.config.hosts.HostConfigEntry was unintentionally initialized at build time. To see why org.apache.sshd.client.config.hosts.HostConfigEntry got initialized use --trace-class-initialization=org.apache.sshd.client.config.hosts.HostConfigEntry
org.apache.sshd.common.keyprovider.KeyPairProvider was unintentionally initialized at build time. To see why org.apache.sshd.common.keyprovider.KeyPairProvider got initialized use --trace-class-initialization=org.apache.sshd.common.keyprovider.KeyPairProvider
org.apache.sshd.common.kex.extension.DefaultClientKexExtensionHandler was unintentionally initialized at build time. To see why org.apache.sshd.common.kex.extension.DefaultClientKexExtensionHandler got initialized use --trace-class-initialization=org.apache.sshd.common.kex.extension.DefaultClientKexExtensionHandler        
org.apache.sshd.common.util.net.SshdSocketAddress was unintentionally initialized at build time. To see why org.apache.sshd.common.util.net.SshdSocketAddress got initialized use --trace-class-initialization=org.apache.sshd.common.util.net.SshdSocketAddress
org.slf4j.LoggerFactory was unintentionally initialized at build time. To see why org.slf4j.LoggerFactory got initialized use --trace-class-initialization=org.slf4j.LoggerFactory
org.apache.sshd.common.NamedResource was unintentionally initialized at build time. To see why org.apache.sshd.common.NamedResource got initialized use --trace-class-initialization=org.apache.sshd.common.NamedResource
org.apache.sshd.client.config.keys.ClientIdentityFileWatcher was unintentionally initialized at build time. To see why org.apache.sshd.client.config.keys.ClientIdentityFileWatcher got initialized use --trace-class-initialization=org.apache.sshd.client.config.keys.ClientIdentityFileWatcher
org.apache.sshd.common.util.NumberUtils was unintentionally initialized at build time. To see why org.apache.sshd.common.util.NumberUtils got initialized use --trace-class-initialization=org.apache.sshd.common.util.NumberUtils
org.apache.sshd.server.forward.RejectAllForwardingFilter was unintentionally initialized at build time. To see why org.apache.sshd.server.forward.RejectAllForwardingFilter got initialized use --trace-class-initialization=org.apache.sshd.server.forward.RejectAllForwardingFilter
org.apache.sshd.client.config.keys.ClientIdentitiesWatcher was unintentionally initialized at build time. To see why org.apache.sshd.client.config.keys.ClientIdentitiesWatcher got initialized use --trace-class-initialization=org.apache.sshd.client.config.keys.ClientIdentitiesWatcher
org.apache.sshd.common.SyspropsMapWrapper was unintentionally initialized at build time. To see why org.apache.sshd.common.SyspropsMapWrapper got initialized use --trace-class-initialization=org.apache.sshd.common.SyspropsMapWrapper
org.apache.sshd.common.session.ConnectionServiceRequestHandler was unintentionally initialized at build time. To see why org.apache.sshd.common.session.ConnectionServiceRequestHandler got initialized use --trace-class-initialization=org.apache.sshd.common.session.ConnectionServiceRequestHandler
org.apache.sshd.common.file.nativefs.NativeFileSystemFactory was unintentionally initialized at build time. To see why org.apache.sshd.common.file.nativefs.NativeFileSystemFactory got initialized use --trace-class-initialization=org.apache.sshd.common.file.nativefs.NativeFileSystemFactory
org.apache.sshd.common.util.security.SecurityProviderRegistrar was unintentionally initialized at build time. To see why org.apache.sshd.common.util.security.SecurityProviderRegistrar got initialized use --trace-class-initialization=org.apache.sshd.common.util.security.SecurityProviderRegistrar
org.apache.sshd.common.io.DefaultIoServiceFactoryFactory was unintentionally initialized at build time. To see why org.apache.sshd.common.io.DefaultIoServiceFactoryFactory got initialized use --trace-class-initialization=org.apache.sshd.common.io.DefaultIoServiceFactoryFactory
org.apache.sshd.client.auth.pubkey.UserAuthPublicKeyFactory was unintentionally initialized at build time. To see why org.apache.sshd.client.auth.pubkey.UserAuthPublicKeyFactory got initialized use --trace-class-initialization=org.apache.sshd.client.auth.pubkey.UserAuthPublicKeyFactory
org.apache.sshd.client.session.ClientConnectionServiceFactory was unintentionally initialized at build time. To see why org.apache.sshd.client.session.ClientConnectionServiceFactory got initialized use --trace-class-initialization=org.apache.sshd.client.session.ClientConnectionServiceFactory
org.apache.sshd.common.config.keys.FilePasswordProvider was unintentionally initialized at build time. To see why org.apache.sshd.common.config.keys.FilePasswordProvider got initialized use --trace-class-initialization=org.apache.sshd.common.config.keys.FilePasswordProvider
org.apache.sshd.common.PropertyResolverUtils was unintentionally initialized at build time. To see why org.apache.sshd.common.PropertyResolverUtils got initialized use --trace-class-initialization=org.apache.sshd.common.PropertyResolverUtils
org.apache.sshd.common.util.EventListenerUtils was unintentionally initialized at build time. To see why org.apache.sshd.common.util.EventListenerUtils got initialized use --trace-class-initialization=org.apache.sshd.common.util.EventListenerUtils
org.apache.sshd.common.util.security.bouncycastle.BouncyCastleRandomFactory was unintentionally initialized at build time. To see why org.apache.sshd.common.util.security.bouncycastle.BouncyCastleRandomFactory got initialized use --trace-class-initialization=org.apache.sshd.common.util.security.bouncycastle.BouncyCastleRandomFactory
org.apache.sshd.client.SshClient was unintentionally initialized at build time. To see why org.apache.sshd.client.SshClient got initialized use --trace-class-initialization=org.apache.sshd.client.SshClient
org.apache.sshd.client.config.keys.BuiltinClientIdentitiesWatcher was unintentionally initialized at build time. To see why org.apache.sshd.client.config.keys.BuiltinClientIdentitiesWatcher got initialized use --trace-class-initialization=org.apache.sshd.client.config.keys.BuiltinClientIdentitiesWatcher
org.apache.sshd.client.keyverifier.AcceptAllServerKeyVerifier was unintentionally initialized at build time. To see why org.apache.sshd.client.keyverifier.AcceptAllServerKeyVerifier got initialized use --trace-class-initialization=org.apache.sshd.client.keyverifier.AcceptAllServerKeyVerifier
org.apache.sshd.common.session.helpers.AbstractConnectionServiceRequestHandler was unintentionally initialized at build time. To see why org.apache.sshd.common.session.helpers.AbstractConnectionServiceRequestHandler got initialized use --trace-class-initialization=org.apache.sshd.common.session.helpers.AbstractConnectionServiceRequestHandler
org.apache.sshd.common.session.helpers.DefaultUnknownChannelReferenceHandler was unintentionally initialized at build time. To see why org.apache.sshd.common.session.helpers.DefaultUnknownChannelReferenceHandler got initialized use --trace-class-initialization=org.apache.sshd.common.session.helpers.DefaultUnknownChannelReferenceHandler
org.apache.sshd.common.util.io.IoUtils was unintentionally initialized at build time. To see why org.apache.sshd.common.util.io.IoUtils got initialized use --trace-class-initialization=org.apache.sshd.common.util.io.IoUtils
org.apache.sshd.common.config.keys.PublicKeyEntry$LazyDefaultKeysFolderHolder was unintentionally initialized at build time. To see why org.apache.sshd.common.config.keys.PublicKeyEntry$LazyDefaultKeysFolderHolder got initialized use --trace-class-initialization=org.apache.sshd.common.config.keys.PublicKeyEntry$LazyDefaultKeysFolderHolder
org.apache.sshd.common.keyprovider.AbstractKeyPairProvider was unintentionally initialized at build time. To see why org.apache.sshd.common.keyprovider.AbstractKeyPairProvider got initialized use --trace-class-initialization=org.apache.sshd.common.keyprovider.AbstractKeyPairProvider
org.apache.sshd.client.config.hosts.HostPatternsHolder was unintentionally initialized at build time. To see why org.apache.sshd.client.config.hosts.HostPatternsHolder got initialized use --trace-class-initialization=org.apache.sshd.client.config.hosts.HostPatternsHolder
org.apache.sshd.common.config.keys.PublicKeyEntry was unintentionally initialized at build time. To see why org.apache.sshd.common.config.keys.PublicKeyEntry got initialized use --trace-class-initialization=org.apache.sshd.common.config.keys.PublicKeyEntry
org.apache.sshd.client.ClientBuilder was unintentionally initialized at build time. To see why org.apache.sshd.client.ClientBuilder got initialized use --trace-class-initialization=org.apache.sshd.client.ClientBuilder
org.apache.sshd.common.io.DefaultIoServiceFactoryFactory$LazyDefaultIoServiceFactoryFactoryHolder was unintentionally initialized at build time. To see why org.apache.sshd.common.io.DefaultIoServiceFactoryFactory$LazyDefaultIoServiceFactoryFactoryHolder got initialized use --trace-class-initialization=org.apache.sshd.common.io.DefaultIoServiceFactoryFactory$LazyDefaultIoServiceFactoryFactoryHolder
org.apache.sshd.client.auth.password.UserAuthPasswordFactory was unintentionally initialized at build time. To see why org.apache.sshd.client.auth.password.UserAuthPasswordFactory got initialized use --trace-class-initialization=org.apache.sshd.client.auth.password.UserAuthPasswordFactory
org.apache.sshd.common.global.AbstractOpenSshHostKeysHandler was unintentionally initialized at build time. To see why org.apache.sshd.common.global.AbstractOpenSshHostKeysHandler got initialized use --trace-class-initialization=org.apache.sshd.common.global.AbstractOpenSshHostKeysHandler
org.apache.sshd.client.session.ClientUserAuthServiceFactory was unintentionally initialized at build time. To see why org.apache.sshd.client.session.ClientUserAuthServiceFactory got initialized use --trace-class-initialization=org.apache.sshd.client.session.ClientUserAuthServiceFactory
org.apache.sshd.common.util.ReflectionUtils was unintentionally initialized at build time. To see why org.apache.sshd.common.util.ReflectionUtils got initialized use --trace-class-initialization=org.apache.sshd.common.util.ReflectionUtils
org.apache.sshd.client.config.hosts.ConfigFileHostEntryResolver was unintentionally initialized at build time. To see why org.apache.sshd.client.config.hosts.ConfigFileHostEntryResolver got initialized use --trace-class-initialization=org.apache.sshd.client.config.hosts.ConfigFileHostEntryResolver
org.apache.sshd.client.config.keys.ClientIdentity was unintentionally initialized at build time. To see why org.apache.sshd.client.config.keys.ClientIdentity got initialized use --trace-class-initialization=org.apache.sshd.client.config.keys.ClientIdentity
org.apache.sshd.server.forward.ForwardedTcpipFactory was unintentionally initialized at build time. To see why org.apache.sshd.server.forward.ForwardedTcpipFactory got initialized use --trace-class-initialization=org.apache.sshd.server.forward.ForwardedTcpipFactory
org.apache.sshd.client.auth.AuthenticationIdentitiesProvider was unintentionally initialized at build time. To see why org.apache.sshd.client.auth.AuthenticationIdentitiesProvider got initialized use --trace-class-initialization=org.apache.sshd.client.auth.AuthenticationIdentitiesProvider
org.apache.sshd.client.config.hosts.DefaultConfigFileHostEntryResolver was unintentionally initialized at build time. To see why org.apache.sshd.client.config.hosts.DefaultConfigFileHostEntryResolver got initialized use --trace-class-initialization=org.apache.sshd.client.config.hosts.DefaultConfigFileHostEntryResolver     
org.apache.sshd.client.global.OpenSshHostKeysHandler was unintentionally initialized at build time. To see why org.apache.sshd.client.global.OpenSshHostKeysHandler got initialized use --trace-class-initialization=org.apache.sshd.client.global.OpenSshHostKeysHandler
org.apache.sshd.client.auth.keyboard.UserAuthKeyboardInteractiveFactory was unintentionally initialized at build time. To see why org.apache.sshd.client.auth.keyboard.UserAuthKeyboardInteractiveFactory got initialized use --trace-class-initialization=org.apache.sshd.client.auth.keyboard.UserAuthKeyboardInteractiveFactory  
org.apache.sshd.common.util.GenericUtils was unintentionally initialized at build time. To see why org.apache.sshd.common.util.GenericUtils got initialized use --trace-class-initialization=org.apache.sshd.common.util.GenericUtils
org.apache.sshd.common.util.io.ModifiableFileWatcher was unintentionally initialized at build time. To see why org.apache.sshd.common.util.io.ModifiableFileWatcher got initialized use --trace-class-initialization=org.apache.sshd.common.util.io.ModifiableFileWatcher
org.apache.sshd.common.forward.DefaultForwarderFactory was unintentionally initialized at build time. To see why org.apache.sshd.common.forward.DefaultForwarderFactory got initialized use --trace-class-initialization=org.apache.sshd.common.forward.DefaultForwarderFactory
org.apache.sshd.common.util.MapEntryUtils was unintentionally initialized at build time. To see why org.apache.sshd.common.util.MapEntryUtils got initialized use --trace-class-initialization=org.apache.sshd.common.util.MapEntryUtils
org.apache.sshd.common.BaseBuilder was unintentionally initialized at build time. To see why org.apache.sshd.common.BaseBuilder got initialized use --trace-class-initialization=org.apache.sshd.common.BaseBuilder

com.oracle.svm.core.util.UserError$UserException: Classes that should be initialized at run time got initialized during image building:
 org.apache.sshd.core.CoreModuleProperties was unintentionally initialized at build time. To see why org.apache.sshd.core.CoreModuleProperties got initialized use --trace-class-initialization=org.apache.sshd.core.CoreModuleProperties
org.apache.sshd.common.util.security.SecurityUtils was unintentionally initialized at build time. To see why org.apache.sshd.common.util.security.SecurityUtils got initialized use --trace-class-initialization=org.apache.sshd.common.util.security.SecurityUtils
org.apache.sshd.client.config.keys.DefaultClientIdentitiesWatcher was unintentionally initialized at build time. To see why org.apache.sshd.client.config.keys.DefaultClientIdentitiesWatcher got initialized use --trace-class-initialization=org.apache.sshd.client.config.keys.DefaultClientIdentitiesWatcher
org.apache.sshd.common.util.OsUtils was unintentionally initialized at build time. To see why org.apache.sshd.common.util.OsUtils got initialized use --trace-class-initialization=org.apache.sshd.common.util.OsUtils
org.apache.sshd.client.config.hosts.HostConfigEntry was unintentionally initialized at build time. To see why org.apache.sshd.client.config.hosts.HostConfigEntry got initialized use --trace-class-initialization=org.apache.sshd.client.config.hosts.HostConfigEntry
org.apache.sshd.common.keyprovider.KeyPairProvider was unintentionally initialized at build time. To see why org.apache.sshd.common.keyprovider.KeyPairProvider got initialized use --trace-class-initialization=org.apache.sshd.common.keyprovider.KeyPairProvider
org.apache.sshd.common.kex.extension.DefaultClientKexExtensionHandler was unintentionally initialized at build time. To see why org.apache.sshd.common.kex.extension.DefaultClientKexExtensionHandler got initialized use --trace-class-initialization=org.apache.sshd.common.kex.extension.DefaultClientKexExtensionHandler        
org.apache.sshd.common.util.net.SshdSocketAddress was unintentionally initialized at build time. To see why org.apache.sshd.common.util.net.SshdSocketAddress got initialized use --trace-class-initialization=org.apache.sshd.common.util.net.SshdSocketAddress
org.slf4j.LoggerFactory was unintentionally initialized at build time. To see why org.slf4j.LoggerFactory got initialized use --trace-class-initialization=org.slf4j.LoggerFactory
org.apache.sshd.common.NamedResource was unintentionally initialized at build time. To see why org.apache.sshd.common.NamedResource got initialized use --trace-class-initialization=org.apache.sshd.common.NamedResource
org.apache.sshd.client.config.keys.ClientIdentityFileWatcher was unintentionally initialized at build time. To see why org.apache.sshd.client.config.keys.ClientIdentityFileWatcher got initialized use --trace-class-initialization=org.apache.sshd.client.config.keys.ClientIdentityFileWatcher
org.apache.sshd.common.util.NumberUtils was unintentionally initialized at build time. To see why org.apache.sshd.common.util.NumberUtils got initialized use --trace-class-initialization=org.apache.sshd.common.util.NumberUtils
org.apache.sshd.server.forward.RejectAllForwardingFilter was unintentionally initialized at build time. To see why org.apache.sshd.server.forward.RejectAllForwardingFilter got initialized use --trace-class-initialization=org.apache.sshd.server.forward.RejectAllForwardingFilter
org.apache.sshd.client.config.keys.ClientIdentitiesWatcher was unintentionally initialized at build time. To see why org.apache.sshd.client.config.keys.ClientIdentitiesWatcher got initialized use --trace-class-initialization=org.apache.sshd.client.config.keys.ClientIdentitiesWatcher
org.apache.sshd.common.SyspropsMapWrapper was unintentionally initialized at build time. To see why org.apache.sshd.common.SyspropsMapWrapper got initialized use --trace-class-initialization=org.apache.sshd.common.SyspropsMapWrapper
org.apache.sshd.common.session.ConnectionServiceRequestHandler was unintentionally initialized at build time. To see why org.apache.sshd.common.session.ConnectionServiceRequestHandler got initialized use --trace-class-initialization=org.apache.sshd.common.session.ConnectionServiceRequestHandler
org.apache.sshd.common.file.nativefs.NativeFileSystemFactory was unintentionally initialized at build time. To see why org.apache.sshd.common.file.nativefs.NativeFileSystemFactory got initialized use --trace-class-initialization=org.apache.sshd.common.file.nativefs.NativeFileSystemFactory
org.apache.sshd.common.util.security.SecurityProviderRegistrar was unintentionally initialized at build time. To see why org.apache.sshd.common.util.security.SecurityProviderRegistrar got initialized use --trace-class-initialization=org.apache.sshd.common.util.security.SecurityProviderRegistrar
org.apache.sshd.common.io.DefaultIoServiceFactoryFactory was unintentionally initialized at build time. To see why org.apache.sshd.common.io.DefaultIoServiceFactoryFactory got initialized use --trace-class-initialization=org.apache.sshd.common.io.DefaultIoServiceFactoryFactory
org.apache.sshd.client.auth.pubkey.UserAuthPublicKeyFactory was unintentionally initialized at build time. To see why org.apache.sshd.client.auth.pubkey.UserAuthPublicKeyFactory got initialized use --trace-class-initialization=org.apache.sshd.client.auth.pubkey.UserAuthPublicKeyFactory
org.apache.sshd.client.session.ClientConnectionServiceFactory was unintentionally initialized at build time. To see why org.apache.sshd.client.session.ClientConnectionServiceFactory got initialized use --trace-class-initialization=org.apache.sshd.client.session.ClientConnectionServiceFactory
org.apache.sshd.common.config.keys.FilePasswordProvider was unintentionally initialized at build time. To see why org.apache.sshd.common.config.keys.FilePasswordProvider got initialized use --trace-class-initialization=org.apache.sshd.common.config.keys.FilePasswordProvider
org.apache.sshd.common.PropertyResolverUtils was unintentionally initialized at build time. To see why org.apache.sshd.common.PropertyResolverUtils got initialized use --trace-class-initialization=org.apache.sshd.common.PropertyResolverUtils
org.apache.sshd.common.util.EventListenerUtils was unintentionally initialized at build time. To see why org.apache.sshd.common.util.EventListenerUtils got initialized use --trace-class-initialization=org.apache.sshd.common.util.EventListenerUtils
org.apache.sshd.common.util.security.bouncycastle.BouncyCastleRandomFactory was unintentionally initialized at build time. To see why org.apache.sshd.common.util.security.bouncycastle.BouncyCastleRandomFactory got initialized use --trace-class-initialization=org.apache.sshd.common.util.security.bouncycastle.BouncyCastleRandomFactory
org.apache.sshd.client.SshClient was unintentionally initialized at build time. To see why org.apache.sshd.client.SshClient got initialized use --trace-class-initialization=org.apache.sshd.client.SshClient
org.apache.sshd.client.config.keys.BuiltinClientIdentitiesWatcher was unintentionally initialized at build time. To see why org.apache.sshd.client.config.keys.BuiltinClientIdentitiesWatcher got initialized use --trace-class-initialization=org.apache.sshd.client.config.keys.BuiltinClientIdentitiesWatcher
org.apache.sshd.client.keyverifier.AcceptAllServerKeyVerifier was unintentionally initialized at build time. To see why org.apache.sshd.client.keyverifier.AcceptAllServerKeyVerifier got initialized use --trace-class-initialization=org.apache.sshd.client.keyverifier.AcceptAllServerKeyVerifier
org.apache.sshd.common.session.helpers.AbstractConnectionServiceRequestHandler was unintentionally initialized at build time. To see why org.apache.sshd.common.session.helpers.AbstractConnectionServiceRequestHandler got initialized use --trace-class-initialization=org.apache.sshd.common.session.helpers.AbstractConnectionServiceRequestHandler
org.apache.sshd.common.session.helpers.DefaultUnknownChannelReferenceHandler was unintentionally initialized at build time. To see why org.apache.sshd.common.session.helpers.DefaultUnknownChannelReferenceHandler got initialized use --trace-class-initialization=org.apache.sshd.common.session.helpers.DefaultUnknownChannelReferenceHandler
org.apache.sshd.common.util.io.IoUtils was unintentionally initialized at build time. To see why org.apache.sshd.common.util.io.IoUtils got initialized use --trace-class-initialization=org.apache.sshd.common.util.io.IoUtils
org.apache.sshd.common.config.keys.PublicKeyEntry$LazyDefaultKeysFolderHolder was unintentionally initialized at build time. To see why org.apache.sshd.common.config.keys.PublicKeyEntry$LazyDefaultKeysFolderHolder got initialized use --trace-class-initialization=org.apache.sshd.common.config.keys.PublicKeyEntry$LazyDefaultKeysFolderHolder
org.apache.sshd.common.keyprovider.AbstractKeyPairProvider was unintentionally initialized at build time. To see why org.apache.sshd.common.keyprovider.AbstractKeyPairProvider got initialized use --trace-class-initialization=org.apache.sshd.common.keyprovider.AbstractKeyPairProvider
org.apache.sshd.client.config.hosts.HostPatternsHolder was unintentionally initialized at build time. To see why org.apache.sshd.client.config.hosts.HostPatternsHolder got initialized use --trace-class-initialization=org.apache.sshd.client.config.hosts.HostPatternsHolder
org.apache.sshd.common.config.keys.PublicKeyEntry was unintentionally initialized at build time. To see why org.apache.sshd.common.config.keys.PublicKeyEntry got initialized use --trace-class-initialization=org.apache.sshd.common.config.keys.PublicKeyEntry
org.apache.sshd.client.ClientBuilder was unintentionally initialized at build time. To see why org.apache.sshd.client.ClientBuilder got initialized use --trace-class-initialization=org.apache.sshd.client.ClientBuilder
org.apache.sshd.common.io.DefaultIoServiceFactoryFactory$LazyDefaultIoServiceFactoryFactoryHolder was unintentionally initialized at build time. To see why org.apache.sshd.common.io.DefaultIoServiceFactoryFactory$LazyDefaultIoServiceFactoryFactoryHolder got initialized use --trace-class-initialization=org.apache.sshd.common.io.DefaultIoServiceFactoryFactory$LazyDefaultIoServiceFactoryFactoryHolder
org.apache.sshd.client.auth.password.UserAuthPasswordFactory was unintentionally initialized at build time. To see why org.apache.sshd.client.auth.password.UserAuthPasswordFactory got initialized use --trace-class-initialization=org.apache.sshd.client.auth.password.UserAuthPasswordFactory
org.apache.sshd.common.global.AbstractOpenSshHostKeysHandler was unintentionally initialized at build time. To see why org.apache.sshd.common.global.AbstractOpenSshHostKeysHandler got initialized use --trace-class-initialization=org.apache.sshd.common.global.AbstractOpenSshHostKeysHandler
org.apache.sshd.client.session.ClientUserAuthServiceFactory was unintentionally initialized at build time. To see why org.apache.sshd.client.session.ClientUserAuthServiceFactory got initialized use --trace-class-initialization=org.apache.sshd.client.session.ClientUserAuthServiceFactory
org.apache.sshd.common.util.ReflectionUtils was unintentionally initialized at build time. To see why org.apache.sshd.common.util.ReflectionUtils got initialized use --trace-class-initialization=org.apache.sshd.common.util.ReflectionUtils
org.apache.sshd.client.config.hosts.ConfigFileHostEntryResolver was unintentionally initialized at build time. To see why org.apache.sshd.client.config.hosts.ConfigFileHostEntryResolver got initialized use --trace-class-initialization=org.apache.sshd.client.config.hosts.ConfigFileHostEntryResolver
org.apache.sshd.client.config.keys.ClientIdentity was unintentionally initialized at build time. To see why org.apache.sshd.client.config.keys.ClientIdentity got initialized use --trace-class-initialization=org.apache.sshd.client.config.keys.ClientIdentity
org.apache.sshd.server.forward.ForwardedTcpipFactory was unintentionally initialized at build time. To see why org.apache.sshd.server.forward.ForwardedTcpipFactory got initialized use --trace-class-initialization=org.apache.sshd.server.forward.ForwardedTcpipFactory
org.apache.sshd.client.auth.AuthenticationIdentitiesProvider was unintentionally initialized at build time. To see why org.apache.sshd.client.auth.AuthenticationIdentitiesProvider got initialized use --trace-class-initialization=org.apache.sshd.client.auth.AuthenticationIdentitiesProvider
org.apache.sshd.client.config.hosts.DefaultConfigFileHostEntryResolver was unintentionally initialized at build time. To see why org.apache.sshd.client.config.hosts.DefaultConfigFileHostEntryResolver got initialized use --trace-class-initialization=org.apache.sshd.client.config.hosts.DefaultConfigFileHostEntryResolver     
org.apache.sshd.client.global.OpenSshHostKeysHandler was unintentionally initialized at build time. To see why org.apache.sshd.client.global.OpenSshHostKeysHandler got initialized use --trace-class-initialization=org.apache.sshd.client.global.OpenSshHostKeysHandler
org.apache.sshd.client.auth.keyboard.UserAuthKeyboardInteractiveFactory was unintentionally initialized at build time. To see why org.apache.sshd.client.auth.keyboard.UserAuthKeyboardInteractiveFactory got initialized use --trace-class-initialization=org.apache.sshd.client.auth.keyboard.UserAuthKeyboardInteractiveFactory  
org.apache.sshd.common.util.GenericUtils was unintentionally initialized at build time. To see why org.apache.sshd.common.util.GenericUtils got initialized use --trace-class-initialization=org.apache.sshd.common.util.GenericUtils
org.apache.sshd.common.util.io.ModifiableFileWatcher was unintentionally initialized at build time. To see why org.apache.sshd.common.util.io.ModifiableFileWatcher got initialized use --trace-class-initialization=org.apache.sshd.common.util.io.ModifiableFileWatcher
org.apache.sshd.common.forward.DefaultForwarderFactory was unintentionally initialized at build time. To see why org.apache.sshd.common.forward.DefaultForwarderFactory got initialized use --trace-class-initialization=org.apache.sshd.common.forward.DefaultForwarderFactory
org.apache.sshd.common.util.MapEntryUtils was unintentionally initialized at build time. To see why org.apache.sshd.common.util.MapEntryUtils got initialized use --trace-class-initialization=org.apache.sshd.common.util.MapEntryUtils
org.apache.sshd.common.BaseBuilder was unintentionally initialized at build time. To see why org.apache.sshd.common.BaseBuilder got initialized use --trace-class-initialization=org.apache.sshd.common.BaseBuilder

        at com.oracle.svm.core.util.UserError.abort(UserError.java:73)
        at com.oracle.svm.hosted.classinitialization.ConfigurableClassInitialization.checkDelayedInitialization(ConfigurableClassInitialization.java:555)
        at com.oracle.svm.hosted.classinitialization.ClassInitializationFeature.duringAnalysis(ClassInitializationFeature.java:167)
        at com.oracle.svm.hosted.NativeImageGenerator.lambda$runPointsToAnalysis$10(NativeImageGenerator.java:704)
        at com.oracle.svm.hosted.FeatureHandler.forEachFeature(FeatureHandler.java:74)
        at com.oracle.svm.hosted.NativeImageGenerator.lambda$runPointsToAnalysis$11(NativeImageGenerator.java:704)
        at com.oracle.graal.pointsto.PointsToAnalysis.runAnalysis(PointsToAnalysis.java:755)
        at com.oracle.svm.hosted.NativeImageGenerator.runPointsToAnalysis(NativeImageGenerator.java:702)
        at com.oracle.svm.hosted.NativeImageGenerator.doRun(NativeImageGenerator.java:537)
        at com.oracle.svm.hosted.NativeImageGenerator.run(NativeImageGenerator.java:494)
        at com.oracle.svm.hosted.NativeImageGeneratorRunner.buildImage(NativeImageGeneratorRunner.java:426)
        at com.oracle.svm.hosted.NativeImageGeneratorRunner.build(NativeImageGeneratorRunner.java:587)
        at com.oracle.svm.hosted.NativeImageGeneratorRunner.main(NativeImageGeneratorRunner.java:126)
        at com.oracle.svm.hosted.NativeImageGeneratorRunner$JDK9Plus.main(NativeImageGeneratorRunner.java:617)
------------------------------------------------------------------------------------------------------------------------
                        0,7s (3,4% of total time) in 15 GCs | Peak RSS: 1,56GB | CPU load: 3,39
------------------------------------------------------------------------------------------------------------------------
Produced artifacts:
 C:\MyJavaProjects\java_native\app\build\native-image-windows\Example.build_artifacts.txt
========================================================================================================================
Failed generating 'Example' after 20,0s.
Error: Image build request failed with exit status 1

> Task :app:nativeCompile FAILED

FAILURE: Build failed with an exception.

* What went wrong:
Execution failed for task ':app:nativeCompile'.
> Process 'command 'C:\src\graalvm-ce-java17-22.0.0.2\bin\native-image.cmd'' finished with non-zero exit value 1

* 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 22s
4 actionable tasks: 3 executed, 1 up-to-date

C:\MyJavaProjects\java_native>