Skip to content

[Automation] native-image run fails for io.jsonwebtoken:jjwt-gson:0.12.7 #1809

@graalvmbot

Description

@graalvmbot

native-image run on ubuntu-latest / JDK 25 / mode current-defaults

Failure kind: native-image run
OS: ubuntu-latest
JDK: 25
Native-image mode: current-defaults
Reproducer: GVM_TCK_NATIVE_IMAGE_MODE="current-defaults" GVM_TCK_LV="0.12.7" ./gradlew clean test -Pcoordinates="io.jsonwebtoken:jjwt-gson:0.12.0"
Runner log: https://github.com/oracle/graalvm-reachability-metadata/actions/runs/24556825477/job/71795458348
Last 300 lines of the log (excerpt truncated to fit the GitHub issue size limit):

/modules-2/files-2.1/com.google.errorprone/error_prone_annotations/2.27.0/91b2c29d8a6148b5e2e4930f070d4840e2e48e34/error_prone_annotations-2.27.0.jar:/home/runner/.gradle/caches/modules-2/files-2.1/org.opentest4j/opentest4j/1.2.0/28c11eb91f9b6d8e200631d46e20a7f407f2a046/opentest4j-1.2.0.jar:/home/runner/.gradle/caches/modules-2/files-2.1/org.hamcrest/hamcrest-core/1.3/42a25dc3219429f0e5d060061f71acb49bf010a0/hamcrest-core-1.3.jar:/home/runner/work/graalvm-reachability-metadata/graalvm-reachability-metadata/tests/src/io.jsonwebtoken/jjwt-gson/0.12.0/build/classes/java/test:/home/runner/work/graalvm-reachability-metadata/graalvm-reachability-metadata/tests/src/io.jsonwebtoken/jjwt-gson/0.12.0/build/resources/test:/home/runner/work/graalvm-reachability-metadata/graalvm-reachability-metadata/tests/src/io.jsonwebtoken/jjwt-gson/0.12.0/build/test-results/test/testlist \
-imagemp \
/opt/hostedtoolcache/graalvm-jdk-25_linux-x64_bin/25.0.0/x64/graalvm-jdk-25.0.2+10.1/lib/svm/library-support.jar \
-H:CLibraryPath=/opt/hostedtoolcache/graalvm-jdk-25_linux-x64_bin/25.0.0/x64/graalvm-jdk-25.0.2+10.1/lib/svm/clibraries/linux-amd64/glibc,/opt/hostedtoolcache/graalvm-jdk-25_linux-x64_bin/25.0.0/x64/graalvm-jdk-25.0.2+10.1/lib/svm/clibraries/linux-amd64,/opt/hostedtoolcache/graalvm-jdk-25_linux-x64_bin/25.0.0/x64/graalvm-jdk-25.0.2+10.1/lib/svm/clibraries \
-H:Path@driver=/home/runner/work/graalvm-reachability-metadata/graalvm-reachability-metadata/tests/src/io.jsonwebtoken/jjwt-gson/0.12.0/build/native/nativeTestCompile \
-H:BuildOutputJSONFile@user=/tmp/native-image-build-output.json \
-H:FallbackThreshold@user+api=0 \
-H:Name@user+api=io.jsonwebtoken.jjwt-gson_tests-tests \
-H:ConfigurationFileDirectories@user=/home/runner/work/graalvm-reachability-metadata/graalvm-reachability-metadata/tests/src/io.jsonwebtoken/jjwt-gson/0.12.0/build/native/generated/generateTestResourcesConfigFile,/home/runner/work/graalvm-reachability-metadata/graalvm-reachability-metadata/metadata/io.jsonwebtoken/jjwt-gson/0.12.0 \
-H:Optimize@user+api=b \
-H:+ReportExceptionStackTraces@user \
-H:AddExports@user+api=java.base/sun.security.util=ALL-UNNAMED \
-H:AddOpens@user+api=java.base/java.io=ALL-UNNAMED \
-H:Features@user+api=org.graalvm.junit.platform.JUnitPlatformFeature \
'-H:Class@explicit main-class=org.graalvm.junit.platform.NativeImageJUnitLauncher' \
-H:ImageBuildID@driver=d2e760dc-cb2e-5dcb-4eef-62c4bc591e94 \
'-H:Features@jar:file:///opt/hostedtoolcache/graalvm-jdk-25_linux-x64_bin/25.0.0/x64/graalvm-jdk-25.0.2+10.1/lib/svm/library-support.jar!/META-INF/native-image/com.oracle.svm/thirdparty/native-image.properties+api=com.oracle.svm.thirdparty.gson.GsonFeature' \
'-H:Features@jar:file:///opt/hostedtoolcache/graalvm-jdk-25_linux-x64_bin/25.0.0/x64/graalvm-jdk-25.0.2+10.1/lib/svm/library-support.jar!/META-INF/native-image/com.oracle.svm/polyglot/native-image.properties+api=com.oracle.svm.polyglot.groovy.GroovyIndyInterfaceFeature,com.oracle.svm.polyglot.scala.ScalaFeature'
]
========================================================================================================================
GraalVM Native Image: Generating 'io.jsonwebtoken.jjwt-gson_tests-tests' (executable)...
========================================================================================================================
For detailed information and explanations on the build output, visit:
https://github.com/oracle/graal/blob/master/docs/reference-manual/native-image/BuildOutput.md
------------------------------------------------------------------------------------------------------------------------
[1/8] Initializing...                                                                                    (6.3s @ 0.16GB)
 Java version: 25.0.2+10-LTS, vendor version: Oracle GraalVM 25.0.2+10.1
 Graal compiler: optimization level: b, target machine: x86-64-v3, PGO: off
 C compiler: gcc (linux, x86_64, 13.3.0)
 Garbage collector: Serial GC (max heap size: 80% of RAM)
 2 user-specific feature(s):
 - com.oracle.svm.thirdparty.gson.GsonFeature
 - org.graalvm.junit.platform.JUnitPlatformFeature
------------------------------------------------------------------------------------------------------------------------
 1 experimental option(s) unlocked:
 - '-H:BuildOutputJSONFile' (origin(s): command line)
------------------------------------------------------------------------------------------------------------------------
Build resources:
 - 12.67GB of memory (75.6% of system memory, $CI set to 'true')
 - 4 thread(s) (100.0% of 4 available processor(s), determined at start)
[junit-platform-native] Running in 'test listener' mode using files matching pattern [junit-platform-unique-ids*] found in folder [/home/runner/work/graalvm-reachability-metadata/graalvm-reachability-metadata/tests/src/io.jsonwebtoken/jjwt-gson/0.12.0/build/test-results/test/testlist] and its subfolders.
[2/8] Performing analysis...  [*****]                                                                   (35.5s @ 0.92GB)
    8,668 types,   9,772 fields, and  37,646 methods found reachable
    2,964 types,     228 fields, and   1,894 methods registered for reflection
       59 types,      60 fields, and      52 methods registered for JNI access
        0 downcalls and 0 upcalls registered for foreign access
        4 native libraries: dl, pthread, rt, z
[3/8] Building universe...                                                                               (4.2s @ 1.02GB)
[4/8] Parsing methods...      [**]                                                                       (4.4s @ 0.75GB)
[5/8] Inlining methods...     [***]                                                                      (2.2s @ 0.80GB)
[6/8] Compiling methods...    [****]                                                                    (18.9s @ 0.95GB)
[7/8] Laying out methods...   [**]                                                                       (3.5s @ 0.92GB)
[8/8] Creating image...       [**]                                                                       (3.6s @ 1.03GB)
  10.24MB (35.67%) for code area:    23,576 compilation units
  14.68MB (51.12%) for image heap:  232,297 objects and 154 resources
   3.79MB (13.21%) for other data
  28.72MB in total image size, 26.61MB in total file size
