Some Eclipse Foundation services are deprecated, or will be soon. Please ensure you've read this important communication.
Bug 357077 - HTTP 500 "Form too large" when submitting large amounts of text from client
Summary: HTTP 500 "Form too large" when submitting large amounts of text from client
Status: RESOLVED NOT_ECLIPSE
Alias: None
Product: RAP
Classification: RT
Component: RWT (show other bugs)
Version: unspecified   Edit
Hardware: All All
: P3 normal (vote)
Target Milestone: ---   Edit
Assignee: Project Inbox CLA
QA Contact:
URL:
Whiteboard:
Keywords:
Depends on:
Blocks:
 
Reported: 2011-09-08 08:59 EDT by Patrick Haun CLA
Modified: 2011-09-09 04:46 EDT (History)
1 user (show)

See Also:
ivan: documentation-


Attachments

Note You need to log in before you can comment on or make changes to this bug.
Description Patrick Haun CLA 2011-09-08 08:59:54 EDT
Build Identifier: RAP 1.3

If a text in any text field is to large the application displays a http 500 error.


HTTP ERROR 500

Problem accessing /rap. Reason:

    Form too large200494>200000
Caused by:

java.lang.IllegalStateException: Form too large200494>200000
	at org.mortbay.jetty.Request.extractParameters(Request.java:1561)
	at org.mortbay.jetty.Request.getParameter(Request.java:859)
	at javax.servlet.ServletRequestWrapper.getParameter(ServletRequestWrapper.java:169)
	at org.eclipse.rwt.internal.service.ServiceManager.getCustomHandlerId(ServiceManager.java:130)
	at org.eclipse.rwt.internal.service.ServiceManager.isCustomHandler(ServiceManager.java:114)
	at org.eclipse.rwt.internal.service.ServiceManager$HandlerDispatcher.service(ServiceManager.java:94)
	at org.eclipse.rwt.internal.engine.RWTDelegate.doPost(RWTDelegate.java:60)
	at org.eclipse.rap.ui.internal.servlet.RequestHandler.service(RequestHandler.java:51)
	at javax.servlet.http.HttpServlet.service(HttpServlet.java:820)
	at org.eclipse.equinox.http.servlet.internal.ServletRegistration.service(ServletRegistration.java:61)
	at org.eclipse.equinox.http.servlet.internal.FilterChainImpl.doFilter(FilterChainImpl.java:28)
	at de.cenit.eb.sm.finca.gui.application.ApplicationNotReadyFilter.doFilter(ApplicationNotReadyFilter.java:56)
	at org.eclipse.equinox.http.registry.internal.FilterManager$FilterWrapper.doFilter(FilterManager.java:173)
	at org.eclipse.equinox.http.servlet.internal.FilterRegistration.doFilter(FilterRegistration.java:71)
	at org.eclipse.equinox.http.servlet.internal.FilterChainImpl.doFilter(FilterChainImpl.java:25)
	at de.cenit.eb.sm.finca.gui.application.RedirectServletFilter.doFilter(RedirectServletFilter.java:53)
	at org.eclipse.equinox.http.registry.internal.FilterManager$FilterWrapper.doFilter(FilterManager.java:173)
	at org.eclipse.equinox.http.servlet.internal.FilterRegistration.doFilter(FilterRegistration.java:71)
	at org.eclipse.equinox.http.servlet.internal.FilterChainImpl.doFilter(FilterChainImpl.java:25)
	at org.eclipse.equinox.http.servlet.internal.ProxyServlet.processAlias(ProxyServlet.java:130)
	at org.eclipse.equinox.http.servlet.internal.ProxyServlet.service(ProxyServlet.java:60)
	at javax.servlet.http.HttpServlet.service(HttpServlet.java:820)
	at org.eclipse.equinox.http.jetty.internal.HttpServerManager$InternalHttpServiceServlet.service(HttpServerManager.java:318)
	at org.mortbay.jetty.servlet.ServletHolder.handle(ServletHolder.java:511)
	at org.mortbay.jetty.servlet.ServletHandler.handle(ServletHandler.java:390)
	at org.mortbay.jetty.servlet.SessionHandler.handle(SessionHandler.java:182)
	at org.mortbay.jetty.handler.ContextHandler.handle(ContextHandler.java:765)
	at org.mortbay.jetty.handler.HandlerWrapper.handle(HandlerWrapper.java:152)
	at org.mortbay.jetty.Server.handle(Server.java:326)
	at org.mortbay.jetty.HttpConnection.handleRequest(HttpConnection.java:542)
	at org.mortbay.jetty.HttpConnection$RequestHandler.content(HttpConnection.java:939)
	at org.mortbay.jetty.HttpParser.parseNext(HttpParser.java:756)
	at org.mortbay.jetty.HttpParser.parseAvailable(HttpParser.java:218)
	at org.mortbay.jetty.HttpConnection.handle(HttpConnection.java:404)
	at org.mortbay.io.nio.SelectChannelEndPoint.run(SelectChannelEndPoint.java:409)
	at org.mortbay.thread.QueuedThreadPool$PoolThread.run(QueuedThreadPool.java:582)


Reproducible: Always

Steps to Reproduce:
1. Enter a really large text in a multiline text field.
Comment 1 Ivan Furnadjiev CLA 2011-09-08 09:24:56 EDT
We can't do much about this. If you want to accept such a big requests increase the Jetty default maxFormContentSize from 200000 to something bigger by specifing a VM property: -Dorg.mortbay.jetty.Request.maxFormContentSize=12345.
Comment 2 Ivan Furnadjiev CLA 2011-09-08 09:29:00 EDT
...or use jetty.xml configuration file to set this system property. I will close this bug as NOT_ECLIPSE. Please reopen if you disagree.
Comment 3 Ivan Furnadjiev CLA 2011-09-08 09:34:14 EDT
... or limit your Text widgets by setting the textLimit property.
Comment 4 Patrick Haun CLA 2011-09-08 09:35:13 EDT
That will work for me. Nevertheless, is it not possible to split the request?

(In reply to comment #1)
> We can't do much about this. If you want to accept such a big requests increase
> the Jetty default maxFormContentSize from 200000 to something bigger by
> specifing a VM property: -Dorg.mortbay.jetty.Request.maxFormContentSize=12345.
Comment 5 Ivan Furnadjiev CLA 2011-09-08 09:45:36 EDT
This is not possible as we have to transmit the complete text. Otherwize we will break the Text widget functionality.