You are viewing a plain text version of this content. The canonical link for it is here.
Posted to issues@commons.apache.org by "Jean-Baptiste (Jira)" <ji...@apache.org> on 2020/04/30 08:42:00 UTC
[jira] [Created] (COMPRESS-512) "AsiExtraField is not a concrete
class" with graalvm native-image
Jean-Baptiste created COMPRESS-512:
--------------------------------------
Summary: "AsiExtraField is not a concrete class" with graalvm native-image
Key: COMPRESS-512
URL: https://issues.apache.org/jira/browse/COMPRESS-512
Project: Commons Compress
Issue Type: Bug
Components: Archivers
Affects Versions: 1.20
Reporter: Jean-Baptiste
Hi, I am trying to unzip a file using apache commons compress. It is working with in a "classical jvm" like OpenJDK 11 or even Graalvm 11 but when I convert it in native-image it fails to run with its exception:
{code:java}
picocli.CommandLine$ExecutionException: Error while calling command (void fr.gouv.vitam.troubleshoot.TroubleShooter.logForAll(fr.gouv.vitam.troubleshoot.pojo.Component[],java.nio.file.Path) throws java.io.IOException): java.lang.ExceptionInInitializerError
at picocli.CommandLine.executeUserObject(CommandLine.java:1816)
at picocli.CommandLine.access$900(CommandLine.java:145)
at picocli.CommandLine$RunLast.executeUserObjectOfLastSubcommandWithSameParent(CommandLine.java:2150)
at picocli.CommandLine$RunLast.handle(CommandLine.java:2144)
at picocli.CommandLine$RunLast.handle(CommandLine.java:2108)
at picocli.CommandLine$AbstractParseResultHandler.execute(CommandLine.java:1975)
at picocli.CommandLine.execute(CommandLine.java:1904)
at fr.gouv.vitam.troubleshoot.TroubleShooter.main(TroubleShooter.java:165)
Caused by: java.lang.ExceptionInInitializerError
at com.oracle.svm.core.hub.ClassInitializationInfo.initialize(ClassInitializationInfo.java:290)
at java.lang.Class.ensureInitialized(DynamicHub.java:496)
at org.apache.commons.compress.archivers.zip.ZipArchiveEntry.setCentralDirectoryExtra(ZipArchiveEntry.java:700)
at org.apache.commons.compress.archivers.zip.ZipFile.readCentralDirectoryEntry(ZipFile.java:805)
at org.apache.commons.compress.archivers.zip.ZipFile.populateFromCentralDirectory(ZipFile.java:714)
at org.apache.commons.compress.archivers.zip.ZipFile.<init>(ZipFile.java:371)
at org.apache.commons.compress.archivers.zip.ZipFile.<init>(ZipFile.java:318)
at org.apache.commons.compress.archivers.zip.ZipFile.<init>(ZipFile.java:274)
at fr.gouv.vitam.troubleshoot.subcommands.ZipTroubleshootReader.extract(ZipTroubleshootReader.java:44)
at fr.gouv.vitam.troubleshoot.subcommands.LogForAll.execute(LogForAll.java:28)
at fr.gouv.vitam.troubleshoot.TroubleService.logForAll(TroubleService.java:41)
at fr.gouv.vitam.troubleshoot.TroubleShooter.logForAll(TroubleShooter.java:119)
at java.lang.reflect.Method.invoke(Method.java:566)
at picocli.CommandLine.executeUserObject(CommandLine.java:1802)
... 7 more
Caused by: java.lang.RuntimeException: class org.apache.commons.compress.archivers.zip.AsiExtraField is not a concrete class
at org.apache.commons.compress.archivers.zip.ExtraFieldUtils.register(ExtraFieldUtils.java:73)
at org.apache.commons.compress.archivers.zip.ExtraFieldUtils.<clinit>(ExtraFieldUtils.java:43)
at com.oracle.svm.core.hub.ClassInitializationInfo.invokeClassInitializer(ClassInitializationInfo.java:350)
at com.oracle.svm.core.hub.ClassInitializationInfo.initialize(ClassInitializationInfo.java:270)
... 20 more
{code}
The interesting part is that one I think:
{code:java}
org.apache.commons.compress.archivers.zip.AsiExtraField is not a concrete class at org.apache.commons.compress.archivers.zip.ExtraFieldUtils.register(ExtraFieldUtils.java:73) at org.apache.commons.compress.archivers.zip.ExtraFieldUtils.<clinit>(ExtraFieldUtils.java:43)
{code}
In order to build it in native image I am using the following configuration:
{code:java}
<plugin>
<groupId>org.graalvm.nativeimage</groupId>
<artifactId>native-image-maven-plugin</artifactId>
<version>${native-image-maven-plugin.version}</version>
<executions>
<execution>
<configuration>
<skip>${NOT-compile-to-binary}</skip>
<imageName>troubleshooter</imageName>
<mainClass>fr.gouv.vitam.troubleshoot.TroubleShooter</mainClass>
<buildArgs>-H:ReflectionConfigurationFiles=classes/META-INF/native-image/picocli-generated/fr.grouv.vitam/troubloushouter/reflect-config.json -H:+ReportUnsupportedElementsAtRuntime</buildArgs>
</configuration>
<goals>
<goal>native-image</goal>
</goals>
<phase>package</phase>
</execution>
</executions>
</plugin>
{code}
Do you have an idea ?
--
This message was sent by Atlassian Jira
(v8.3.4#803005)