------------------------------------------------------------------------------------------------------------------------
Top 10 origins of code area:                                Top 10 object types in image heap:
   5.24MB java.base                                            2.99MB byte[] for code metadata
   2.21MB svm.jar (Native Image)                               2.68MB byte[] for java.lang.String
 538.78kB assertj-core-3.22.0.jar                              1.42MB java.lang.String
 481.15kB java.xml                                             1.08MB java.lang.Class
 197.65kB junit-jupiter-engine-5.9.2.jar                       1.06MB byte[] for general heap data
 120.78kB junit-platform-launcher-1.9.2.jar                  901.47kB com.oracle.svm.core.hub.DynamicHubCompanion
 107.72kB gson-2.11.0.jar                                    576.02kB heap alignment
 103.22kB java.logging                                       452.93kB java.util.concurrent.ConcurrentHashMap$Node
  99.37kB junit-platform-engine-1.9.2.jar                    302.08kB java.util.HashMap$Node
  94.91kB jjwt-impl-0.12.7.jar                               284.72kB java.lang.Object[]
 681.02kB for 26 more packages                                 2.92MB for 2152 more object types
                            Use '--emit build-report' to create a report with more details.
------------------------------------------------------------------------------------------------------------------------
Security report:
 - Binary includes Java deserialization.
 - CycloneDX SBOM with 20 component(s) is embedded in binary (1.03kB). 3 type(s) could not be associated to a component.
 - Advanced obfuscation not enabled; enable with '-H:AdvancedObfuscation=""' (experimental support).
------------------------------------------------------------------------------------------------------------------------
Recommendations:
 G1GC: Use the G1 GC ('--gc=G1') for improved latency and throughput.
 PGO:  Use Profile-Guided Optimizations ('--pgo') for improved throughput.
 FUTR: Use '--future-defaults=all' to prepare for future releases.
 HEAP: Set max heap for improved and more predictable memory usage.
 CPU:  Enable more CPU features with '-march=native' for improved performance.
------------------------------------------------------------------------------------------------------------------------
                        5.2s (6.4% of total time) in 750 GCs | Peak RSS: 1.76GB | CPU load: 3.60
------------------------------------------------------------------------------------------------------------------------
Build artifacts:
 /home/runner/work/graalvm-reachability-metadata/graalvm-reachability-metadata/tests/src/io.jsonwebtoken/jjwt-gson/0.12.0/build/native/nativeTestCompile/io.jsonwebtoken.jjwt-gson_tests-tests (executable)
 /tmp/native-image-build-output.json (build_info)
========================================================================================================================
Finished generating 'io.jsonwebtoken.jjwt-gson_tests-tests' in 1m 20s.
[native-image-plugin] Native Image written to: /home/runner/work/graalvm-reachability-metadata/graalvm-reachability-metadata/tests/src/io.jsonwebtoken/jjwt-gson/0.12.0/build/native/nativeTestCompile

> Task :nativeTest FAILED
[junit-platform-native] Running in 'test listener' mode using files matching pattern [junit-platform-unique-ids*] found in folder [/home/runner/work/graalvm-reachability-metadata/graalvm-reachability-metadata/tests/src/io.jsonwebtoken/jjwt-gson/0.12.0/build/test-results/test/testlist] and its subfolders.
JUnit Platform on Native Image - report
----------------------------------------

io_jsonwebtoken.jjwt_gson.Jjwt_gsonTest > testCreatingAJWS() FAILED

io_jsonwebtoken.jjwt_gson.Jjwt_gsonTest > testSignedJWTs() FAILED

io_jsonwebtoken.jjwt_gson.Jjwt_gsonTest > testSignatureAlgorithms() FAILED

io_jsonwebtoken.jjwt_gson.Jjwt_gsonTest > testCompression() FAILED


Failures (4):
  JUnit Jupiter:Jjwt_gsonTest:testCreatingAJWS()
    MethodSource [className = 'io_jsonwebtoken.jjwt_gson.Jjwt_gsonTest', methodName = 'testCreatingAJWS', methodParameterTypes = '']
    => java.lang.ExceptionInInitializerError
       io_jsonwebtoken.jjwt_gson.Jjwt_gsonTest.testCreatingAJWS(Jjwt_gsonTest.java:55)
       java.base@25.0.2/java.lang.reflect.Method.invoke(Method.java:565)
       org.junit.platform.commons.util.ReflectionUtils.invokeMethod(ReflectionUtils.java:727)
       org.junit.jupiter.engine.execution.MethodInvocation.proceed(MethodInvocation.java:60)
       org.junit.jupiter.engine.execution.InvocationInterceptorChain$ValidatingInvocation.proceed(InvocationInterceptorChain.java:131)
       [...]
     Caused by: io.jsonwebtoken.lang.InstantiationException: Unable to instantiate class [io.jsonwebtoken.impl.DefaultJwtBuilder$Supplier]
       io.jsonwebtoken.lang.Classes.newInstance(Classes.java:221)
       io.jsonwebtoken.lang.Classes.newInstance(Classes.java:173)
       io.jsonwebtoken.Jwts.<clinit>(Jwts.java:1006)
       [...]
     Caused by: java.lang.InstantiationException: io.jsonwebtoken.impl.DefaultJwtBuilder$Supplier
       java.base@25.0.2/java.lang.Class.newInstance(DynamicHub.java:709)
       io.jsonwebtoken.lang.Classes.newInstance(Classes.java:219)
       [...]
     Caused by: java.lang.NoSuchMethodException: io.jsonwebtoken.impl.DefaultJwtBuilder$Supplier.<init>()
       java.base@25.0.2/java.lang.Class.checkConstructor(DynamicHub.java:1356)
       java.base@25.0.2/java.lang.Class.getConstructor0(DynamicHub.java:1565)
       java.base@25.0.2/java.lang.Class.newInstance(DynamicHub.java:702)
       [...]
  JUnit Jupiter:Jjwt_gsonTest:testSignedJWTs()
    MethodSource [className = 'io_jsonwebtoken.jjwt_gson.Jjwt_gsonTest', methodName = 'testSignedJWTs', methodParameterTypes = '']
    => java.lang.NoClassDefFoundError: Could not initialize class io.jsonwebtoken.Jwts
       io_jsonwebtoken.jjwt_gson.Jjwt_gsonTest.testSignedJWTs(Jjwt_gsonTest.java:45)
       java.base@25.0.2/java.lang.reflect.Method.invoke(Method.java:565)
       org.junit.platform.commons.util.ReflectionUtils.invokeMethod(ReflectionUtils.java:727)
       org.junit.jupiter.engine.execution.MethodInvocation.proceed(MethodInvocation.java:60)
       org.junit.jupiter.engine.execution.InvocationInterceptorChain$ValidatingInvocation.proceed(InvocationInterceptorChain.java:131)
       org.junit.jupiter.engine.extension.TimeoutExtension.intercept(TimeoutExtension.java:156)
       org.junit.jupiter.engine.extension.TimeoutExtension.interceptTestableMethod(TimeoutExtension.java:147)
       org.junit.jupiter.engine.extension.TimeoutExtension.interceptTestMethod(TimeoutExtension.java:86)
       org.junit.jupiter.engine.execution.InterceptingExecutableInvoker$ReflectiveInterceptorCall.lambda$ofVoidMethod$0(InterceptingExecutableInvoker.java:103)
       org.junit.jupiter.engine.execution.InterceptingExecutableInvoker.lambda$invoke$0(InterceptingExecutableInvoker.java:93)
       [...]
  JUnit Jupiter:Jjwt_gsonTest:testSignatureAlgorithms()
    MethodSource [className = 'io_jsonwebtoken.jjwt_gson.Jjwt_gsonTest', methodName = 'testSignatureAlgorithms', methodParameterTypes = '']
    => java.lang.NoClassDefFoundError: Could not initialize class io.jsonwebtoken.Jwts
       io_jsonwebtoken.jjwt_gson.Jjwt_gsonTest.assertSignedSubject(Jjwt_gsonTest.java:126)
       io_jsonwebtoken.jjwt_gson.Jjwt_gsonTest.testSignatureAlgorithms(Jjwt_gsonTest.java:91)
       java.base@25.0.2/java.lang.reflect.Method.invoke(Method.java:565)
       org.junit.platform.commons.util.ReflectionUtils.invokeMethod(ReflectionUtils.java:727)
       org.junit.jupiter.engine.execution.MethodInvocation.proceed(MethodInvocation.java:60)
       org.junit.jupiter.engine.execution.InvocationInterceptorChain$ValidatingInvocation.proceed(InvocationInterceptorChain.java:131)
       org.junit.jupiter.engine.extension.TimeoutExtension.intercept(TimeoutExtension.java:156)
       org.junit.jupiter.engine.extension.TimeoutExtension.interceptTestableMethod(TimeoutExtension.java:147)
       org.junit.jupiter.engine.extension.TimeoutExtension.interceptTestMethod(TimeoutExtension.java:86)

