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

File size related exception not handled properly for Commons File Upload

    Details

      Description

      Reproduction steps:

      1.) Install a clean bundle

      2.) Set the following property in the portal-ext.properties file:

      com.liferay.portal.upload.UploadServletRequestImpl.max.size=512000
      

      3.) Add a Blogs portlet to the default Welcome page.

      4.) Click on Add Blog Entry.

      5.) Upload an image in the CKEditor by pressing the Image icon and choosing a file that is greater than 500kb

      Result:
      In the UI: "Upload in progress, please wait..." is written but nothing happens.

      in the JVM: An exception appears:

      11:51:13,742 ERROR [http-bio-8080-exec-2][ConnectorAction:69] com.liferay.portal.editor.fckeditor.exception.FCKException: org.apache.commons.fileupload.FileUploadBase$FileSizeLimitExceededException: The field NewFile exceeds its maximum permitted  size of 512000 byte
      com.liferay.portal.editor.fckeditor.exception.FCKException: org.apache.commons.fileupload.FileUploadBase$FileSizeLimitExceededException: The field NewFile exceeds its maximum permitted  size of 512000 bytes.
              at com.liferay.portal.editor.fckeditor.receiver.impl.BaseCommandReceiver.fileUpload(BaseCommandReceiver.java:205)
              at com.liferay.portal.editor.fckeditor.command.impl.FileUploadCommand.execute(FileUploadCommand.java:39)
              at com.liferay.portal.editor.fckeditor.ConnectorAction.execute(ConnectorAction.java:66)
              at org.apache.struts.action.RequestProcessor.processActionPerform(RequestProcessor.java:431)
              at org.apache.struts.action.RequestProcessor.process(RequestProcessor.java:236)
              at com.liferay.portal.struts.PortalRequestProcessor.process(PortalRequestProcessor.java:173)
              at org.apache.struts.action.ActionServlet.process(ActionServlet.java:1196)
              at org.apache.struts.action.ActionServlet.doPost(ActionServlet.java:432)
              at javax.servlet.http.HttpServlet.service(HttpServlet.java:647)
              at com.liferay.portal.servlet.MainServlet.callParentService(MainServlet.java:546)
              at com.liferay.portal.servlet.MainServlet.service(MainServlet.java:523)
              at javax.servlet.http.HttpServlet.service(HttpServlet.java:728)
              at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:305)
              at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:210)
              at com.liferay.portal.kernel.servlet.filters.invoker.InvokerFilterChain.doFilter(InvokerFilterChain.java:116)
              at com.liferay.portal.kernel.servlet.BaseFilter.processFilter(BaseFilter.java:169)
              at com.liferay.portal.servlet.filters.strip.StripFilter.processFilter(StripFilter.java:359)
              at com.liferay.portal.kernel.servlet.BaseFilter.doFilter(BaseFilter.java:59)
              at com.liferay.portal.kernel.servlet.filters.invoker.InvokerFilterChain.processDoFilter(InvokerFilterChain.java:204)
              at com.liferay.portal.kernel.servlet.filters.invoker.InvokerFilterChain.doFilter(InvokerFilterChain.java:109)
              at com.liferay.portal.kernel.servlet.BaseFilter.processFilter(BaseFilter.java:169)
              at com.liferay.portal.servlet.filters.gzip.GZipFilter.processFilter(GZipFilter.java:123)
              at com.liferay.portal.kernel.servlet.BaseFilter.doFilter(BaseFilter.java:59)
              at com.liferay.portal.kernel.servlet.filters.invoker.InvokerFilterChain.processDoFilter(InvokerFilterChain.java:204)
              at com.liferay.portal.kernel.servlet.filters.invoker.InvokerFilterChain.doFilter(InvokerFilterChain.java:109)
              at com.liferay.portal.kernel.servlet.BaseFilter.processFilter(BaseFilter.java:169)
              at com.liferay.portal.servlet.filters.secure.SecureFilter.processFilter(SecureFilter.java:293)
              at com.liferay.portal.kernel.servlet.BaseFilter.doFilter(BaseFilter.java:59)
              at com.liferay.portal.kernel.servlet.filters.invoker.InvokerFilterChain.processDoFilter(InvokerFilterChain.java:204)
              at com.liferay.portal.kernel.servlet.filters.invoker.InvokerFilterChain.doFilter(InvokerFilterChain.java:109)
              at com.liferay.portal.kernel.servlet.BaseFilter.processFilter(BaseFilter.java:169)
              at com.liferay.portal.servlet.filters.jsoncontenttype.JSONContentTypeFilter.processFilter(JSONContentTypeFilter.java:42)
              at com.liferay.portal.kernel.servlet.BaseFilter.doFilter(BaseFilter.java:59)
              at com.liferay.portal.kernel.servlet.filters.invoker.InvokerFilterChain.processDoFilter(InvokerFilterChain.java:204)
              at com.liferay.portal.kernel.servlet.filters.invoker.InvokerFilterChain.doFilter(InvokerFilterChain.java:109)
              at com.liferay.portal.kernel.servlet.BaseFilter.processFilter(BaseFilter.java:169)
              at com.liferay.portal.servlet.filters.autologin.AutoLoginFilter.processFilter(AutoLoginFilter.java:263)
              at com.liferay.portal.kernel.servlet.BaseFilter.doFilter(BaseFilter.java:59)
              at com.liferay.portal.kernel.servlet.filters.invoker.InvokerFilterChain.processDoFilter(InvokerFilterChain.java:204)
              at com.liferay.portal.kernel.servlet.filters.invoker.InvokerFilterChain.doFilter(InvokerFilterChain.java:109)
              at com.liferay.portal.kernel.servlet.BaseFilter.processFilter(BaseFilter.java:169)
              at com.liferay.portal.servlet.filters.sso.ntlm.NtlmPostFilter.processFilter(NtlmPostFilter.java:83)
              at com.liferay.portal.kernel.servlet.BaseFilter.doFilter(BaseFilter.java:59)
              at com.liferay.portal.kernel.servlet.filters.invoker.InvokerFilterChain.processDoFilter(InvokerFilterChain.java:204)
              at com.liferay.portal.kernel.servlet.filters.invoker.InvokerFilterChain.doFilter(InvokerFilterChain.java:109)
              at com.liferay.portal.kernel.servlet.BaseFilter.processFilter(BaseFilter.java:169)
              at com.liferay.portal.sharepoint.SharepointFilter.processFilter(SharepointFilter.java:88)
              at com.liferay.portal.kernel.servlet.BaseFilter.doFilter(BaseFilter.java:59)
              at com.liferay.portal.kernel.servlet.filters.invoker.InvokerFilterChain.processDoFilter(InvokerFilterChain.java:204)
              at com.liferay.portal.kernel.servlet.filters.invoker.InvokerFilterChain.doFilter(InvokerFilterChain.java:109)
              at com.liferay.portal.kernel.servlet.BaseFilter.processFilter(BaseFilter.java:169)
              at com.liferay.portal.servlet.filters.virtualhost.VirtualHostFilter.processFilter(VirtualHostFilter.java:226)
              at com.liferay.portal.kernel.servlet.BaseFilter.doFilter(BaseFilter.java:59)
              at com.liferay.portal.kernel.servlet.filters.invoker.InvokerFilterChain.processDoFilter(InvokerFilterChain.java:204)
              at com.liferay.portal.kernel.servlet.filters.invoker.InvokerFilterChain.doFilter(InvokerFilterChain.java:109)
              at com.liferay.portal.kernel.servlet.filters.invoker.InvokerFilterChain.processDirectCallFilter(InvokerFilterChain.java:185)
              at com.liferay.portal.kernel.servlet.filters.invoker.InvokerFilterChain.doFilter(InvokerFilterChain.java:96)
              at org.tuckey.web.filters.urlrewrite.UrlRewriteFilter.doFilter(UrlRewriteFilter.java:738)
              at com.liferay.portal.kernel.servlet.filters.invoker.InvokerFilterChain.processDoFilter(InvokerFilterChain.java:204)
              at com.liferay.portal.kernel.servlet.filters.invoker.InvokerFilterChain.doFilter(InvokerFilterChain.java:109)
              at com.liferay.portal.kernel.servlet.filters.invoker.InvokerFilterChain.processDirectCallFilter(InvokerFilterChain.java:165)
              at com.liferay.portal.kernel.servlet.filters.invoker.InvokerFilterChain.doFilter(InvokerFilterChain.java:96)
              at com.liferay.portal.kernel.servlet.filters.invoker.InvokerFilterChain.processDirectCallFilter(InvokerFilterChain.java:165)
              at com.liferay.portal.kernel.servlet.filters.invoker.InvokerFilterChain.doFilter(InvokerFilterChain.java:96)
              at com.liferay.portal.kernel.servlet.filters.invoker.InvokerFilterChain.processDirectCallFilter(InvokerFilterChain.java:185)
              at com.liferay.portal.kernel.servlet.filters.invoker.InvokerFilterChain.doFilter(InvokerFilterChain.java:96)
              at com.liferay.portal.kernel.servlet.filters.invoker.InvokerFilter.doFilter(InvokerFilter.java:96)
              at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:243)
              at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:210)
              at org.apache.catalina.core.StandardWrapperValve.invoke(StandardWrapperValve.java:222)
              at org.apache.catalina.core.StandardContextValve.invoke(StandardContextValve.java:123)
              at org.apache.catalina.authenticator.AuthenticatorBase.invoke(AuthenticatorBase.java:502)
              at org.apache.catalina.core.StandardHostValve.invoke(StandardHostValve.java:171)
              at org.apache.catalina.valves.ErrorReportValve.invoke(ErrorReportValve.java:99)
              at org.apache.catalina.valves.AccessLogValve.invoke(AccessLogValve.java:953)
              at org.apache.catalina.core.StandardEngineValve.invoke(StandardEngineValve.java:118)
              at org.apache.catalina.connector.CoyoteAdapter.service(CoyoteAdapter.java:408)
              at org.apache.coyote.http11.AbstractHttp11Processor.process(AbstractHttp11Processor.java:1023)
              at org.apache.coyote.AbstractProtocol$AbstractConnectionHandler.process(AbstractProtocol.java:589)
              at org.apache.tomcat.util.net.JIoEndpoint$SocketProcessor.run(JIoEndpoint.java:312)
              at java.util.concurrent.ThreadPoolExecutor$Worker.runTask(ThreadPoolExecutor.java:886)
              at java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:908)
              at java.lang.Thread.run(Thread.java:662)
      Caused by: org.apache.commons.fileupload.FileUploadBase$FileSizeLimitExceededException: The field NewFile exceeds its maximum permitted  size of 512000 bytes.
              at org.apache.commons.fileupload.FileUploadBase$FileItemIteratorImpl$FileItemStreamImpl$1.raiseError(FileUploadBase.java:763)
              at org.apache.commons.fileupload.util.LimitedInputStream.checkLimit(LimitedInputStream.java:71)
              at org.apache.commons.fileupload.util.LimitedInputStream.read(LimitedInputStream.java:128)
              at java.io.FilterInputStream.read(FilterInputStream.java:90)
              at org.apache.commons.fileupload.util.Streams.copy(Streams.java:96)
              at org.apache.commons.fileupload.util.Streams.copy(Streams.java:66)
              at org.apache.commons.fileupload.FileUploadBase.parseRequest(FileUploadBase.java:366)
              at org.apache.commons.fileupload.servlet.ServletFileUpload.parseRequest(ServletFileUpload.java:126)
              at com.liferay.portal.upload.LiferayFileUpload.parseRequest(LiferayFileUpload.java:57)
              at com.liferay.portal.editor.fckeditor.receiver.impl.BaseCommandReceiver.fileUpload(BaseCommandReceiver.java:154)
              ... 82 more
      

        Attachments

          Issue Links

            Activity

              People

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

                Dates

                • Created:
                  Updated:
                  Resolved:
                  Days since last comment:
                  5 years, 38 weeks, 5 days ago

                  Packages

                  Version Package
                  6.1.X EE
                  6.2.2 CE GA3
                  6.2.X EE
                  7.0.0 M1