java.util.zip.ZipException:JDK 11.0.20 を使用して dxp を起動すると、無効な CEN ヘッダ (無効な zip64 エクストラデータフィールドサイズ) が発生します。

問題

  • JDK 11.0.20に対してDXPを起動すると、ログに以下のエラーが報告されます:

    ERROR [main][ModuleFrameworkImpl:417] null
    org.osgi.framework.BundleException: Error occurred installing a bundle.
    at org.eclipse.osgi.storage.Storage.install(Storage.java:688) ~[org.eclipse.osgi.jar:?]
    at org.eclipse.osgi.internal.framework.BundleContextImpl.installBundle(BundleContextImpl.java:146) ~[org.eclipse.osgi.jar:?]
    at com.liferay.portal.bootstrap.ModuleFrameworkImpl._addBundle(ModuleFrameworkImpl.java:414) [com.liferay.portal.bootstrap.jar:?]
    at com.liferay.portal.bootstrap.ModuleFrameworkImpl._installInitialBundle(ModuleFrameworkImpl.java:1047) [com.liferay.portal.bootstrap.jar:?]
    at com.liferay.portal.bootstrap.ModuleFrameworkImpl._deployStaticBundlesFromFile(ModuleFrameworkImpl.java:704) [com.liferay.portal.bootstrap.jar:?]
    at com.liferay.portal.bootstrap.ModuleFrameworkImpl._setUpInitialBundles(ModuleFrameworkImpl.java:1448) [com.liferay.portal.bootstrap.jar:?]
    at com.liferay.portal.bootstrap.ModuleFrameworkImpl.startFramework(ModuleFrameworkImpl.java:276) [com.liferay.portal.bootstrap.jar:?]
    at com.liferay.portal.module.framework.ModuleFrameworkUtil.startFramework(ModuleFrameworkUtil.java:45) [portal-impl.jar:?]
    at com.liferay.portal.spring.context.PortalContextLoaderListener.contextInitialized(PortalContextLoaderListener.java:295) [portal-impl.jar:?]
    at jdk.internal.reflect.NativeMethodAccessorImpl.invoke0(Native Method) ~[?:?]
    at jdk.internal.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:62) ~[?:?]
    at jdk.internal.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43) ~[?:?]
    at java.lang.reflect.Method.invoke(Method.java:566) ~[?:?]
    at com.liferay.shielded.container.internal.proxy.ContextClassLoaderInvocationHandler.invoke(ContextClassLoaderInvocationHandler.java:43) [com.liferay.shielded.container.impl.jar:?]
    at com.liferay.shielded.container.internal.proxy.EventListenerInvocationHandler.invoke(EventListenerInvocationHandler.java:64) [com.liferay.shielded.container.impl.jar:?]
    at com.sun.proxy.$Proxy6.contextInitialized(Unknown Source) [?:?]
    at org.apache.catalina.core.StandardContext.listenerStart(StandardContext.java:4492) [catalina.jar:9.0.75]
    at org.apache.catalina.core.StandardContext.startInternal(StandardContext.java:4946) [catalina.jar:9.0.75]
    at org.apache.catalina.util.LifecycleBase.start(LifecycleBase.java:183) [catalina.jar:9.0.75]
    at org.apache.catalina.core.ContainerBase.addChildInternal(ContainerBase.java:683) [catalina.jar:9.0.75]
    at org.apache.catalina.core.ContainerBase.addChild(ContainerBase.java:658) [catalina.jar:9.0.75]
    at org.apache.catalina.core.StandardHost.addChild(StandardHost.java:662) [catalina.jar:9.0.75]
    at org.apache.catalina.startup.HostConfig.deployDescriptor(HostConfig.java:689) [catalina.jar:9.0.75]
    at org.apache.catalina.startup.HostConfig$DeployDescriptor.run(HostConfig.java:1888) [catalina.jar:9.0.75]
    at java.util.concurrent.Executors$RunnableAdapter.call(Executors.java:515) [?:?]
    at java.util.concurrent.FutureTask.run(FutureTask.java:264) [?:?]
    at org.apache.tomcat.util.threads.InlineExecutorService.execute(InlineExecutorService.java:75) [tomcat-util.jar:9.0.75]
    at java.util.concurrent.AbstractExecutorService.submit(AbstractExecutorService.java:118) [?:?]
    at org.apache.catalina.startup.HostConfig.deployDescriptors(HostConfig.java:582) [catalina.jar:9.0.75]
    at org.apache.catalina.startup.HostConfig.deployApps(HostConfig.java:472) [catalina.jar:9.0.75]
    at org.apache.catalina.startup.HostConfig.start(HostConfig.java:1617) [catalina.jar:9.0.75]
    at org.apache.catalina.startup.HostConfig.lifecycleEvent(HostConfig.java:318) [catalina.jar:9.0.75]
    at org.apache.catalina.util.LifecycleBase.fireLifecycleEvent(LifecycleBase.java:123) [catalina.jar:9.0.75]
    at org.apache.catalina.util.LifecycleBase.setStateInternal(LifecycleBase.java:423) [catalina.jar:9.0.75]
    at org.apache.catalina.util.LifecycleBase.setState(LifecycleBase.java:366) [catalina.jar:9.0.75]
    at org.apache.catalina.core.ContainerBase.startInternal(ContainerBase.java:898) [catalina.jar:9.0.75]
    at org.apache.catalina.core.StandardHost.startInternal(StandardHost.java:795) [catalina.jar:9.0.75]
    at org.apache.catalina.util.LifecycleBase.start(LifecycleBase.java:183) [catalina.jar:9.0.75]
    at org.apache.catalina.core.ContainerBase$StartChild.call(ContainerBase.java:1332) [catalina.jar:9.0.75]
    at org.apache.catalina.core.ContainerBase$StartChild.call(ContainerBase.java:1322) [catalina.jar:9.0.75]
    at java.util.concurrent.FutureTask.run(FutureTask.java:264) [?:?]
    at org.apache.tomcat.util.threads.InlineExecutorService.execute(InlineExecutorService.java:75) [tomcat-util.jar:9.0.75]
    at java.util.concurrent.AbstractExecutorService.submit(AbstractExecutorService.java:140) [?:?]
    at org.apache.catalina.core.ContainerBase.startInternal(ContainerBase.java:871) [catalina.jar:9.0.75]
    at org.apache.catalina.core.StandardEngine.startInternal(StandardEngine.java:249) [catalina.jar:9.0.75]
    at org.apache.catalina.util.LifecycleBase.start(LifecycleBase.java:183) [catalina.jar:9.0.75]
    at org.apache.catalina.core.StandardService.startInternal(StandardService.java:428) [catalina.jar:9.0.75]
    at org.apache.catalina.util.LifecycleBase.start(LifecycleBase.java:183) [catalina.jar:9.0.75]
    at org.apache.catalina.core.StandardServer.startInternal(StandardServer.java:914) [catalina.jar:9.0.75]
    at org.apache.catalina.util.LifecycleBase.start(LifecycleBase.java:183) [catalina.jar:9.0.75]
    at org.apache.catalina.startup.Catalina.start(Catalina.java:772) [catalina.jar:9.0.75]
    at jdk.internal.reflect.NativeMethodAccessorImpl.invoke0(Native Method) ~[?:?]
    at jdk.internal.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:62) ~[?:?]
    at jdk.internal.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43) ~[?:?]
    at java.lang.reflect.Method.invoke(Method.java:566) ~[?:?]
    at org.apache.catalina.startup.Bootstrap.start(Bootstrap.java:347) [bootstrap.jar:9.0.75]
    at org.apache.catalina.startup.Bootstrap.main(Bootstrap.java:478) [bootstrap.jar:9.0.75]
    Caused by: java.util.zip.ZipException: Exception in opening zip file: /opt/liferay/osgi/state/org.eclipse.osgi/10/0/bundleFile
    at org.eclipse.osgi.framework.util.SecureAction.getZipFile(SecureAction.java:317) ~[org.eclipse.osgi.jar:?]
    at org.eclipse.osgi.storage.bundlefile.ZipBundleFile.getZipFile(ZipBundleFile.java:132) ~[org.eclipse.osgi.jar:?]
    at org.eclipse.osgi.storage.bundlefile.ZipBundleFile.open(ZipBundleFile.java:424) ~[org.eclipse.osgi.jar:?]
    at org.eclipse.osgi.storage.Storage.install(Storage.java:652) ~[org.eclipse.osgi.jar:?]
    ... 56 more
    Caused by: java.util.zip.ZipException: Invalid CEN header (invalid zip64 extra data field size)
    at java.util.zip.ZipFile$Source.zerror(ZipFile.java:1752) ~[?:?]
    at java.util.zip.ZipFile$Source.checkExtraFields(ZipFile.java:1268) ~[?:?]
    at java.util.zip.ZipFile$Source.initCEN(ZipFile.java:1717) ~[?:?]
    at java.util.zip.ZipFile$Source.<init>(ZipFile.java:1444) ~[?:?]
    at java.util.zip.ZipFile$Source.get(ZipFile.java:1407) ~[?:?]
    at java.util.zip.ZipFile$CleanableResource.<init>(ZipFile.java:756) ~[?:?]
    at java.util.zip.ZipFile$CleanableResource.get(ZipFile.java:873) ~[?:?]
    at java.util.zip.ZipFile.<init>(ZipFile.java:271) ~[?:?]
    at java.util.zip.ZipFile.<init>(ZipFile.java:200) ~[?:?]
    at java.util.zip.ZipFile.<init>(ZipFile.java:214) ~[?:?]
    at org.eclipse.osgi.framework.util.SecureAction.getZipFile(SecureAction.java:304) ~[org.eclipse.osgi.jar:?]
    at org.eclipse.osgi.storage.bundlefile.ZipBundleFile.getZipFile(ZipBundleFile.java:132) ~[org.eclipse.osgi.jar:?]
    at org.eclipse.osgi.storage.bundlefile.ZipBundleFile.open(ZipBundleFile.java:424) ~[org.eclipse.osgi.jar:?]
    at org.eclipse.osgi.storage.Storage.install(Storage.java:652) ~[org.eclipse.osgi.jar:?]
    ... 56 more

Environment

  • 7.4 DXP U86 + Zulu JDK 11.0.20
  • 7.4 DXP U85 + Zulu JDK 11.0.20
  • 7.4 DXP U50 + Zulu JDK 11.0.20
  • 7.3 DXP U29 + Zulu JDK 11.0.20
  • 7.1 DXP SP8 + Zulu JDK 11.0.20

解像度

  • この記事を書いている時点(2023年7月25日)では、 LPS-191551で調査中である。
  • 回避策 -Djdk.util.zip.disableZip64ExtraFieldValidation=trueを設定します。

追加情報

  • このエラーは、JDK 11.0.20(リリースノート) の最新の変更によるものです。

    • core-libs/java.util.jar
      ZIP64 のフィールド検証の改善(JDK-8302483 (非公開))

      java.util.zip.ZipFile が更新され、ZIPファイルを開く際にZIP64の追加フィールドの検証を行うようになりました。 この検証は、システムプロパティ jdk.util.zip.disableZip64ExtraFieldValidationtrueに設定することで無効にできます。

この記事は役に立ちましたか?
6人中4人がこの記事が役に立ったと言っています