FAILURE: Build failed with an exception.

* What went wrong:
Execution failed for task ':nativeTest'.
> Process 'command '/home/runner/work/graalvm-reachability-metadata/graalvm-reachability-metadata/tests/src/io.jsonwebtoken/jjwt-gson/0.12.0/build/native/nativeTestCompile/io.jsonwebtoken.jjwt-gson_tests-tests'' 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 generate a Build Scan (Powered by Develocity).
> Get more help at https://help.gradle.org.
       org.junit.jupiter.engine.execution.InterceptingExecutableInvoker$ReflectiveInterceptorCall.lambda$ofVoidMethod$0(InterceptingExecutableInvoker.java:103)
       [...]
  JUnit Jupiter:Jjwt_gsonTest:testCompression()
    MethodSource [className = 'io_jsonwebtoken.jjwt_gson.Jjwt_gsonTest', methodName = 'testCompression', methodParameterTypes = '']
    => java.lang.NoClassDefFoundError: Could not initialize class io.jsonwebtoken.Jwts
       io_jsonwebtoken.jjwt_gson.Jjwt_gsonTest.testCompression(Jjwt_gsonTest.java:83)
       java.base@25.0.2/java.lang.reflect.Method.invoke(Method.java:565)
       org.junit.platform.commons.util.ReflectionUtils.invokeMethod(ReflectionUtils.java:727)
       org.junit.jupiter.engine.execution.MethodInvocation.proceed(MethodInvocation.java:60)
       org.junit.jupiter.engine.execution.InvocationInterceptorChain$ValidatingInvocation.proceed(InvocationInterceptorChain.java:131)
       org.junit.jupiter.engine.extension.TimeoutExtension.intercept(TimeoutExtension.java:156)
       org.junit.jupiter.engine.extension.TimeoutExtension.interceptTestableMethod(TimeoutExtension.java:147)
       org.junit.jupiter.engine.extension.TimeoutExtension.interceptTestMethod(TimeoutExtension.java:86)
       org.junit.jupiter.engine.execution.InterceptingExecutableInvoker$ReflectiveInterceptorCall.lambda$ofVoidMethod$0(InterceptingExecutableInvoker.java:103)
       org.junit.jupiter.engine.execution.InterceptingExecutableInvoker.lambda$invoke$0(InterceptingExecutableInvoker.java:93)
       [...]

Test run finished after 4 ms
[         3 containers found      ]
[         0 containers skipped    ]
[         3 containers started    ]
[         0 containers aborted    ]
[         3 containers successful ]
[         0 containers failed     ]
[         4 tests found           ]
[         0 tests skipped         ]
[         4 tests started         ]
[         0 tests aborted         ]
[         0 tests successful      ]
[         4 tests failed          ]


[Incubating] Problems report is available at: file:///home/runner/work/graalvm-reachability-metadata/graalvm-reachability-metadata/tests/src/io.jsonwebtoken/jjwt-gson/0.12.0/build/reports/problems/problems-report.html

Deprecated Gradle features were used in this build, making it incompatible with Gradle 10.

You can use '--warning-mode all' to show the individual deprecation warnings and determine if they come from your own scripts or plugins.

For more on this, please refer to https://docs.gradle.org/9.1.0/userguide/command_line_interface.html#sec:command_line_warnings in the Gradle documentation.

BUILD FAILED in 1m 29s
14 actionable tasks: 6 executed, 8 up-to-date

> Task :tckTest FAILED

[Incubating] Problems report is available at: file:///home/runner/work/graalvm-reachability-metadata/graalvm-reachability-metadata/build/reports/problems/problems-report.html

FAILURE: Build failed with an exception.

* What went wrong:
Execution failed for task ':tckTest'.
> Test for io.jsonwebtoken:jjwt-gson:0.12.0 failed with exit code 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 generate a Build Scan (Powered by Develocity).
> Get more help at https://help.gradle.org.

Deprecated Gradle features were used in this build, making it incompatible with Gradle 10.

You can use '--warning-mode all' to show the individual deprecation warnings and determine if they come from your own scripts or plugins.

For more on this, please refer to https://docs.gradle.org/9.1.0/userguide/command_line_interface.html#sec:command_line_warnings in the Gradle documentation.

BUILD FAILED in 1m 31s
11 actionable tasks: 3 executed, 8 up-to-date
❌ ERROR: 'native-image run' for 0.12.7 failed with exit code 1.
FAILED[native-image run][0.12.7][GVM_TCK_NATIVE_IMAGE_MODE="current-defaults" GVM_TCK_LV="0.12.7" ./gradlew clean test -Pcoordinates="io.jsonwebtoken:jjwt-gson:0.12.0"]

native-image run on ubuntu-latest / JDK latest-ea / mode current-defaults

Failure kind: native-image run
OS: ubuntu-latest
JDK: latest-ea
Native-image mode: current-defaults
Reproducer: GVM_TCK_NATIVE_IMAGE_MODE="current-defaults" GVM_TCK_LV="0.12.7" ./gradlew clean test -Pcoordinates="io.jsonwebtoken:jjwt-gson:0.12.0"
Runner log: https://github.com/oracle/graalvm-reachability-metadata/actions/runs/24556825477/job/71795458445
Last 300 lines of the log (excerpt truncated to fit the GitHub issue size limit):

