Here's another odd exception we are receiving on Tomcat 7.0.26 when
doing load testing.
When this exception occurs, our code is basically calling:
response.encodeURL(url);
It's in a FORM tag we created that is defined on a JSP page that should
already have a session object created by:
<%@page contentType="text/html; charset=ISO-8859-1"
import="org.example.PlayerRegistration2Page"%>
or more likely by our Launch servlet that is called before forwarding to
the JSP with code like:
HttpSession session = request.getSession();
if ( session == null )
return;
So we should already have a session created, and our FORM tag is in the
middle of the JSP page where there is no code to invalidate the
session. It really seems like Tomcat is confusing sessions or the like
when the load gets high, but not sure how to show/prove that.
May 2, 2012 1:55:48 AM org.apache.catalina.core.ApplicationDispatcher invoke
SEVERE: Servlet.service() for servlet jsp threw exception
java.lang.IllegalStateException: Cannot create a session after the
response has been committed
at
org.apache.catalina.connector.Request.doGetSession(Request.java:2855)
at
org.apache.catalina.connector.Request.getSessionInternal(Request.java:2465)
at
org.apache.catalina.connector.Response.encodeURL(Response.java:1236)
at
org.apache.catalina.connector.ResponseFacade.encodeURL(ResponseFacade.java:406)
at com.esignforms.jsp.PageBean.encodeSession(PageBean.java:3321)
at com.esignforms.jsp.PageBean.getMySessionUrl(PageBean.java:3276)
at com.esignforms.html.taglibs2.Form.doStartTag(Form.java:95)
at
org.apache.jsp.playerRegistration2_jsp._jspService(playerRegistration2_jsp.java:230)
at
org.apache.jasper.runtime.HttpJspBase.service(HttpJspBase.java:70)
at javax.servlet.http.HttpServlet.service(HttpServlet.java:722)
at
org.apache.jasper.servlet.JspServletWrapper.service(JspServletWrapper.java:432)
at
org.apache.jasper.servlet.JspServlet.serviceJspFile(JspServlet.java:390)
at
org.apache.jasper.servlet.JspServlet.service(JspServlet.java:334)
at javax.servlet.http.HttpServlet.service(HttpServlet.java:722)
at
org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:305)
at
org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:210)
at
org.apache.catalina.core.ApplicationDispatcher.invoke(ApplicationDispatcher.java:684)
at
org.apache.catalina.core.ApplicationDispatcher.processRequest(ApplicationDispatcher.java:471)
at
org.apache.catalina.core.ApplicationDispatcher.doForward(ApplicationDispatcher.java:402)
at
org.apache.catalina.core.ApplicationDispatcher.forward(ApplicationDispatcher.java:329)
at com.esignforms.servlet.Launch.doGet(Launch.java:100)
at com.esignforms.servlet.Launch.doPost(Launch.java:116)
at javax.servlet.http.HttpServlet.service(HttpServlet.java:641)
at javax.servlet.http.HttpServlet.service(HttpServlet.java:722)
at
org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:305)
at
org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:210)
at
org.apache.catalina.core.StandardWrapperValve.invoke(StandardWrapperValve.java:224)
at
org.apache.catalina.core.StandardContextValve.invoke(StandardContextValve.java:169)
at
org.apache.catalina.authenticator.AuthenticatorBase.invoke(AuthenticatorBase.java:581)
at
org.apache.catalina.core.StandardHostValve.invoke(StandardHostValve.java:168)
at
org.apache.catalina.valves.ErrorReportValve.invoke(ErrorReportValve.java:98)
at
org.apache.catalina.valves.AccessLogValve.invoke(AccessLogValve.java:927)
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:987)
at
org.apache.coyote.AbstractProtocol$AbstractConnectionHandler.process(AbstractProtocol.java:579)
at
org.apache.tomcat.util.net.NioEndpoint$SocketProcessor.run(NioEndpoint.java:1600)
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)
Has anybody seen this? We never saw it under Tomcat 5.5, but then we're
not sure it was ever under the same load we are now throwing at Tomcat 7.
Thanks,
David
---------------------------------------------------------------------
To unsubscribe, e-mail: users-unsubscr...@tomcat.apache.org
For additional commands, e-mail: users-h...@tomcat.apache.org