Uploaded image for project: 'PUBLIC - Liferay Portal Community Edition'
  1. PUBLIC - Liferay Portal Community Edition
  2. LPS-109947

Moving an image shortly after upload causes a SystemException on Windows

    Details

      Description

      Steps to Reproduce:

      1. Navigate to Documents & Media. Create two folders "A" and "B".
      2. Upload a large image to Folder A.
      3. Quickly select "⠇> Move" and move the image to Folder B. The behavior is flaky so this may need to be done multiple times.

      Results of Testing

      Expected Result: The documents would move from one folder to the other
      Actual Result: UI elements disappear and exceptions are thrown in the logs. File is not moved.

      Errors/Logs

      Caused by: com.liferay.portal.kernel.exception.SystemException: File name was not renamed from C:\Users\Administrator\Desktop\Liferay\7.2-dxp4\data\document_library\20101\35225\103 to C:\Users\Administrator\Desktop\Liferay\7.2-dxp4\data\document_library\20101\35228\103
              at com.liferay.portal.store.file.system.FileSystemHelper.move(FileSystemHelper.java:104)
              at com.liferay.portal.store.file.system.FileSystemStore.updateFile(FileSystemStore.java:386)
              at com.liferay.portal.store.ignore.duplicates.wrapper.internal.IgnoreDuplicatesStore.lambda$updateFile$4(IgnoreDuplicatesStore.java:248)
              at com.liferay.portal.store.ignore.duplicates.wrapper.internal.IgnoreDuplicatesStore.recoverAndRetryOnFailure(IgnoreDuplicatesStore.java:343)
              at com.liferay.portal.store.ignore.duplicates.wrapper.internal.IgnoreDuplicatesStore.updateFile(IgnoreDuplicatesStore.java:246)
              at com.liferay.portal.store.safe.file.name.wrapper.internal.SafeFileNameStore.updateFile(SafeFileNameStore.java:408)
              at com.liferay.portlet.documentlibrary.store.DLStoreImpl.updateFile(DLStoreImpl.java:411)
              at com.liferay.document.library.kernel.store.DLStoreUtil.updateFile(DLStoreUtil.java:534)
              at com.liferay.portlet.documentlibrary.service.impl.DLFileEntryLocalServiceImpl.moveFileEntryImpl(DLFileEntryLocalServiceImpl.java:2478)
              at com.liferay.portlet.documentlibrary.service.impl.DLFileEntryLocalServiceImpl.moveFileEntry(DLFileEntryLocalServiceImpl.java:1619)
              at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method)
              at sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:62)
              at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43)
              at java.lang.reflect.Method.invoke(Method.java:498)
              at com.liferay.portal.spring.aop.AopMethodInvocationImpl.proceed(AopMethodInvocationImpl.java:50)
              at com.liferay.portal.spring.transaction.TransactionInterceptor.invoke(TransactionInterceptor.java:69)
              at com.liferay.portal.spring.aop.AopMethodInvocationImpl.proceed(AopMethodInvocationImpl.java:57)
              at com.liferay.portal.service.ServiceContextAdvice.invoke(ServiceContextAdvice.java:60)
              at com.liferay.portal.spring.aop.AopMethodInvocationImpl.proceed(AopMethodInvocationImpl.java:57)
              at com.liferay.portal.kernel.aop.ChainableMethodAdvice.invoke(ChainableMethodAdvice.java:64)
              at com.liferay.portal.spring.aop.AopMethodInvocationImpl.proceed(AopMethodInvocationImpl.java:57)
              at com.liferay.portal.spring.aop.AopInvocationHandler.invoke(AopInvocationHandler.java:49)
              at com.sun.proxy.$Proxy56.moveFileEntry(Unknown Source)
              at com.liferay.portlet.documentlibrary.service.impl.DLFileEntryServiceImpl.moveFileEntry(DLFileEntryServiceImpl.java:646)
              at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method)
              at sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:62)
              at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43)
              at java.lang.reflect.Method.invoke(Method.java:498)
              at com.liferay.portal.spring.aop.AopMethodInvocationImpl.proceed(AopMethodInvocationImpl.java:50)
              at com.liferay.portal.spring.transaction.TransactionInterceptor.invoke(TransactionInterceptor.java:69)
              at com.liferay.portal.spring.aop.AopMethodInvocationImpl.proceed(AopMethodInvocationImpl.java:57)
              at com.liferay.portal.service.ServiceContextAdvice.invoke(ServiceContextAdvice.java:60)
              at com.liferay.portal.spring.aop.AopMethodInvocationImpl.proceed(AopMethodInvocationImpl.java:57)
              at com.liferay.portal.kernel.aop.ChainableMethodAdvice.invoke(ChainableMethodAdvice.java:64)
              at com.liferay.portal.spring.aop.AopMethodInvocationImpl.proceed(AopMethodInvocationImpl.java:57)
              at com.liferay.portal.spring.aop.AopInvocationHandler.invoke(AopInvocationHandler.java:49)
              at com.sun.proxy.$Proxy164.moveFileEntry(Unknown Source)
              at com.liferay.portal.repository.liferayrepository.LiferayRepository.moveFileEntry(LiferayRepository.java:763)
              at com.liferay.portal.repository.util.RepositoryWrapper.moveFileEntry(RepositoryWrapper.java:574)
              at com.liferay.portal.repository.util.RepositoryWrapper.moveFileEntry(RepositoryWrapper.java:574)
              at com.liferay.portal.repository.util.RepositoryWrapper.moveFileEntry(RepositoryWrapper.java:574)
              at com.liferay.portal.repository.util.RepositoryWrapper.moveFileEntry(RepositoryWrapper.java:574)
              at com.liferay.portal.repository.util.RepositoryWrapper.moveFileEntry(RepositoryWrapper.java:574)
              at com.liferay.portal.repository.capabilities.CapabilityRepository.moveFileEntry(CapabilityRepository.java:692)
              at com.liferay.portlet.documentlibrary.service.impl.DLAppServiceImpl.moveFileEntry(DLAppServiceImpl.java:2229)
              at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method)
              at sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:62)
              at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43)
              at java.lang.reflect.Method.invoke(Method.java:498)
              at com.liferay.portal.kernel.bean.ClassLoaderBeanHandler.invoke(ClassLoaderBeanHandler.java:66)
              at com.sun.proxy.$Proxy438.moveFileEntry(Unknown Source)
              at com.liferay.document.library.kernel.service.DLAppServiceWrapper.moveFileEntry(DLAppServiceWrapper.java:1873)
              at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method)
              at sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:62)
              at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43)
              at java.lang.reflect.Method.invoke(Method.java:498)
              at com.liferay.portal.kernel.bean.ClassLoaderBeanHandler.invoke(ClassLoaderBeanHandler.java:66)
              at com.sun.proxy.$Proxy439.moveFileEntry(Unknown Source)
              at com.liferay.document.library.kernel.service.DLAppServiceWrapper.moveFileEntry(DLAppServiceWrapper.java:1873)
              at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method)
              at sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:62)
              at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43)
              at java.lang.reflect.Method.invoke(Method.java:498)
              at com.liferay.portal.kernel.bean.ClassLoaderBeanHandler.invoke(ClassLoaderBeanHandler.java:66)
              at com.sun.proxy.$Proxy439.moveFileEntry(Unknown Source)
              at com.liferay.document.library.kernel.service.DLAppServiceWrapper.moveFileEntry(DLAppServiceWrapper.java:1873)
              at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method)
              at sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:62)
              at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43)
              at java.lang.reflect.Method.invoke(Method.java:498)
              at com.liferay.portal.kernel.bean.ClassLoaderBeanHandler.invoke(ClassLoaderBeanHandler.java:66)
              at com.sun.proxy.$Proxy439.moveFileEntry(Unknown Source)
              at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method)
              at sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:62)
              at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43)
              at java.lang.reflect.Method.invoke(Method.java:498)
              at com.liferay.portal.spring.aop.AopMethodInvocationImpl.proceed(AopMethodInvocationImpl.java:50)
              at com.liferay.portal.spring.transaction.TransactionInterceptor.invoke(TransactionInterceptor.java:69)
              at com.liferay.portal.spring.aop.AopMethodInvocationImpl.proceed(AopMethodInvocationImpl.java:57)
              at com.liferay.portal.service.ServiceContextAdvice.invoke(ServiceContextAdvice.java:60)
              at com.liferay.portal.spring.aop.AopMethodInvocationImpl.proceed(AopMethodInvocationImpl.java:57)
              at com.liferay.portal.kernel.aop.ChainableMethodAdvice.invoke(ChainableMethodAdvice.java:64)
              at com.liferay.portal.spring.aop.AopMethodInvocationImpl.proceed(AopMethodInvocationImpl.java:57)
              at com.liferay.portal.spring.aop.AopInvocationHandler.invoke(AopInvocationHandler.java:49)
              at com.sun.proxy.$Proxy67.moveFileEntry(Unknown Source)
              at com.liferay.document.library.web.internal.portlet.action.EditEntryMVCActionCommand.lambda$_moveEntries$8(EditEntryMVCActionCommand.java:357)
              at com.liferay.bulk.selection.BaseSingleEntryBulkSelection.forEach(BaseSingleEntryBulkSelection.java:56)
              at com.liferay.document.library.web.internal.portlet.action.EditEntryMVCActionCommand._moveEntries(EditEntryMVCActionCommand.java:356)
              at com.liferay.document.library.web.internal.portlet.action.EditEntryMVCActionCommand.doProcessAction(EditEntryMVCActionCommand.java:108)
              at com.liferay.portal.kernel.portlet.bridges.mvc.BaseMVCActionCommand.processAction(BaseMVCActionCommand.java:61)
              ... 153 more
      

       

      Reproduced in: 7.2.x - 0331ca6f57ffe2117168a8208e66544b3088b663

      Not reproduced in: Master - 3838dac2ae9689eceb6374dee03b44cf836abfdb. Fixed by changes made in LPS-103419. Also fixed by changes made in LPS-110213.

        Attachments

          Issue Links

            Activity

              People

              Assignee:
              beck.liu Beck Liu
              Reporter:
              lianne.louie Lianne Louie
              Participants of an Issue:
              Recent user:
              Clarissa Velazquez
              Votes:
              0 Vote for this issue
              Watchers:
              2 Start watching this issue

                Dates

                Created:
                Updated:
                Resolved:
                Days since last comment:
                24 weeks, 4 days ago

                  Packages

                  Version Package
                  7.2.10 DXP FP5
                  7.2.10.2 DXP SP2
                  7.2.X