ryPath=/opt/hostedtoolcache/graalvm-jdk-latest-ea_linux-x64_bin/25.0.0/x64/graalvm-25.1.0-dev+10.1/lib/svm/clibraries/linux-amd64/glibc,/opt/hostedtoolcache/graalvm-jdk-latest-ea_linux-x64_bin/25.0.0/x64/graalvm-25.1.0-dev+10.1/lib/svm/clibraries/linux-amd64,/opt/hostedtoolcache/graalvm-jdk-latest-ea_linux-x64_bin/25.0.0/x64/graalvm-25.1.0-dev+10.1/lib/svm/clibraries \
-H:Path@driver=/home/runner/work/graalvm-reachability-metadata/graalvm-reachability-metadata/tests/src/io.jsonwebtoken/jjwt-gson/0.12.0/build/native/nativeTestCompile \
-H:BuildOutputJSONFile@user=/tmp/native-image-build-output.json \
-H:FallbackThreshold@user+api=0 \
-H:Name@user+api=io.jsonwebtoken.jjwt-gson_tests-tests \
-H:ConfigurationFileDirectories@user=/home/runner/work/graalvm-reachability-metadata/graalvm-reachability-metadata/tests/src/io.jsonwebtoken/jjwt-gson/0.12.0/build/native/generated/generateTestResourcesConfigFile,/home/runner/work/graalvm-reachability-metadata/graalvm-reachability-metadata/metadata/io.jsonwebtoken/jjwt-gson/0.12.0 \
-H:Optimize@user+api=b \
-H:+ReportExceptionStackTraces@user \
-H:AddExports@user+api=java.base/sun.security.util=ALL-UNNAMED \
-H:AddOpens@user+api=java.base/java.io=ALL-UNNAMED \
-H:Features@user+api=org.graalvm.junit.platform.JUnitPlatformFeature \
'-H:Class@explicit main-class=org.graalvm.junit.platform.NativeImageJUnitLauncher' \
-H:ImageBuildID@driver=d2e760dc-cb2e-5dcb-4eef-62c4bc591e94 \
'-H:Features@jar:file:///opt/hostedtoolcache/graalvm-jdk-latest-ea_linux-x64_bin/25.0.0/x64/graalvm-25.1.0-dev+10.1/lib/svm/library-support.jar!/META-INF/native-image/com.oracle.svm/thirdparty/native-image.properties+api=com.oracle.svm.thirdparty.gson.GsonFeature' \
'-H:Features@jar:file:///opt/hostedtoolcache/graalvm-jdk-latest-ea_linux-x64_bin/25.0.0/x64/graalvm-25.1.0-dev+10.1/lib/svm/library-support.jar!/META-INF/native-image/com.oracle.svm/polyglot/native-image.properties+api=com.oracle.svm.polyglot.groovy.GroovyIndyInterfaceFeature' \
'-H:AddExports@jar:file:///opt/hostedtoolcache/graalvm-jdk-latest-ea_linux-x64_bin/25.0.0/x64/graalvm-25.1.0-dev+10.1/lib/svm/svm-guest.jar!/META-INF/native-image/org.graalvm.nativeimage.guest/native-image.properties+api=java.base/jdk.internal.misc=org.graalvm.nativeimage.guest' \
'-H:Features@jar:file:///opt/hostedtoolcache/graalvm-jdk-latest-ea_linux-x64_bin/25.0.0/x64/graalvm-25.1.0-dev+10.1/lib/svm/svm-guest.jar!/META-INF/native-image/org.graalvm.nativeimage.guest/native-image.properties+api=com.oracle.svm.guest.features.jdk.hosted.JavaNetHttpFeature' \
'-H:ClassInitialization@jar:file:///opt/hostedtoolcache/graalvm-jdk-latest-ea_linux-x64_bin/25.0.0/x64/graalvm-25.1.0-dev+10.1/lib/svm/svm-guest.jar!/META-INF/native-image/org.graalvm.nativeimage.guest/native-image.properties+api=sun.net.httpserver.simpleserver:run_time' \
'-H:ReachabilityMetadataResources@jar:file:///opt/hostedtoolcache/graalvm-jdk-latest-ea_linux-x64_bin/25.0.0/x64/graalvm-25.1.0-dev+10.1/lib/svm/svm-guest.jar!/META-INF/native-image/org.graalvm.nativeimage.guest/reachability-metadata.json+api=META-INF/native-image/org.graalvm.nativeimage.guest/reachability-metadata.json' \
-H:DriverWarningsCount=4
]
Warning: Option 'FallbackThreshold' is deprecated and might be removed in a future release: It no longer has any effect, and no replacement is available. Please refer to the GraalVM release notes.
========================================================================================================================
GraalVM Native Image: Generating 'io.jsonwebtoken.jjwt-gson_tests-tests' (executable)...
========================================================================================================================
For detailed information and explanations on the build output, visit:
https://github.com/oracle/graal/blob/master/docs/reference-manual/native-image/BuildOutput.md
------------------------------------------------------------------------------------------------------------------------
[1/8] Initializing...                                                                                   (6.9s @ 0.18GiB)
 Builder configuration:
 - Java version: 25.0.2+10-LTS, vendor version: Oracle GraalVM 25.1.0-dev+10.1
 - Graal compiler: optimization level: b, target machine: x86-64-v3, PGO: off
 - C compiler: gcc (linux, x86_64, 13.3.0)
 - Assertions: disabled, system assertions: disabled
 - 1 user-specific feature(s):
   - org.graalvm.junit.platform.JUnitPlatformFeature
 Image configuration:
 - Garbage collector: Serial GC (max heap size: 80% of RAM)
 - Assertions: disabled (class-specific config may apply), system assertions: disabled
------------------------------------------------------------------------------------------------------------------------
 1 experimental option(s) unlocked:
 - '-H:BuildOutputJSONFile' (origin(s): command line)
------------------------------------------------------------------------------------------------------------------------
Build resources:
 - 13.27GiB of memory (85% of system memory because $CI set to 'true')
 - 4 thread(s) (100.0% of 4 available processor(s), determined at start)
[junit-platform-native] Running in 'test listener' mode using files matching pattern [junit-platform-unique-ids*] found in folder [/home/runner/work/graalvm-reachability-metadata/graalvm-reachability-metadata/tests/src/io.jsonwebtoken/jjwt-gson/0.12.0/build/test-results/test/testlist] and its subfolders.
[2/8] Performing analysis...  [*****]                                                                  (37.1s @ 0.90GiB)
    8,840 types,   9,824 fields, and  38,122 methods found reachable
      488 types,      83 fields, and     987 methods registered for reflection
       59 types,      60 fields, and      52 methods registered for JNI access
      154 resource accesses registered with 262.37KiB total size
        4 native libraries: dl, pthread, rt, z
[3/8] Building universe...                                                                              (4.6s @ 1.02GiB)
[4/8] Parsing methods...      [**]                                                                      (4.3s @ 0.71GiB)
[5/8] Inlining methods...     [***]                                                                     (2.0s @ 0.73GiB)
[6/8] Compiling methods...    [****]                                                                   (20.2s @ 0.79GiB)
[7/8] Laying out methods...   [**]                                                                      (3.0s @ 0.95GiB)
[8/8] Creating image...       [**]                                                                      (3.6s @ 1.06GiB)
   8.93MiB (33.02%) for code area:    23,880 compilation units
  14.38MiB (53.16%) for image heap:  244,440 objects and 24 resources
   3.74MiB (13.82%) for other data
  27.04MiB in total image size, 25.00MiB in total file size
------------------------------------------------------------------------------------------------------------------------
Top 10 origins of code area:                                Top 10 object types in image heap:
   1.02MiB o.g.n.runtime/com.oracle.svm.core.code              2.75MiB byte[] for code metadata
 708.99KiB java.base/java.util                                 2.66MiB byte[] for string data
 407.43KiB java.base/jdk.internal.classfile.impl               1.43MiB java.base/java.lang.String
 301.79KiB java.base/java.lang                                 1.05MiB java.base/java.lang.Class
 282.50KiB java.base/com.sun.crypto.provider                 966.88KiB o.g.n.runtime/c.o.s.core.hub.DynamicHubCompanion
 275.78KiB java.base/java.text                               903.59KiB byte[] for general heap data
 223.93KiB org.assertj.core.internal.bytebuddy.jar.asm       454.53KiB java.base/java.util.HashMap$Node
 221.75KiB java.base/java.util.concurrent                    392.92KiB byte[] for reflection metadata
 188.28KiB java.base/sun.security.provider                   344.71KiB heap alignment
 162.38KiB java.base/sun.security.util.math.intpoly          342.70KiB o.g.n.runtime/c.o.s.c.h.ImageReflectionMetadata
   5.20MiB for 323 more packages                               3.16MiB for 2172 more object types
                            Use '--emit build-report' to create a report with more details.
------------------------------------------------------------------------------------------------------------------------
Security report:
 - Binary includes Java deserialization.
 - CycloneDX SBOM with 20 component(s) is embedded in binary (1.08KiB). 3 type(s) could not be associated to a component.
 - Advanced obfuscation not enabled; enable with '-H:AdvancedObfuscation=""' (experimental support).
------------------------------------------------------------------------------------------------------------------------
Recommendations:
 G1GC: Use the G1 GC ('--gc=G1') for improved latency and throughput.
 PGO:  Use Profile-Guided Optimizations ('--pgo') for improved throughput.
 FUTR: Use '--future-defaults=all' to prepare for future releases.
 HEAP: Set max heap for improved and more predictable memory usage.
 CPU:  Enable more CPU features with '-march=native' for improved performance.
------------------------------------------------------------------------------------------------------------------------
                       5.8s (6.8% of total time) in 763 GCs | Peak RSS: 1.67GiB | CPU load: 3.60
------------------------------------------------------------------------------------------------------------------------
Build artifacts:
 /home/runner/work/graalvm-reachability-metadata/graalvm-reachability-metadata/tests/src/io.jsonwebtoken/jjwt-gson/0.12.0/build/native/nativeTestCompile/io.jsonwebtoken.jjwt-gson_tests-tests (executable, 25.00MiB)
 /tmp/native-image-build-output.json (build_info, 1.03KiB)
========================================================================================================================
Finished generating 'io.jsonwebtoken.jjwt-gson_tests-tests' in 1m 24s.

The build process encountered 5 warnings.

[native-image-plugin] Native Image written to: /home/runner/work/graalvm-reachability-metadata/graalvm-reachability-metadata/tests/src/io.jsonwebtoken/jjwt-gson/0.12.0/build/native/nativeTestCompile

FAILURE: Build failed with an exception.

