Details
-
Type: Bug
-
Status: Closed
-
Priority: Major
-
Resolution: Cannot Reproduce
-
Affects Version/s: EE-3.3.0.GA_P02
-
Fix Version/s: EE-3.3.0.GA_P03, 4.1
-
Component/s: ACE-Components
-
Labels:None
-
Environment:Tomcat 7, WebSphere 8.5.5.1
-
Support Case References:Support Case #12939 - https://icesoft.my.salesforce.com/5007000000ebBLU
-
Workaround Exists:Yes
-
Workaround Description:
Description
When using the file size parameters for the <multipart-config> settings, if the file size is larger than what is set, an error is thrown and the messages are not sent to the server.
<multipart-config>
<max-file-size>1048576</max-file-size>
<max-request-size>1048576</max-request-size>
<file-size-threshold>1</file-size-threshold>
</multipart-config>
Error stack trace:
Jul 16, 2014 1:28:31 PM org.icefaces.ace.component.fileentry.FileEntryResourceHandler isResourceRequest
WARNING: Problem reading multi-part form upload, likely due to a file upload being cut off from the client losing their network connection or closing their browser tab or window.
java.lang.IllegalStateException: org.apache.tomcat.util.http.fileupload.FileUploadBase$SizeLimitExceededException: the request was rejected because its size (55392185) exceeds the configured maximum (1048576)
at org.apache.catalina.connector.Request.parseParts(Request.java:2784)
at org.apache.catalina.connector.Request.parseParameters(Request.java:3043)
at org.apache.catalina.connector.Request.getParameter(Request.java:1148)
at org.apache.catalina.connector.RequestFacade.getParameter(RequestFacade.java:383)
at org.netbeans.modules.web.monitor.server.MonitorRequestWrapper.getParameter(MonitorRequestWrapper.java:199)
at javax.servlet.ServletRequestWrapper.getParameter(ServletRequestWrapper.java:140)
at com.sun.faces.context.RequestParameterMap.get(RequestParameterMap.java:91)
at com.sun.faces.context.RequestParameterMap.get(RequestParameterMap.java:62)
at java.util.Collections$UnmodifiableMap.get(Collections.java:1339)
at org.icefaces.impl.application.WindowScopeManager.isDisposeWindowRequest(WindowScopeManager.java:192)
at org.icefaces.impl.application.WindowScopeManager.isSessionAwareResourceRequest(WindowScopeManager.java:74)
at org.icefaces.impl.application.SessionAwareResourceHandlerWrapper.isResourceRequest(SessionAwareResourceHandlerWrapper.java:32)
at javax.faces.application.ResourceHandlerWrapper.isResourceRequest(ResourceHandlerWrapper.java:137)
at org.icefaces.impl.application.SessionTimeoutMonitor.isSessionAwareResourceRequest(SessionTimeoutMonitor.java:41)
at org.icefaces.impl.application.SessionAwareResourceHandlerWrapper.isResourceRequest(SessionAwareResourceHandlerWrapper.java:32)
at org.icefaces.impl.util.CharacterEncodingHandler.isResourceRequest(CharacterEncodingHandler.java:73)
at javax.faces.application.ResourceHandlerWrapper.isResourceRequest(ResourceHandlerWrapper.java:137)
at javax.faces.webapp.FacesServlet.service(FacesServlet.java:590)
at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:305)
at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:210)
at org.netbeans.modules.web.monitor.server.MonitorFilter.doFilter(MonitorFilter.java:393)
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:472)
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:936)
at org.apache.catalina.core.StandardEngineValve.invoke(StandardEngineValve.java:118)
at org.apache.catalina.connector.CoyoteAdapter.service(CoyoteAdapter.java:407)
at org.apache.coyote.http11.AbstractHttp11Processor.process(AbstractHttp11Processor.java:1004)
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.runWorker(ThreadPoolExecutor.java:1145)
at java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:615)
at java.lang.Thread.run(Thread.java:744)
Caused by: org.apache.tomcat.util.http.fileupload.FileUploadBase$SizeLimitExceededException: the request was rejected because its size (55392185) exceeds the configured maximum (1048576)
at org.apache.tomcat.util.http.fileupload.FileUploadBase$FileItemIteratorImpl.<init>(FileUploadBase.java:804)
at org.apache.tomcat.util.http.fileupload.FileUploadBase.getItemIterator(FileUploadBase.java:284)
at org.apache.tomcat.util.http.fileupload.FileUploadBase.parseRequest(FileUploadBase.java:304)
at org.apache.tomcat.util.http.fileupload.servlet.ServletFileUpload.parseRequest(ServletFileUpload.java:129)
at org.apache.catalina.connector.Request.parseParts(Request.java:2722)
... 36 more
Jul 16, 2014 1:28:31 PM org.icefaces.impl.context.DOMResponseWriter logUnclosedNode
WARNING: Missing end-element for: #document (path: #document)
<multipart-config>
<max-file-size>1048576</max-file-size>
<max-request-size>1048576</max-request-size>
<file-size-threshold>1</file-size-threshold>
</multipart-config>
Error stack trace:
Jul 16, 2014 1:28:31 PM org.icefaces.ace.component.fileentry.FileEntryResourceHandler isResourceRequest
WARNING: Problem reading multi-part form upload, likely due to a file upload being cut off from the client losing their network connection or closing their browser tab or window.
java.lang.IllegalStateException: org.apache.tomcat.util.http.fileupload.FileUploadBase$SizeLimitExceededException: the request was rejected because its size (55392185) exceeds the configured maximum (1048576)
at org.apache.catalina.connector.Request.parseParts(Request.java:2784)
at org.apache.catalina.connector.Request.parseParameters(Request.java:3043)
at org.apache.catalina.connector.Request.getParameter(Request.java:1148)
at org.apache.catalina.connector.RequestFacade.getParameter(RequestFacade.java:383)
at org.netbeans.modules.web.monitor.server.MonitorRequestWrapper.getParameter(MonitorRequestWrapper.java:199)
at javax.servlet.ServletRequestWrapper.getParameter(ServletRequestWrapper.java:140)
at com.sun.faces.context.RequestParameterMap.get(RequestParameterMap.java:91)
at com.sun.faces.context.RequestParameterMap.get(RequestParameterMap.java:62)
at java.util.Collections$UnmodifiableMap.get(Collections.java:1339)
at org.icefaces.impl.application.WindowScopeManager.isDisposeWindowRequest(WindowScopeManager.java:192)
at org.icefaces.impl.application.WindowScopeManager.isSessionAwareResourceRequest(WindowScopeManager.java:74)
at org.icefaces.impl.application.SessionAwareResourceHandlerWrapper.isResourceRequest(SessionAwareResourceHandlerWrapper.java:32)
at javax.faces.application.ResourceHandlerWrapper.isResourceRequest(ResourceHandlerWrapper.java:137)
at org.icefaces.impl.application.SessionTimeoutMonitor.isSessionAwareResourceRequest(SessionTimeoutMonitor.java:41)
at org.icefaces.impl.application.SessionAwareResourceHandlerWrapper.isResourceRequest(SessionAwareResourceHandlerWrapper.java:32)
at org.icefaces.impl.util.CharacterEncodingHandler.isResourceRequest(CharacterEncodingHandler.java:73)
at javax.faces.application.ResourceHandlerWrapper.isResourceRequest(ResourceHandlerWrapper.java:137)
at javax.faces.webapp.FacesServlet.service(FacesServlet.java:590)
at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:305)
at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:210)
at org.netbeans.modules.web.monitor.server.MonitorFilter.doFilter(MonitorFilter.java:393)
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:472)
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:936)
at org.apache.catalina.core.StandardEngineValve.invoke(StandardEngineValve.java:118)
at org.apache.catalina.connector.CoyoteAdapter.service(CoyoteAdapter.java:407)
at org.apache.coyote.http11.AbstractHttp11Processor.process(AbstractHttp11Processor.java:1004)
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.runWorker(ThreadPoolExecutor.java:1145)
at java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:615)
at java.lang.Thread.run(Thread.java:744)
Caused by: org.apache.tomcat.util.http.fileupload.FileUploadBase$SizeLimitExceededException: the request was rejected because its size (55392185) exceeds the configured maximum (1048576)
at org.apache.tomcat.util.http.fileupload.FileUploadBase$FileItemIteratorImpl.<init>(FileUploadBase.java:804)
at org.apache.tomcat.util.http.fileupload.FileUploadBase.getItemIterator(FileUploadBase.java:284)
at org.apache.tomcat.util.http.fileupload.FileUploadBase.parseRequest(FileUploadBase.java:304)
at org.apache.tomcat.util.http.fileupload.servlet.ServletFileUpload.parseRequest(ServletFileUpload.java:129)
at org.apache.catalina.connector.Request.parseParts(Request.java:2722)
... 36 more
Jul 16, 2014 1:28:31 PM org.icefaces.impl.context.DOMResponseWriter logUnclosedNode
WARNING: Missing end-element for: #document (path: #document)
This server error can no longer be reproduced with ICEfaces EE-3.3.0-maintenance branch r. 43351 / ICEfaces 4.0 trunk r. 43353 on Tomcat 7.0.42.
This was tested on showcase > ace:file > Overview demo. The larger files are not uploaded if the file size is larger than the set value in the multipart-config tag.
On ICEfaces EE-3.3.0-maintenance branch r. 43351, another error was noticed when uploading files of a large size, however not larger than the set value (as example, set value in multipart-config was 10048576, and the uploaded file size 5,860KB):
Nov 10, 2014 12:47:50 PM org.icefaces.impl.util.DOMUtils nodeDiff
SEVERE: Diff propagated to root but no ID set [html: null]