RE: potential Bug in Lar Export/Import Liferay v7.4

Alexander Wolf, modified 3 Years ago. New Member Posts: 14 Join Date: 8/18/16 Recent Posts

Hi after Upgrading from Liferay 7.0 to 7.4 I discovered a Bug,

When i try an Lar Export on Windows without a Space in the Path it works correctly whoever if the Path of the Liferay Server contains 1 or more Spaces i get an Error.

Steps to reproduce:

  1. Set Up fresh Liferay 7.4 Installation on a Windows Machine with an Space in the corresponding path
  2. Start Server and Login as Admin
  3. Navigate to Publishing --> Export and Export default Configs

Expected Result:

Export runs successfully.

Actual Result:

Export Fails with the following Exception

2022-03-30 12:46:27.258 ERROR [liferay/background_task-4][BackgroundTaskMessageListener:182] Unable to execute background task
com.liferay.exportimport.kernel.exception.ExportImportRuntimeException: Illegal character in opaque part at index 22: jar:file:/Q:/app/space test directory/liferay_7_4/tomcat-9.0.53/temp/a8b8356c-c3f5-6287-4cc9-47b3677d3cf8.zip
        at com.liferay.portlet.exportimport.service.impl.ExportImportLocalServiceImpl.exportLayoutsAsFile(ExportImportLocalServiceImpl.java:70) ~[portal-impl.jar:?]
        at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method) ~[?:1.8.0_312]
        at sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:62) ~[?:1.8.0_312]
        at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43) ~[?:1.8.0_312]
        at java.lang.reflect.Method.invoke(Method.java:498) ~[?:1.8.0_312]
        at com.liferay.portal.spring.aop.AopMethodInvocationImpl.proceed(AopMethodInvocationImpl.java:50) ~[portal-impl.jar:?]
        at com.liferay.portal.spring.transaction.TransactionInterceptor.invoke(TransactionInterceptor.java:69) ~[portal-impl.jar:?]
        at com.liferay.portal.spring.aop.AopMethodInvocationImpl.proceed(AopMethodInvocationImpl.java:57) ~[portal-impl.jar:?]
        at com.liferay.change.tracking.internal.aop.CTTransactionAdvice.invoke(CTTransactionAdvice.java:80) ~[?:?]
        at com.liferay.portal.spring.aop.AopMethodInvocationImpl.proceed(AopMethodInvocationImpl.java:57) ~[portal-impl.jar:?]
        at com.liferay.portal.spring.aop.AopInvocationHandler.invoke(AopInvocationHandler.java:49) ~[portal-impl.jar:?]
        at com.sun.proxy.$Proxy89.exportLayoutsAsFile(Unknown Source) ~[?:?]
        at com.liferay.exportimport.kernel.service.ExportImportLocalServiceUtil.exportLayoutsAsFile(ExportImportLocalServiceUtil.java:45) ~[portal-kernel.jar:?]
        at com.liferay.exportimport.internal.background.task.LayoutExportBackgroundTaskExecutor.execute(LayoutExportBackgroundTaskExecutor.java:69) ~[?:?]
        at com.liferay.portal.kernel.backgroundtask.DelegatingBackgroundTaskExecutor.execute(DelegatingBackgroundTaskExecutor.java:41) ~[portal-kernel.jar:?]
        at com.liferay.portal.background.task.internal.ThreadLocalAwareBackgroundTaskExecutor.execute(ThreadLocalAwareBackgroundTaskExecutor.java:72) ~[bundleFile:?]
        at com.liferay.portal.background.task.internal.messaging.BackgroundTaskMessageListener.doReceive(BackgroundTaskMessageListener.java:136) [bundleFile:?]
        at com.liferay.portal.kernel.messaging.BaseMessageListener.doReceive(BaseMessageListener.java:48) [portal-kernel.jar:?]
        at com.liferay.portal.kernel.messaging.BaseMessageListener.receive(BaseMessageListener.java:34) [portal-kernel.jar:?]
        at com.liferay.portal.kernel.messaging.InvokerMessageListener.receive(InvokerMessageListener.java:74) [portal-kernel.jar:?]
        at com.liferay.portal.messaging.internal.ParallelDestination$1.run(ParallelDestination.java:56) [bundleFile:?]
        at java.util.concurrent.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1149) [?:1.8.0_312]
        at java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:624) [?:1.8.0_312]
        at java.lang.Thread.run(Thread.java:748) [?:1.8.0_312]