* What went wrong:
Execution failed for task ':nativeTest'.
> Process 'command '/home/runner/work/graalvm-reachability-metadata/graalvm-reachability-metadata/tests/src/io.jsonwebtoken/jjwt-gson/0.12.0/build/native/nativeTestCompile/io.jsonwebtoken.jjwt-gson_tests-tests'' 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 generate a Build Scan (Powered by Develocity).
> Get more help at https://help.gradle.org.

BUILD FAILED in 1m 30s

> Task :nativeTest FAILED
[junit-platform-native] Running in 'test listener' mode using files matching pattern [junit-platform-unique-ids*] found in folder [/home/runner/work/graalvm-reachability-metadata/graalvm-reachability-metadata/tests/src/io.jsonwebtoken/jjwt-gson/0.12.0/build/test-results/test/testlist] and its subfolders.
JUnit Platform on Native Image - report
----------------------------------------

io_jsonwebtoken.jjwt_gson.Jjwt_gsonTest > testCreatingAJWS() FAILED

io_jsonwebtoken.jjwt_gson.Jjwt_gsonTest > testSignedJWTs() FAILED

io_jsonwebtoken.jjwt_gson.Jjwt_gsonTest > testSignatureAlgorithms() FAILED

io_jsonwebtoken.jjwt_gson.Jjwt_gsonTest > testCompression() FAILED


Failures (4):
  JUnit Jupiter:Jjwt_gsonTest:testCreatingAJWS()
    MethodSource [className = 'io_jsonwebtoken.jjwt_gson.Jjwt_gsonTest', methodName = 'testCreatingAJWS', methodParameterTypes = '']
    => java.lang.ExceptionInInitializerError
       io_jsonwebtoken.jjwt_gson.Jjwt_gsonTest.testCreatingAJWS(Jjwt_gsonTest.java:55)
       java.base@25.0.2/java.lang.reflect.Method.invoke(Method.java:565)
       org.junit.platform.commons.util.ReflectionUtils.invokeMethod(ReflectionUtils.java:727)
       org.junit.jupiter.engine.execution.MethodInvocation.proceed(MethodInvocation.java:60)
       org.junit.jupiter.engine.execution.InvocationInterceptorChain$ValidatingInvocation.proceed(InvocationInterceptorChain.java:131)
       [...]
     Caused by: io.jsonwebtoken.lang.InstantiationException: Unable to instantiate class [io.jsonwebtoken.impl.DefaultJwtBuilder$Supplier]
       io.jsonwebtoken.lang.Classes.newInstance(Classes.java:221)
       io.jsonwebtoken.lang.Classes.newInstance(Classes.java:173)
       io.jsonwebtoken.Jwts.<clinit>(Jwts.java:1006)
       [...]
     Caused by: java.lang.InstantiationException: io.jsonwebtoken.impl.DefaultJwtBuilder$Supplier
       java.base@25.0.2/java.lang.Class.newInstance(DynamicHub.java:709)
       io.jsonwebtoken.lang.Classes.newInstance(Classes.java:219)
       [...]
     Caused by: java.lang.NoSuchMethodException: io.jsonwebtoken.impl.DefaultJwtBuilder$Supplier.<init>()
       java.base@25.0.2/java.lang.Class.checkConstructor(DynamicHub.java:1634)
       java.base@25.0.2/java.lang.Class.getConstructor0(DynamicHub.java:1842)
       java.base@25.0.2/java.lang.Class.newInstance(DynamicHub.java:702)
       [...]
  JUnit Jupiter:Jjwt_gsonTest:testSignedJWTs()
    MethodSource [className = 'io_jsonwebtoken.jjwt_gson.Jjwt_gsonTest', methodName = 'testSignedJWTs', methodParameterTypes = '']
    => java.lang.NoClassDefFoundError: Could not initialize class io.jsonwebtoken.Jwts
       io_jsonwebtoken.jjwt_gson.Jjwt_gsonTest.testSignedJWTs(Jjwt_gsonTest.java:45)
       java.base@25.0.2/java.lang.reflect.Method.invoke(Method.java:565)
       org.junit.platform.commons.util.ReflectionUtils.invokeMethod(ReflectionUtils.java:727)
       org.junit.jupiter.engine.execution.MethodInvocation.proceed(MethodInvocation.java:60)
       org.junit.jupiter.engine.execution.InvocationInterceptorChain$ValidatingInvocation.proceed(InvocationInterceptorChain.java:131)
       org.junit.jupiter.engine.extension.TimeoutExtension.intercept(TimeoutExtension.java:156)
       org.junit.jupiter.engine.extension.TimeoutExtension.interceptTestableMethod(TimeoutExtension.java:147)
       org.junit.jupiter.engine.extension.TimeoutExtension.interceptTestMethod(TimeoutExtension.java:86)
       org.junit.jupiter.engine.execution.InterceptingExecutableInvoker$ReflectiveInterceptorCall.lambda$ofVoidMethod$0(InterceptingExecutableInvoker.java:103)
       org.junit.jupiter.engine.execution.InterceptingExecutableInvoker.lambda$invoke$0(InterceptingExecutableInvoker.java:93)
       [...]
  JUnit Jupiter:Jjwt_gsonTest:testSignatureAlgorithms()
    MethodSource [className = 'io_jsonwebtoken.jjwt_gson.Jjwt_gsonTest', methodName = 'testSignatureAlgorithms', methodParameterTypes = '']
    => java.lang.NoClassDefFoundError: Could not initialize class io.jsonwebtoken.Jwts
       io_jsonwebtoken.jjwt_gson.Jjwt_gsonTest.assertSignedSubject(Jjwt_gsonTest.java:126)
       io_jsonwebtoken.jjwt_gson.Jjwt_gsonTest.testSignatureAlgorithms(Jjwt_gsonTest.java:91)
       java.base@25.0.2/java.lang.reflect.Method.invoke(Method.java:565)
       org.junit.platform.commons.util.ReflectionUtils.invokeMethod(ReflectionUtils.java:727)
       org.junit.jupiter.engine.execution.MethodInvocation.proceed(MethodInvocation.java:60)
       org.junit.jupiter.engine.execution.InvocationInterceptorChain$ValidatingInvocation.proceed(InvocationInterceptorChain.java:131)
       org.junit.jupiter.engine.extension.TimeoutExtension.intercept(TimeoutExtension.java:156)
       org.junit.jupiter.engine.extension.TimeoutExtension.interceptTestableMethod(TimeoutExtension.java:147)
       org.junit.jupiter.engine.extension.TimeoutExtension.interceptTestMethod(TimeoutExtension.java:86)
       org.junit.jupiter.engine.execution.InterceptingExecutableInvoker$ReflectiveInterceptorCall.lambda$ofVoidMethod$0(InterceptingExecutableInvoker.java:103)
       [...]
  JUnit Jupiter:Jjwt_gsonTest:testCompression()
    MethodSource [className = 'io_jsonwebtoken.jjwt_gson.Jjwt_gsonTest', methodName = 'testCompression', methodParameterTypes = '']
    => java.lang.NoClassDefFoundError: Could not initialize class io.jsonwebtoken.Jwts
       io_jsonwebtoken.jjwt_gson.Jjwt_gsonTest.testCompression(Jjwt_gsonTest.java:83)
       java.base@25.0.2/java.lang.reflect.Method.invoke(Method.java:565)
       org.junit.platform.commons.util.ReflectionUtils.invokeMethod(ReflectionUtils.java:727)
       org.junit.jupiter.engine.execution.MethodInvocation.proceed(MethodInvocation.java:60)
       org.junit.jupiter.engine.execution.InvocationInterceptorChain$ValidatingInvocation.proceed(InvocationInterceptorChain.java:131)
       org.junit.jupiter.engine.extension.TimeoutExtension.intercept(TimeoutExtension.java:156)
       org.junit.jupiter.engine.extension.TimeoutExtension.interceptTestableMethod(TimeoutExtension.java:147)
       org.junit.jupiter.engine.extension.TimeoutExtension.interceptTestMethod(TimeoutExtension.java:86)
       org.junit.jupiter.engine.execution.InterceptingExecutableInvoker$ReflectiveInterceptorCall.lambda$ofVoidMethod$0(InterceptingExecutableInvoker.java:103)
       org.junit.jupiter.engine.execution.InterceptingExecutableInvoker.lambda$invoke$0(InterceptingExecutableInvoker.java:93)
       [...]

