Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

native-image no longer supports resource bundles in .properties file format that reside at JAR's root #3535

Closed
zakkak opened this issue Jul 1, 2021 · 0 comments · Fixed by #3540
Assignees

Comments

@zakkak
Copy link
Collaborator

zakkak commented Jul 1, 2021

Describe the issue
#3446 and specifically commit 3e5e1b8 breaks support of jar files including resource bundles in .properties file format at their root. Such an example is org.eclipse.yasson (seen failing in quarkusio/quarkus#18305).

Steps to reproduce the issue
Please include both build steps as well as run steps

  1. Build native-image from master branch
  2. git clone --branch yasson-resourcebundle https://github.com/zakkak/issue-reproducers /tmp/yasson-resourcebundle
  3. cd /tmp/yasson-resourcebundle
  4. mvn package
  5. native-image -jar target/reproducer-1.0-SNAPSHOT.jar

Describe GraalVM and your environment:

  • GraalVM version: 44d3ba0
  • JDK major version: 11
  • OS: Fedora 34
  • Architecture: AMD64

More details

Apply jar:file:///home/zakkak/code/tmp/yasson-reproducer/target/reproducer-1.0-SNAPSHOT.jar!/META-INF/native-image/org.eclipse/yasson/native-image.properties
Executing [
/home/zakkak/code/mandrel-packaging/mandrel-java11-21.3.0-devadb0569cd5b/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.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.ref=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.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.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.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.sparc=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.internal=ALL-UNNAMED \
--add-exports=jdk.internal.vm.ci/jdk.vm.ci.services=ALL-UNNAMED \
--add-exports=jdk.internal.vm.ci/jdk.vm.ci.sparc=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:-UseJVMCICompiler \
-Xss10m \
-Xms1g \
-Xmx14g \
-Duser.country=US \
-Duser.language=en \
-Djava.awt.headless=true \
-Dorg.graalvm.version=21.3.0-devadb0569cd5b \
'-Dorg.graalvm.config=Mandrel Distribution' \
-Dcom.oracle.graalvm.isaot=true \
-Djava.system.class.loader=com.oracle.svm.hosted.NativeImageSystemClassLoader \
-Dawt.toolkit=sun.awt.X11.XToolkit \
-Djava.awt.graphicsenv=sun.awt.X11GraphicsEnvironment \
-Djava.awt.printerjob=sun.print.PSPrinterJob \
-Xshare:off \
--module-path \
/home/zakkak/code/mandrel-packaging/mandrel-java11-21.3.0-devadb0569cd5b/lib/jvmci/graal-sdk.jar:/home/zakkak/code/mandrel-packaging/mandrel-java11-21.3.0-devadb0569cd5b/lib/truffle/truffle-api.jar \
--upgrade-module-path \
/home/zakkak/code/mandrel-packaging/mandrel-java11-21.3.0-devadb0569cd5b/lib/jvmci/graal.jar \
-Djdk.internal.lambda.disableEagerInitialization=true \
-Djdk.internal.lambda.eagerlyInitialize=false \
-Djava.lang.invoke.InnerClassLambdaMetafactory.initializeLambdas=false \
--add-exports=jdk.internal.vm.ci/jdk.vm.ci.code=jdk.internal.vm.compiler \
-javaagent:/home/zakkak/code/mandrel-packaging/mandrel-java11-21.3.0-devadb0569cd5b/lib/svm/builder/svm.jar \
-cp \
/home/zakkak/code/mandrel-packaging/mandrel-java11-21.3.0-devadb0569cd5b/lib/jvmci/graal-sdk.jar:/home/zakkak/code/mandrel-packaging/mandrel-java11-21.3.0-devadb0569cd5b/lib/jvmci/graal.jar:/home/zakkak/code/mandrel-packaging/mandrel-java11-21.3.0-devadb0569cd5b/lib/svm/builder/svm.jar:/home/zakkak/code/mandrel-packaging/mandrel-java11-21.3.0-devadb0569cd5b/lib/svm/builder/pointsto.jar:/home/zakkak/code/mandrel-packaging/mandrel-java11-21.3.0-devadb0569cd5b/lib/svm/builder/objectfile.jar \
'com.oracle.svm.hosted.NativeImageGeneratorRunner$JDK9Plus' \
-imagecp \
/home/zakkak/code/tmp/yasson-reproducer/target/reproducer-1.0-SNAPSHOT.jar:/home/zakkak/code/mandrel-packaging/mandrel-java11-21.3.0-devadb0569cd5b/lib/svm/library-support.jar \
-H:Path=/home/zakkak/code/tmp/yasson-reproducer \
-H:+DumpTargetInfo \
'-H:Class@manifest from file:///home/zakkak/code/tmp/yasson-reproducer/target/reproducer-1.0-SNAPSHOT.jar=com.example.App' \
'-H:Name@manifest from file:///home/zakkak/code/tmp/yasson-reproducer/target/reproducer-1.0-SNAPSHOT.jar=reproducer-1.0-SNAPSHOT' \
'-H:IncludeResourceBundles@jar:file:///home/zakkak/code/tmp/yasson-reproducer/target/reproducer-1.0-SNAPSHOT.jar!/META-INF/native-image/org.eclipse/yasson/native-image.properties=yasson-messages' \
-H:CLibraryPath=/home/zakkak/code/mandrel-packaging/mandrel-java11-21.3.0-devadb0569cd5b/lib/svm/clibraries/linux-amd64
]
[reproducer-1.0-SNAPSHOT:971574]    classlist:   1,241.94 ms,  0.96 GB
[reproducer-1.0-SNAPSHOT:971574]        (cap):     419.94 ms,  0.96 GB
[reproducer-1.0-SNAPSHOT:971574]        setup:   2,040.90 ms,  0.96 GB
The bundle named: yasson-messages, has not been found. If the bundle is part of a module, verify the bundle name is a fully qualified class name. Otherwise verify the bundle path is accessible in the classpath.
# Building image for target platform: org.graalvm.nativeimage.Platform$LINUX_AMD64
# Using native toolchain:
#   Name: GNU project C and C++ compiler (gcc)
#   Vendor: redhat
#   Version: 11.1.1
#   Target architecture: x86_64
#   Path: /usr/bin/gcc
# Using CLibrary: com.oracle.svm.core.posix.linux.libc.GLibC
[reproducer-1.0-SNAPSHOT:971574]     (clinit):     239.72 ms,  1.76 GB
# Static libraries:
#   ../../mandrel-packaging/mandrel-java11-21.3.0-devadb0569cd5b/lib/svm/clibraries/linux-amd64/liblibchelper.a
#   ../../mandrel-packaging/mandrel-java11-21.3.0-devadb0569cd5b/lib/static/linux-amd64/glibc/libnet.a
#   ../../mandrel-packaging/mandrel-java11-21.3.0-devadb0569cd5b/lib/static/linux-amd64/glibc/libnio.a
#   ../../mandrel-packaging/mandrel-java11-21.3.0-devadb0569cd5b/lib/static/linux-amd64/glibc/libjava.a
#   ../../mandrel-packaging/mandrel-java11-21.3.0-devadb0569cd5b/lib/static/linux-amd64/glibc/libfdlibm.a
#   ../../mandrel-packaging/mandrel-java11-21.3.0-devadb0569cd5b/lib/static/linux-amd64/glibc/libzip.a
#   ../../mandrel-packaging/mandrel-java11-21.3.0-devadb0569cd5b/lib/svm/clibraries/linux-amd64/libjvm.a
# Other libraries: pthread,dl,z,rt
[reproducer-1.0-SNAPSHOT:971574]   (typeflow):   4,472.47 ms,  1.76 GB
[reproducer-1.0-SNAPSHOT:971574]    (objects):   4,983.88 ms,  1.76 GB
[reproducer-1.0-SNAPSHOT:971574]   (features):     499.74 ms,  1.76 GB
[reproducer-1.0-SNAPSHOT:971574]     analysis:  10,520.38 ms,  1.76 GB
[reproducer-1.0-SNAPSHOT:971574]     universe:     931.48 ms,  1.76 GB
[reproducer-1.0-SNAPSHOT:971574]      (parse):   1,039.00 ms,  1.76 GB
[reproducer-1.0-SNAPSHOT:971574]     (inline):   2,466.46 ms,  2.28 GB
[reproducer-1.0-SNAPSHOT:971574]    (compile):  11,982.80 ms,  3.19 GB
[reproducer-1.0-SNAPSHOT:971574]      compile:  16,257.00 ms,  3.19 GB
[reproducer-1.0-SNAPSHOT:971574]        image:   2,433.45 ms,  3.19 GB
[reproducer-1.0-SNAPSHOT:971574]        write:     219.31 ms,  3.19 GB
[reproducer-1.0-SNAPSHOT:971574]      [total]:  33,908.73 ms,  3.19 GB
# Printing build artifacts to: /home/zakkak/code/tmp/yasson-reproducer/reproducer-1.0-SNAPSHOT.build_artifacts.txt
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment