Issue
-
Start DXP against JDK 11.0.20, the following error is reported in the log:
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
Resolution
- If you use Windows, set the
-Djdk.util.zip.disableZip64ExtraFieldValidation=true
JVM parameter in your <appserver>/bin/setenv.bat file. - If you use Linux, set the same parameter in the setenv.sh file
- If you use Docker:
- Using docker run, set the
-e LIFERAY_JVM_OPTS=-Djdk.util.zip.disableZip64ExtraFieldValidation=true
variable -
Using compose.yaml, set the below in it:
liferay: image: liferay/dxp:7.4.13.nightly environment: LIFERAY_JVM_OPTS: "-Djdk.util.zip.disableZip64ExtraFieldValidation=true"
- Using docker run, set the
Additional Information
-
This error is due to the latest change in JDK 11.0.20(Release Note)
-
core-libs/java.util.jar
➜ Improved ZIP64 Extra Field Validation(JDK-8302483 (not public))java.util.zip.ZipFile
has been updated to provide additional validation of ZIP64 extra fields when opening a ZIP file. This validation may be disabled by setting the system propertyjdk.util.zip.disableZip64ExtraFieldValidation
totrue
-
Subscriber Exclusive Content
A Liferay Enterprise Subscription provides access to over 1,500 articles that include best practices, troubleshooting, and other valuable solutions. Sign in for full access.
Sign In