Test run finished after 3 ms
[         3 containers found      ]
[         0 containers skipped    ]
[         3 containers started    ]
[         0 containers aborted    ]
[         3 containers successful ]
[         0 containers failed     ]
[         4 tests found           ]
[         0 tests skipped         ]
[         4 tests started         ]
[         0 tests aborted         ]
[         0 tests successful      ]
[         4 tests failed          ]


[Incubating] Problems report is available at: file:///home/runner/work/graalvm-reachability-metadata/graalvm-reachability-metadata/tests/src/io.jsonwebtoken/jjwt-gson/0.12.0/build/reports/problems/problems-report.html

Deprecated Gradle features were used in this build, making it incompatible with Gradle 10.

You can use '--warning-mode all' to show the individual deprecation warnings and determine if they come from your own scripts or plugins.

For more on this, please refer to https://docs.gradle.org/9.1.0/userguide/command_line_interface.html#sec:command_line_warnings in the Gradle documentation.
14 actionable tasks: 6 executed, 8 up-to-date

> Task :tckTest FAILED

[Incubating] Problems report is available at: file:///home/runner/work/graalvm-reachability-metadata/graalvm-reachability-metadata/build/reports/problems/problems-report.html

FAILURE: Build failed with an exception.

* What went wrong:
Execution failed for task ':tckTest'.
> Test for io.jsonwebtoken:jjwt-gson:0.12.0 failed with exit code 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 generate a Build Scan (Powered by Develocity).
> Get more help at https://help.gradle.org.

Deprecated Gradle features were used in this build, making it incompatible with Gradle 10.

You can use '--warning-mode all' to show the individual deprecation warnings and determine if they come from your own scripts or plugins.

For more on this, please refer to https://docs.gradle.org/9.1.0/userguide/command_line_interface.html#sec:command_line_warnings in the Gradle documentation.

BUILD FAILED in 1m 32s
11 actionable tasks: 3 executed, 8 up-to-date
❌ ERROR: 'native-image run' for 0.12.7 failed with exit code 1.
FAILED[native-image run][0.12.7][GVM_TCK_NATIVE_IMAGE_MODE="current-defaults" GVM_TCK_LV="0.12.7" ./gradlew clean test -Pcoordinates="io.jsonwebtoken:jjwt-gson:0.12.0"]

native-image run on ubuntu-latest / JDK latest-ea / mode future-defaults-all

Failure kind: native-image run
OS: ubuntu-latest
JDK: latest-ea
Native-image mode: future-defaults-all
Reproducer: GVM_TCK_NATIVE_IMAGE_MODE="future-defaults-all" GVM_TCK_LV="0.12.7" ./gradlew clean test -Pcoordinates="io.jsonwebtoken:jjwt-gson:0.12.0"
Runner log: https://github.com/oracle/graalvm-reachability-metadata/actions/runs/24556825477/job/71795458392
Last 300 lines of the log (excerpt truncated to fit the GitHub issue size limit):

Path=/opt/hostedtoolcache/graalvm-jdk-latest-ea_linux-x64_bin/25.0.0/x64/graalvm-25.1.0-dev+10.1/lib/svm/clibraries/linux-amd64/glibc,/opt/hostedtoolcache/graalvm-jdk-latest-ea_linux-x64_bin/25.0.0/x64/graalvm-25.1.0-dev+10.1/lib/svm/clibraries/linux-amd64,/opt/hostedtoolcache/graalvm-jdk-latest-ea_linux-x64_bin/25.0.0/x64/graalvm-25.1.0-dev+10.1/lib/svm/clibraries \
-H:Path@driver=/home/runner/work/graalvm-reachability-metadata/graalvm-reachability-metadata/tests/src/io.jsonwebtoken/jjwt-gson/0.12.0/build/native/nativeTestCompile \
-H:BuildOutputJSONFile@user=/tmp/native-image-build-output.json \
-H:FallbackThreshold@user+api=0 \
-H:Name@user+api=io.jsonwebtoken.jjwt-gson_tests-tests \
-H:ConfigurationFileDirectories@user=/home/runner/work/graalvm-reachability-metadata/graalvm-reachability-metadata/tests/src/io.jsonwebtoken/jjwt-gson/0.12.0/build/native/generated/generateTestResourcesConfigFile,/home/runner/work/graalvm-reachability-metadata/graalvm-reachability-metadata/metadata/io.jsonwebtoken/jjwt-gson/0.12.0 \
-H:Optimize@user+api=b \
-H:+ReportExceptionStackTraces@user \
-H:FutureDefaults@user+api=all \
-H:AddExports@user+api=java.base/sun.security.util=ALL-UNNAMED \
-H:AddOpens@user+api=java.base/java.io=ALL-UNNAMED \
-H:Features@user+api=org.graalvm.junit.platform.JUnitPlatformFeature \
'-H:Class@explicit main-class=org.graalvm.junit.platform.NativeImageJUnitLauncher' \
-H:ImageBuildID@driver=a96fce54-41f1-4159-e21f-33b04cf4c400 \
'-H:Features@jar:file:///opt/hostedtoolcache/graalvm-jdk-latest-ea_linux-x64_bin/25.0.0/x64/graalvm-25.1.0-dev+10.1/lib/svm/library-support.jar!/META-INF/native-image/com.oracle.svm/thirdparty/native-image.properties+api=com.oracle.svm.thirdparty.gson.GsonFeature' \
'-H:Features@jar:file:///opt/hostedtoolcache/graalvm-jdk-latest-ea_linux-x64_bin/25.0.0/x64/graalvm-25.1.0-dev+10.1/lib/svm/library-support.jar!/META-INF/native-image/com.oracle.svm/polyglot/native-image.properties+api=com.oracle.svm.polyglot.groovy.GroovyIndyInterfaceFeature' \
'-H:AddExports@jar:file:///opt/hostedtoolcache/graalvm-jdk-latest-ea_linux-x64_bin/25.0.0/x64/graalvm-25.1.0-dev+10.1/lib/svm/svm-guest.jar!/META-INF/native-image/org.graalvm.nativeimage.guest/native-image.properties+api=java.base/jdk.internal.misc=org.graalvm.nativeimage.guest' \
'-H:Features@jar:file:///opt/hostedtoolcache/graalvm-jdk-latest-ea_linux-x64_bin/25.0.0/x64/graalvm-25.1.0-dev+10.1/lib/svm/svm-guest.jar!/META-INF/native-image/org.graalvm.nativeimage.guest/native-image.properties+api=com.oracle.svm.guest.features.jdk.hosted.JavaNetHttpFeature' \
'-H:ClassInitialization@jar:file:///opt/hostedtoolcache/graalvm-jdk-latest-ea_linux-x64_bin/25.0.0/x64/graalvm-25.1.0-dev+10.1/lib/svm/svm-guest.jar!/META-INF/native-image/org.graalvm.nativeimage.guest/native-image.properties+api=sun.net.httpserver.simpleserver:run_time' \
'-H:ReachabilityMetadataResources@jar:file:///opt/hostedtoolcache/graalvm-jdk-latest-ea_linux-x64_bin/25.0.0/x64/graalvm-25.1.0-dev+10.1/lib/svm/svm-guest.jar!/META-INF/native-image/org.graalvm.nativeimage.guest/reachability-metadata.json+api=META-INF/native-image/org.graalvm.nativeimage.guest/reachability-metadata.json' \
-H:DriverWarningsCount=4
]
Warning: Option 'FallbackThreshold' is deprecated and might be removed in a future release: It no longer has any effect, and no replacement is available. Please refer to the GraalVM release notes.
========================================================================================================================
GraalVM Native Image: Generating 'io.jsonwebtoken.jjwt-gson_tests-tests' (executable)...
========================================================================================================================
For detailed information and explanations on the build output, visit:
https://github.com/oracle/graal/blob/master/docs/reference-manual/native-image/BuildOutput.md
------------------------------------------------------------------------------------------------------------------------
[1/8] Initializing...                                                                                   (6.3s @ 0.18GiB)
 Builder configuration:
 - Java version: 25.0.2+10-LTS, vendor version: Oracle GraalVM 25.1.0-dev+10.1
 - Graal compiler: optimization level: b, target machine: x86-64-v3, PGO: off
 - C compiler: gcc (linux, x86_64, 13.3.0)
 - Assertions: disabled, system assertions: disabled
 - 1 user-specific feature(s):
   - org.graalvm.junit.platform.JUnitPlatformFeature
 Image configuration:
 - Garbage collector: Serial GC (max heap size: 80% of RAM)
 - Assertions: disabled (class-specific config may apply), system assertions: disabled