Caused by: java.lang.IllegalArgumentException: Illegal character in opaque part at index 22: jar:file:/Q:/app/space test directory/liferay_7_4/tomcat-9.0.53/temp/a8b8356c-c3f5-6287-4cc9-47b3677d3cf8.zip
        at java.net.URI.create(URI.java:852) ~[?:1.8.0_312]
        at com.liferay.portal.zip.ZipWriterImpl.<init>(ZipWriterImpl.java:70) ~[portal-impl.jar:?]
        at com.liferay.portal.zip.ZipWriterImpl.<init>(ZipWriterImpl.java:54) ~[portal-impl.jar:?]
        at com.liferay.portal.zip.ZipWriterFactoryImpl.getZipWriter(ZipWriterFactoryImpl.java:29) ~[portal-impl.jar:?]
        at com.liferay.portal.kernel.zip.ZipWriterFactoryUtil.getZipWriter(ZipWriterFactoryUtil.java:25) ~[portal-kernel.jar:?]
        at com.liferay.exportimport.internal.lar.ExportImportHelperImpl.getZipWriter(ExportImportHelperImpl.java:1260) ~[?:?]
        at com.liferay.exportimport.internal.lar.ExportImportHelperImpl.getLayoutSetZipWriter(ExportImportHelperImpl.java:459) ~[?:?]
        at com.liferay.exportimport.internal.controller.LayoutExportController.getPortletDataContext(LayoutExportController.java:372) ~[?:?]
        at com.liferay.exportimport.internal.controller.LayoutExportController.export(LayoutExportController.java:108) ~[?:?]
        at com.liferay.portlet.exportimport.service.impl.ExportImportLocalServiceImpl.exportLayoutsAsFile(ExportImportLocalServiceImpl.java:62) ~[portal-impl.jar:?]
        ... 23 more
Caused by: java.net.URISyntaxException: Illegal character in opaque part at index 22: jar:file:/Q:/app/space test directory/liferay_7_4/tomcat-9.0.53/temp/a8b8356c-c3f5-6287-4cc9-47b3677d3cf8.zip
        at java.net.URI$Parser.fail(URI.java:2847) ~[?:1.8.0_312]
        at java.net.URI$Parser.checkChars(URI.java:3020) ~[?:1.8.0_312]
        at java.net.URI$Parser.parse(URI.java:3057) ~[?:1.8.0_312]
        at java.net.URI.<init>(URI.java:588) ~[?:1.8.0_312]
        at java.net.URI.create(URI.java:850) ~[?:1.8.0_312]
        at com.liferay.portal.zip.ZipWriterImpl.<init>(ZipWriterImpl.java:70) ~[portal-impl.jar:?]
        at com.liferay.portal.zip.ZipWriterImpl.<init>(ZipWriterImpl.java:54) ~[portal-impl.jar:?]
        at com.liferay.portal.zip.ZipWriterFactoryImpl.getZipWriter(ZipWriterFactoryImpl.java:29) ~[portal-impl.jar:?]
        at com.liferay.portal.kernel.zip.ZipWriterFactoryUtil.getZipWriter(ZipWriterFactoryUtil.java:25) ~[portal-kernel.jar:?]
        at com.liferay.exportimport.internal.lar.ExportImportHelperImpl.getZipWriter(ExportImportHelperImpl.java:1260) ~[?:?]
        at com.liferay.exportimport.internal.lar.ExportImportHelperImpl.getLayoutSetZipWriter(ExportImportHelperImpl.java:459) ~[?:?]
        at com.liferay.exportimport.internal.controller.LayoutExportController.getPortletDataContext(LayoutExportController.java:372) ~[?:?]
        at com.liferay.exportimport.internal.controller.LayoutExportController.export(LayoutExportController.java:108) ~[?:?]
        at com.liferay.portlet.exportimport.service.impl.ExportImportLocalServiceImpl.exportLayoutsAsFile(ExportImportLocalServiceImpl.java:62) ~[portal-impl.jar:?]
        ... 23 more

 

thumbnail
Zsigmond Rab, modified 3 Years ago. Liferay Master Posts: 764 Join Date: 1/5/10 Recent Posts

Hi Alexander,

Have you created a bug ticket for this in JIRA? If you haven't, could you please create one and put the link to here as a reference?

Thanks,

Zsigmond