Details

    • Liferay Contributor's Agreement:
      Accept
    • Similar Issues:
      Show 5 results 

      Description

      When uploading documents with non-english characters in its name, it gives an error:

      In this case, the video has the name: "Vídeo_España.avi". It has spanish characters.

      10:22:01,556 INFO  [PortalImpl:4570] Current URL /documents/10181/0/V%EDdeo_Espa%F1a.mp4?version=1.0&videoThumbnail=1 generates exception: No DLFileEntry exists with the key {groupId=10181, folderId=0, title=V�deo_Espa�a.mp4}
      10:22:01,557 INFO  [PortalImpl:4591] com.liferay.portlet.documentlibrary.NoSuchFileEntryException: No DLFileEntry exists with the key {groupId=10181, folderId=0, title=V�deo_Espa�a.mp4}
      com.liferay.portlet.documentlibrary.NoSuchFileEntryException: No DLFileEntry exists with the key {groupId=10181, folderId=0, title=V�deo_Espa�a.mp4}
      	at com.liferay.portlet.documentlibrary.service.persistence.DLFileEntryPersistenceImpl.findByG_F_T(DLFileEntryPersistenceImpl.java:5152)
      	at com.liferay.portlet.documentlibrary.service.impl.DLFileEntryLocalServiceImpl.getFileEntry(DLFileEntryLocalServiceImpl.java:677)
      	at sun.reflect.GeneratedMethodAccessor1057.invoke(Unknown Source)
      	at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:25)
      	at java.lang.reflect.Method.invoke(Method.java:597)
      	at com.liferay.portal.spring.aop.ServiceBeanMethodInvocation.proceed(ServiceBeanMethodInvocation.java:115)
      	at com.liferay.portal.spring.transaction.TransactionInterceptor.invoke(TransactionInterceptor.java:86)
      	at com.liferay.portal.spring.aop.ChainableMethodAdvice.invoke(ChainableMethodAdvice.java:60)
      	at com.liferay.portal.spring.aop.ChainableMethodAdvice.invoke(ChainableMethodAdvice.java:60)
      	at com.liferay.portal.spring.aop.ChainableMethodAdvice.invoke(ChainableMethodAdvice.java:60)
      	at com.liferay.portal.spring.aop.ServiceBeanAopProxy.invoke(ServiceBeanAopProxy.java:93)
      	at $Proxy184.getFileEntry(Unknown Source)
      	at com.liferay.portlet.documentlibrary.service.impl.DLFileEntryServiceImpl.getFileEntry(DLFileEntryServiceImpl.java:248)
      	at sun.reflect.GeneratedMethodAccessor1064.invoke(Unknown Source)
      	at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:25)
      	at java.lang.reflect.Method.invoke(Method.java:597)
      	at com.liferay.portal.spring.aop.ServiceBeanMethodInvocation.proceed(ServiceBeanMethodInvocation.java:115)
      	at com.liferay.portal.spring.transaction.TransactionInterceptor.invoke(TransactionInterceptor.java:86)
      	at com.liferay.portal.spring.aop.ChainableMethodAdvice.invoke(ChainableMethodAdvice.java:60)
      	at com.liferay.portal.spring.aop.ChainableMethodAdvice.invoke(ChainableMethodAdvice.java:60)
      	at com.liferay.portal.spring.aop.ChainableMethodAdvice.invoke(ChainableMethodAdvice.java:60)
      	at com.liferay.portal.spring.aop.ServiceBeanAopProxy.invoke(ServiceBeanAopProxy.java:93)
      	at $Proxy185.getFileEntry(Unknown Source)
      	at com.liferay.portal.repository.liferayrepository.LiferayRepository.getFileEntry(LiferayRepository.java:290)
      	at com.liferay.portlet.documentlibrary.service.impl.DLAppServiceImpl.getFileEntry(DLAppServiceImpl.java:914)
      	at sun.reflect.GeneratedMethodAccessor1063.invoke(Unknown Source)
      	at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:25)
      	at java.lang.reflect.Method.invoke(Method.java:597)
      	at com.liferay.portal.spring.aop.ServiceBeanMethodInvocation.proceed(ServiceBeanMethodInvocation.java:115)
      	at com.liferay.portal.spring.transaction.TransactionInterceptor.invoke(TransactionInterceptor.java:86)
      	at com.liferay.portal.spring.aop.ChainableMethodAdvice.invoke(ChainableMethodAdvice.java:60)
      	at com.liferay.portal.spring.aop.ChainableMethodAdvice.invoke(ChainableMethodAdvice.java:60)
      	at com.liferay.portal.spring.aop.ChainableMethodAdvice.invoke(ChainableMethodAdvice.java:60)
      	at com.liferay.portal.spring.aop.ServiceBeanAopProxy.invoke(ServiceBeanAopProxy.java:93)
      	at $Proxy181.getFileEntry(Unknown Source)
      	at com.liferay.portlet.documentlibrary.service.DLAppServiceUtil.getFileEntry(DLAppServiceUtil.java:811)
      	at com.liferay.portal.webserver.WebServerServlet.getFileEntry(WebServerServlet.java:294)
      	at com.liferay.portal.webserver.WebServerServlet.sendFile(WebServerServlet.java:607)
      	at com.liferay.portal.webserver.WebServerServlet.service(WebServerServlet.java:221)
      	at javax.servlet.http.HttpServlet.service(HttpServlet.java:717)
      	at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:290)
      	at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:206)
      	at com.liferay.portal.kernel.servlet.filters.invoker.InvokerFilterChain.doFilter(InvokerFilterChain.java:72)
      	at com.liferay.portal.kernel.servlet.BaseFilter.processFilter(BaseFilter.java:121)
      	at com.liferay.portal.servlet.filters.autologin.AutoLoginFilter.processFilter(AutoLoginFilter.java:240)
      	at com.liferay.portal.kernel.servlet.BaseFilter.doFilter(BaseFilter.java:48)
      	at com.liferay.portal.kernel.servlet.filters.invoker.InvokerFilterChain.processDoFilter(InvokerFilterChain.java:203)
      	at com.liferay.portal.kernel.servlet.filters.invoker.InvokerFilterChain.doFilter(InvokerFilterChain.java:105)
      	at com.liferay.portal.kernel.servlet.BaseFilter.processFilter(BaseFilter.java:121)
      	at com.liferay.portal.servlet.filters.sso.ntlm.NtlmPostFilter.processFilter(NtlmPostFilter.java:83)
      	at com.liferay.portal.kernel.servlet.BaseFilter.doFilter(BaseFilter.java:48)
      	at com.liferay.portal.kernel.servlet.filters.invoker.InvokerFilterChain.processDoFilter(InvokerFilterChain.java:203)
      	at com.liferay.portal.kernel.servlet.filters.invoker.InvokerFilterChain.doFilter(InvokerFilterChain.java:105)
      	at com.liferay.portal.kernel.servlet.BaseFilter.processFilter(BaseFilter.java:121)
      	at com.liferay.portal.sharepoint.SharepointFilter.processFilter(SharepointFilter.java:80)
      	at com.liferay.portal.kernel.servlet.BaseFilter.doFilter(BaseFilter.java:48)
      	at com.liferay.portal.kernel.servlet.filters.invoker.InvokerFilterChain.processDoFilter(InvokerFilterChain.java:203)
      	at com.liferay.portal.kernel.servlet.filters.invoker.InvokerFilterChain.doFilter(InvokerFilterChain.java:105)
      	at com.liferay.portal.kernel.servlet.BaseFilter.processFilter(BaseFilter.java:121)
      	at com.liferay.portal.servlet.filters.virtualhost.VirtualHostFilter.processFilter(VirtualHostFilter.java:214)
      	at com.liferay.portal.kernel.servlet.BaseFilter.doFilter(BaseFilter.java:48)
      	at com.liferay.portal.kernel.servlet.filters.invoker.InvokerFilterChain.processDoFilter(InvokerFilterChain.java:203)
      	at com.liferay.portal.kernel.servlet.filters.invoker.InvokerFilterChain.doFilter(InvokerFilterChain.java:105)
      	at com.liferay.portal.kernel.servlet.filters.invoker.InvokerFilterChain.processDirectCallFilter(InvokerFilterChain.java:184)
      	at com.liferay.portal.kernel.servlet.filters.invoker.InvokerFilterChain.doFilter(InvokerFilterChain.java:92)
      	at org.tuckey.web.filters.urlrewrite.UrlRewriteFilter.doFilter(UrlRewriteFilter.java:738)
      	at com.liferay.portal.kernel.servlet.filters.invoker.InvokerFilterChain.processDoFilter(InvokerFilterChain.java:203)
      	at com.liferay.portal.kernel.servlet.filters.invoker.InvokerFilterChain.doFilter(InvokerFilterChain.java:105)
      	at com.liferay.portal.kernel.servlet.filters.invoker.InvokerFilterChain.processDirectCallFilter(InvokerFilterChain.java:164)
      	at com.liferay.portal.kernel.servlet.filters.invoker.InvokerFilterChain.doFilter(InvokerFilterChain.java:92)
      	at com.liferay.portal.kernel.servlet.filters.invoker.InvokerFilterChain.processDirectCallFilter(InvokerFilterChain.java:164)
      	at com.liferay.portal.kernel.servlet.filters.invoker.InvokerFilterChain.doFilter(InvokerFilterChain.java:92)
      	at com.liferay.portal.kernel.servlet.filters.invoker.InvokerFilter.doFilter(InvokerFilter.java:75)
      	at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:235)
      	at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:206)
      	at org.apache.catalina.core.StandardWrapperValve.invoke(StandardWrapperValve.java:233)
      	at org.apache.catalina.core.StandardContextValve.invoke(StandardContextValve.java:191)
      	at org.apache.catalina.authenticator.AuthenticatorBase.invoke(AuthenticatorBase.java:470)
      	at org.apache.catalina.core.StandardHostValve.invoke(StandardHostValve.java:127)
      	at org.apache.catalina.valves.ErrorReportValve.invoke(ErrorReportValve.java:102)
      	at org.apache.catalina.core.StandardEngineValve.invoke(StandardEngineValve.java:109)
      	at org.apache.catalina.connector.CoyoteAdapter.service(CoyoteAdapter.java:298)
      	at org.apache.coyote.http11.Http11Processor.process(Http11Processor.java:857)
      	at org.apache.coyote.http11.Http11Protocol$Http11ConnectionHandler.process(Http11Protocol.java:588)
      	at org.apache.tomcat.util.net.JIoEndpoint$Worker.run(JIoEndpoint.java:489)
      	at java.lang.Thread.run(Thread.java:662)
      

        Activity

        Hide
        Juan G added a comment -

        Audio preview it's broken too. Will submit a patch soon

        Show
        Juan G added a comment - Audio preview it's broken too. Will submit a patch soon
        Hide
        Juan G added a comment -

        Patch to solve issue

        Show
        Juan G added a comment - Patch to solve issue
        Hide
        Juan G added a comment -

        See patch attached to issue. This will solve audio and video previews with non-english characters. It was caused by not escaping URL after decoding titles, because this must be done for flashvars.

        Show
        Juan G added a comment - See patch attached to issue. This will solve audio and video previews with non-english characters. It was caused by not escaping URL after decoding titles, because this must be done for flashvars.
        Hide
        Justin Choi added a comment - - edited

        FAILED Manual Testing with the following steps:

        1. Add a page
        2. Add the Doc Lib portlet
        3. Upload a video with non English characters; I used a Spanish titled video and a Chinese titled video
        4. There is a console error. (See attached file). While I did not reproduce the exact error in the description, there was still an error.

        Reproduced on:
        Tomcat 6.0.33 + MySQL 5. 6.1.x Revision 87015.

        Failed on:
        Tomcat 6.0.33 + MySQL 5. 6.1.x Revision 87720.

        Show
        Justin Choi added a comment - - edited FAILED Manual Testing with the following steps: 1. Add a page 2. Add the Doc Lib portlet 3. Upload a video with non English characters; I used a Spanish titled video and a Chinese titled video 4. There is a console error. (See attached file). While I did not reproduce the exact error in the description, there was still an error. Reproduced on: Tomcat 6.0.33 + MySQL 5. 6.1.x Revision 87015. Failed on: Tomcat 6.0.33 + MySQL 5. 6.1.x Revision 87720.
        Hide
        Juan G added a comment -

        Hi Justin,

        That error is nothing related with video preview, but for Image preview. Don't know why Image Processor executes in this case (I'll investigate and probably create new issue).

        Please check if you can preview that video. In that case, test should be successfull.

        Thanks very much!

        Show
        Juan G added a comment - Hi Justin, That error is nothing related with video preview, but for Image preview. Don't know why Image Processor executes in this case (I'll investigate and probably create new issue). Please check if you can preview that video. In that case, test should be successfull. Thanks very much!
        Hide
        Juan G added a comment -

        I've just seen in your attached log that PDFProcessor got executed.

        Please check if you were testing PDF files or video files.

        Thanks!

        Show
        Juan G added a comment - I've just seen in your attached log that PDFProcessor got executed. Please check if you were testing PDF files or video files. Thanks!
        Hide
        Justin Choi added a comment -

        Hi Juan:

        I've tested this issue several times and here are the results.
        1) I could not reproduced the above error - the NoSuchFileEntryException. The name of the file is titled "la fauna española". Alternately, I used a file in Chinese characters. Lastly as a point of comparison, I used a file with English names.
        2) The two files with the non-English names generated a java.lang.ArrayIndexOutOfBoundsException: 0 error. As you said, this is unrelated to the video preview but the image preview.
        3) The image preview of the file takes some time to load in the portlet. I had to click the file to go to the file's details screen before the system generated a black screen preview. The preview icon shown at first is the standard "Document" icon.
        4) I can still play the video without errors in the console.

        Show
        Justin Choi added a comment - Hi Juan: I've tested this issue several times and here are the results. 1) I could not reproduced the above error - the NoSuchFileEntryException. The name of the file is titled "la fauna española". Alternately, I used a file in Chinese characters. Lastly as a point of comparison, I used a file with English names. 2) The two files with the non-English names generated a java.lang.ArrayIndexOutOfBoundsException: 0 error. As you said, this is unrelated to the video preview but the image preview. 3) The image preview of the file takes some time to load in the portlet. I had to click the file to go to the file's details screen before the system generated a black screen preview. The preview icon shown at first is the standard "Document" icon. 4) I can still play the video without errors in the console.
        Hide
        Justin Choi added a comment - - edited

        I am using only video file formats: two MPEG formats and I just added a FLV format. Liferay does support all of them. But when I just loaded the FLV with Chinese characters, the same error did not occur. Rather, the image preview icon is the generic Flash format icon. So it could be just the MPEG format that is causing the PDFProcessor error

        Show
        Justin Choi added a comment - - edited I am using only video file formats: two MPEG formats and I just added a FLV format. Liferay does support all of them. But when I just loaded the FLV with Chinese characters, the same error did not occur. Rather, the image preview icon is the generic Flash format icon. So it could be just the MPEG format that is causing the PDFProcessor error
        Hide
        Juan G added a comment -

        Hi Justin,

        Ok, important thing here is you can play that video and see the image preview. In that case IMHO this issue should be solved.

        The ArrayIndexOutOfBoundsException seems to be an error from ImageProcessor. I've seen in source code that ImageProcessor has (which is totally wrong) the PDFProcessor logger, that's why I thought you uploaded PDF file instead a video file (ImageProcessor wrote in log files as it was PDFProcessor).

        I've also seen in source code that ImageProcessor processes all the files (even videos), which is totally wrong.

        I will create an issue right now to reflect this.

        Thanks!

        Show
        Juan G added a comment - Hi Justin, Ok, important thing here is you can play that video and see the image preview. In that case IMHO this issue should be solved. The ArrayIndexOutOfBoundsException seems to be an error from ImageProcessor. I've seen in source code that ImageProcessor has (which is totally wrong) the PDFProcessor logger, that's why I thought you uploaded PDF file instead a video file (ImageProcessor wrote in log files as it was PDFProcessor). I've also seen in source code that ImageProcessor processes all the files (even videos), which is totally wrong. I will create an issue right now to reflect this. Thanks!
        Hide
        Justin Choi added a comment -

        Could not reproduce on Tomcat 6.0.33 + MySQL 5. 6.1.x Revision 87015 or Tomcat 6.0.33 + MySQL 5. 6.1.x Revision 87720.

        Show
        Justin Choi added a comment - Could not reproduce on Tomcat 6.0.33 + MySQL 5. 6.1.x Revision 87015 or Tomcat 6.0.33 + MySQL 5. 6.1.x Revision 87720.
        Hide
        Juan G added a comment -

        Hi Justin,

        I've just created a new JIRA to solve the issue I mentioned before.

        It's here:

        http://issues.liferay.com/browse/LPS-20498

        Please, can you apply the patch and make the same steps as you did before, and tell me if you see any error on logs?

        Thanks very very much!

        Show
        Juan G added a comment - Hi Justin, I've just created a new JIRA to solve the issue I mentioned before. It's here: http://issues.liferay.com/browse/LPS-20498 Please, can you apply the patch and make the same steps as you did before, and tell me if you see any error on logs? Thanks very very much!
        Hide
        Juan G added a comment -

        If the issue isn't reproducible anymore, shouldn't be as "Manual testing"?

        Show
        Juan G added a comment - If the issue isn't reproducible anymore, shouldn't be as "Manual testing"?
        Hide
        Juan Fernández added a comment -

        Fixed. Tested on trunk and everything works fine for videos with non-english characters in the title of the file

        Show
        Juan Fernández added a comment - Fixed. Tested on trunk and everything works fine for videos with non-english characters in the title of the file
        Hide
        Justin Choi added a comment -

        Hello Juan and Juan:

        I retested the issue with the same steps as before. This time, it passed.

        Fixed on:
        Tomcat 7.0.21 + MySQL 5. 6.1.x Revision 88590.

        Show
        Justin Choi added a comment - Hello Juan and Juan: I retested the issue with the same steps as before. This time, it passed. Fixed on: Tomcat 7.0.21 + MySQL 5. 6.1.x Revision 88590.
        Hide
        Vicki Tsang added a comment -

        This is being bulk closed in preparation for the new workflow.

        Show
        Vicki Tsang added a comment - This is being bulk closed in preparation for the new workflow.

          People

          • Votes:
            0 Vote for this issue
            Watchers:
            0 Start watching this issue

            Dates

            • Created:
              Updated:
              Resolved:
              Days since last comment:
              3 years, 29 weeks ago

              Development

                Structure Helper Panel