------------------------------------------------------------------------------------------------------------------------
 1 experimental option(s) unlocked:
 - '-H:BuildOutputJSONFile' (origin(s): command line)
------------------------------------------------------------------------------------------------------------------------
Build resources:
 - 13.27GiB of memory (85% of system memory because $CI set to 'true')
 - 4 thread(s) (100.0% of 4 available processor(s), determined at start)
[junit-platform-native] Running in 'test listener' mode using files matching pattern [junit-platform-unique-ids*] found in folder [/home/runner/work/graalvm-reachability-metadata/graalvm-reachability-metadata/tests/src/io.jsonwebtoken/jjwt-gson/0.12.0/build/test-results/test/testlist] and its subfolders.
[2/8] Performing analysis...  [*****]                                                                  (33.5s @ 0.93GiB)
    9,064 types,  10,294 fields, and  39,659 methods found reachable
      506 types,      83 fields, and   1,003 methods registered for reflection
       59 types,      60 fields, and      52 methods registered for JNI access
      155 resource accesses registered with 262.48KiB total size
        4 native libraries: dl, pthread, rt, z
[3/8] Building universe...                                                                              (4.2s @ 1.02GiB)
[4/8] Parsing methods...      [**]                                                                      (4.2s @ 0.75GiB)
[5/8] Inlining methods...     [***]                                                                     (1.7s @ 0.80GiB)
[6/8] Compiling methods...    [****]                                                                   (18.8s @ 0.81GiB)
[7/8] Laying out methods...   [**]                                                                      (3.1s @ 0.99GiB)
[8/8] Creating image...       [**]                                                                      (3.6s @ 1.12GiB)
   9.48MiB (33.24%) for code area:    25,016 compilation units
  15.06MiB (52.85%) for image heap:  259,294 objects and 25 resources
   3.96MiB (13.91%) for other data
  28.50MiB in total image size, 26.38MiB in total file size
------------------------------------------------------------------------------------------------------------------------
Top 10 origins of code area:                                Top 10 object types in image heap:
   1.07MiB o.g.n.runtime/com.oracle.svm.core.code              2.93MiB byte[] for code metadata
 711.55KiB java.base/java.util                                 2.83MiB byte[] for string data
 407.40KiB java.base/jdk.internal.classfile.impl               1.49MiB java.base/java.lang.String
 312.38KiB java.base/com.sun.crypto.provider                   1.08MiB java.base/java.lang.Class
 311.41KiB java.base/java.lang                               991.38KiB o.g.n.runtime/c.o.s.core.hub.DynamicHubCompanion
 278.34KiB java.base/java.text                               893.07KiB byte[] for general heap data
 224.65KiB java.base/sun.security.provider                   456.72KiB java.base/java.util.HashMap$Node
 223.93KiB org.assertj.core.internal.bytebuddy.jar.asm       412.48KiB byte[] for reflection metadata
 221.88KiB java.base/java.util.concurrent                    351.45KiB o.g.n.runtime/c.o.s.c.h.ImageReflectionMetadata
 174.66KiB java.base/sun.security.x509                       316.34KiB java.base/j.u.concurrent.ConcurrentHashMap$Node
   5.60MiB for 328 more packages                               3.39MiB for 2235 more object types
                            Use '--emit build-report' to create a report with more details.
------------------------------------------------------------------------------------------------------------------------
Security report:
 - Binary includes Java deserialization.
 - CycloneDX SBOM with 20 component(s) is embedded in binary (1.08KiB). 3 type(s) could not be associated to a component.
 - Advanced obfuscation not enabled; enable with '-H:AdvancedObfuscation=""' (experimental support).
------------------------------------------------------------------------------------------------------------------------
Recommendations:
 G1GC: Use the G1 GC ('--gc=G1') for improved latency and throughput.
 PGO:  Use Profile-Guided Optimizations ('--pgo') for improved throughput.
 HEAP: Set max heap for improved and more predictable memory usage.
 CPU:  Enable more CPU features with '-march=native' for improved performance.
------------------------------------------------------------------------------------------------------------------------
                       6.1s (7.8% of total time) in 750 GCs | Peak RSS: 1.76GiB | CPU load: 3.59
------------------------------------------------------------------------------------------------------------------------
Build artifacts:
 /home/runner/work/graalvm-reachability-metadata/graalvm-reachability-metadata/tests/src/io.jsonwebtoken/jjwt-gson/0.12.0/build/native/nativeTestCompile/io.jsonwebtoken.jjwt-gson_tests-tests (executable, 26.38MiB)
 /tmp/native-image-build-output.json (build_info, 1.03KiB)
========================================================================================================================
Finished generating 'io.jsonwebtoken.jjwt-gson_tests-tests' in 1m 17s.

The build process encountered 5 warnings.

[native-image-plugin] Native Image written to: /home/runner/work/graalvm-reachability-metadata/graalvm-reachability-metadata/tests/src/io.jsonwebtoken/jjwt-gson/0.12.0/build/native/nativeTestCompile

> Task :nativeTest FAILED
[junit-platform-native] Running in 'test listener' mode using files matching pattern [junit-platform-unique-ids*] found in folder [/home/runner/work/graalvm-reachability-metadata/graalvm-reachability-metadata/tests/src/io.jsonwebtoken/jjwt-gson/0.12.0/build/test-results/test/testlist] and its subfolders.
JUnit Platform on Native Image - report
----------------------------------------

io_jsonwebtoken.jjwt_gson.Jjwt_gsonTest > testCreatingAJWS() FAILED

io_jsonwebtoken.jjwt_gson.Jjwt_gsonTest > testSignedJWTs() FAILED

io_jsonwebtoken.jjwt_gson.Jjwt_gsonTest > testSignatureAlgorithms() FAILED

io_jsonwebtoken.jjwt_gson.Jjwt_gsonTest > testCompression() FAILED


Failures (4):
  JUnit Jupiter:Jjwt_gsonTest:testCreatingAJWS()
    MethodSource [className = 'io_jsonwebtoken.jjwt_gson.Jjwt_gsonTest', methodName = 'testCreatingAJWS', methodParameterTypes = '']
    => java.lang.ExceptionInInitializerError
       io_jsonwebtoken.jjwt_gson.Jjwt_gsonTest.testCreatingAJWS(Jjwt_gsonTest.java:55)
       java.base@25.0.2/java.lang.reflect.Method.invoke(Method.java:565)
       org.junit.platform.commons.util.ReflectionUtils.invokeMethod(ReflectionUtils.java:727)
       org.junit.jupiter.engine.execution.MethodInvocation.proceed(MethodInvocation.java:60)
       org.junit.jupiter.engine.execution.InvocationInterceptorChain$ValidatingInvocation.proceed(InvocationInterceptorChain.java:131)
       [...]
     Caused by: io.jsonwebtoken.lang.InstantiationException: Unable to instantiate class [io.jsonwebtoken.impl.DefaultJwtBuilder$Supplier]
       io.jsonwebtoken.lang.Classes.newInstance(Classes.java:221)
       io.jsonwebtoken.lang.Classes.newInstance(Classes.java:173)
       io.jsonwebtoken.Jwts.<clinit>(Jwts.java:1006)
       [...]
     Caused by: java.lang.InstantiationException: io.jsonwebtoken.impl.DefaultJwtBuilder$Supplier
       java.base@25.0.2/java.lang.Class.newInstance(DynamicHub.java:709)
       io.jsonwebtoken.lang.Classes.newInstance(Classes.java:219)
       [...]
     Caused by: java.lang.NoSuchMethodException: io.jsonwebtoken.impl.DefaultJwtBuilder$Supplier.<init>()
       java.base@25.0.2/java.lang.Class.checkConstructor(DynamicHub.java:1634)
       java.base@25.0.2/java.lang.Class.getConstructor0(DynamicHub.java:1842)
       java.base@25.0.2/java.lang.Class.newInstance(DynamicHub.java:702)
       [...]
  JUnit Jupiter:Jjwt_gsonTest:testSignedJWTs()
    MethodSource [className = 'io_jsonwebtoken.jjwt_gson.Jjwt_gsonTest', methodName = 'testSignedJWTs', methodParameterTypes = '']
    => java.lang.NoClassDefFoundError: Could not initialize class io.jsonwebtoken.Jwts
       io_jsonwebtoken.jjwt_gson.Jjwt_gsonTest.testSignedJWTs(Jjwt_gsonTest.java:45)
       java.base@25.0.2/java.lang.reflect.Method.invoke(Method.java:565)
       org.junit.platform.commons.util.ReflectionUtils.invokeMethod(ReflectionUtils.java:727)
       org.junit.jupiter.engine.execution.MethodInvocation.proceed(MethodInvocation.java:60)
       org.junit.jupiter.engine.execution.InvocationInterceptorChain$ValidatingInvocation.proceed(InvocationInterceptorChain.java:131)
       org.junit.jupiter.engine.extension.TimeoutExtension.intercept(TimeoutExtension.java:156)
       org.junit.jupiter.engine.extension.TimeoutExtension.interceptTestableMethod(TimeoutExtension.java:147)
       org.junit.jupiter.engine.extension.TimeoutExtension.interceptTestMethod(TimeoutExtension.java:86)
       org.junit.jupiter.engine.execution.InterceptingExecutableInvoker$ReflectiveInterceptorCall.lambda$ofVoidMethod$0(InterceptingExecutableInvoker.java:103)
       org.junit.jupiter.engine.execution.InterceptingExecutableInvoker.lambda$invoke$0(InterceptingExecutableInvoker.java:93)
       [...]
  JUnit Jupiter:Jjwt_gsonTest:testSignatureAlgorithms()
    MethodSource [className = 'io_jsonwebtoken.jjwt_gson.Jjwt_gsonTest', methodName = 'testSignatureAlgorithms', methodParameterTypes = '']
    => java.lang.NoClassDefFoundError: Could not initialize class io.jsonwebtoken.Jwts
       io_jsonwebtoken.jjwt_gson.Jjwt_gsonTest.assertSignedSubject(Jjwt_gsonTest.java:126)
       io_jsonwebtoken.jjwt_gson.Jjwt_gsonTest.testSignatureAlgorithms(Jjwt_gsonTest.java:91)
       java.base@25.0.2/java.lang.reflect.Method.invoke(Method.java:565)
       org.junit.platform.commons.util.ReflectionUtils.invokeMethod(ReflectionUtils.java:727)
       org.junit.jupiter.engine.execution.MethodInvocation.proceed(MethodInvocation.java:60)
       org.junit.jupiter.engine.execution.InvocationInterceptorChain$ValidatingInvocation.proceed(InvocationInterceptorChain.java:131)
       org.junit.jupiter.engine.extension.TimeoutExtension.intercept(TimeoutExtension.java:156)
       org.junit.jupiter.engine.extension.TimeoutExtension.interceptTestableMethod(TimeoutExtension.java:147)
       org.junit.jupiter.engine.extension.TimeoutExtension.interceptTestMethod(TimeoutExtension.java:86)
       org.junit.jupiter.engine.execution.InterceptingExecutableInvoker$ReflectiveInterceptorCall.lambda$ofVoidMethod$0(InterceptingExecutableInvoker.java:103)
       [...]
  JUnit Jupiter:Jjwt_gsonTest:testCompression()
    MethodSource [className = 'io_jsonwebtoken.jjwt_gson.Jjwt_gsonTest', methodName = 'testCompression', methodParameterTypes = '']
    => java.lang.NoClassDefFoundError: Could not initialize class io.jsonwebtoken.Jwts
       io_jsonwebtoken.jjwt_gson.Jjwt_gsonTest.testCompression(Jjwt_gsonTest.java:83)
       java.base@25.0.2/java.lang.reflect.Method.invoke(Method.java:565)
       org.junit.platform.commons.util.ReflectionUtils.invokeMethod(ReflectionUtils.java:727)
       org.junit.jupiter.engine.execution.MethodInvocation.proceed(MethodInvocation.java:60)
       org.junit.jupiter.engine.execution.InvocationInterceptorChain$ValidatingInvocation.proceed(InvocationInterceptorChain.java:131)
       org.junit.jupiter.engine.extension.TimeoutExtension.intercept(TimeoutExtension.java:156)
       org.junit.jupiter.engine.extension.TimeoutExtension.interceptTestableMethod(TimeoutExtension.java:147)
       org.junit.jupiter.engine.extension.TimeoutExtension.interceptTestMethod(TimeoutExtension.java:86)
       org.junit.jupiter.engine.execution.InterceptingExecutableInvoker$ReflectiveInterceptorCall.lambda$ofVoidMethod$0(InterceptingExecutableInvoker.java:103)
       org.junit.jupiter.engine.execution.InterceptingExecutableInvoker.lambda$invoke$0(InterceptingExecutableInvoker.java:93)
       [...]

Test run finished after 4 ms
[         3 containers found      ]
[         0 containers skipped    ]
[         3 containers started    ]
[         0 containers aborted    ]
[         3 containers successful ]
[         0 containers failed     ]
[         4 tests found           ]
[         0 tests skipped         ]
[         4 tests started         ]
[         0 tests aborted         ]
[         0 tests successful      ]
[         4 tests failed          ]


[Incubating] Problems report is available at: file:///home/runner/work/graalvm-reachability-metadata/graalvm-reachability-metadata/tests/src/io.jsonwebtoken/jjwt-gson/0.12.0/build/reports/problems/problems-report.html

Deprecated Gradle features were used in this build, making it incompatible with Gradle 10.

You can use '--warning-mode all' to show the individual deprecation warnings and determine if they come from your own scripts or plugins.

For more on this, please refer to https://docs.gradle.org/9.1.0/userguide/command_line_interface.html#sec:command_line_warnings in the Gradle documentation.
14 actionable tasks: 6 executed, 8 up-to-date

FAILURE: Build failed with an exception.

* What went wrong:
Execution failed for task ':nativeTest'.
> Process 'command '/home/runner/work/graalvm-reachability-metadata/graalvm-reachability-metadata/tests/src/io.jsonwebtoken/jjwt-gson/0.12.0/build/native/nativeTestCompile/io.jsonwebtoken.jjwt-gson_tests-tests'' 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 generate a Build Scan (Powered by Develocity).
> Get more help at https://help.gradle.org.

BUILD FAILED in 1m 26s

> Task :tckTest FAILED

[Incubating] Problems report is available at: file:///home/runner/work/graalvm-reachability-metadata/graalvm-reachability-metadata/build/reports/problems/problems-report.html

FAILURE: Build failed with an exception.

* What went wrong:
Execution failed for task ':tckTest'.
> Test for io.jsonwebtoken:jjwt-gson:0.12.0 failed with exit code 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 generate a Build Scan (Powered by Develocity).
> Get more help at https://help.gradle.org.

Deprecated Gradle features were used in this build, making it incompatible with Gradle 10.

You can use '--warning-mode all' to show the individual deprecation warnings and determine if they come from your own scripts or plugins.

For more on this, please refer to https://docs.gradle.org/9.1.0/userguide/command_line_interface.html#sec:command_line_warnings in the Gradle documentation.

BUILD FAILED in 1m 28s
11 actionable tasks: 3 executed, 8 up-to-date
❌ ERROR: 'native-image run' for 0.12.7 failed with exit code 1.
FAILED[native-image run][0.12.7][GVM_TCK_NATIVE_IMAGE_MODE="future-defaults-all" GVM_TCK_LV="0.12.7" ./gradlew clean test -Pcoordinates="io.jsonwebtoken:jjwt-gson:0.12.0"]

Metadata

Metadata

Assignees

Labels

fails-native-image-runTests fail in native executionlibrary-unsupported-versionAutomation found that the specific library version is not working with the current metadata.

Type

No type

Projects

Status

Todo

Milestone

No milestone

Relationships

None yet

Development

No branches or pull requests

Issue actions