Java Mailing List Archive

http://www.junlu.com/

Home » Home (12/2007) » Struts 2 »

Re: [s2] Cannot create a session after the response has been committed: struts or tomcat ?

Tom Schneider

2007-01-29

Replies:

Does this http://jira.opensymphony.com/browse/WW-291 have anything to do
with this? It seems like if Struts 2 is doing a sendError when it should be
throwing a ServletException like WW currently is, you would get results like
this. It still means that there is another error that is the root cause of
this--it's just being masked currently.
Tom

On 1/29/07, bob <tomfrost@(protected):
>
>
> Dariusz,
>
> Thanks for the response. I'm pretty sure that hibernate is not the
> culprit. In fact, I've done a quick test to verify that I get the same
> error when I take hibernate out of the picture.
>
> Stack trace:
>
> 05:00:52,946 ERROR Dispatcher:341 - Could not execute action
> java.lang.IllegalStateException: Cannot create a session after the
> response has been committed
>      at org.apache.catalina.connector.Request.doGetSession(Request.java
> :2214)
>      at org.apache.catalina.connector.Request.getSession(Request.java
> :2024)
>      at org.apache.catalina.connector.RequestFacade.getSession(
> RequestFacade.java:831)
>      at javax.servlet.http.HttpServletRequestWrapper.getSession(
> HttpServletRequestWrapper.java:215)
>      at org.apache.struts2.dispatcher.SessionMap.put(SessionMap.java
> :172)
>      at
> org.apache.struts2.interceptor.debugging.DebuggingInterceptor.intercept(
> DebuggingInterceptor.java:178)
>      at com.opensymphony.xwork2.DefaultActionInvocation.invoke(
> DefaultActionInvocation.java:200)
>      at
> com.opensymphony.xwork2.interceptor.ChainingInterceptor.intercept(
> ChainingInterceptor.java:115)
>      at com.opensymphony.xwork2.DefaultActionInvocation.invoke(
> DefaultActionInvocation.java:200)
>      at com.opensymphony.xwork2.interceptor.I18nInterceptor.intercept(
> I18nInterceptor.java:143)
>      at com.opensymphony.xwork2.DefaultActionInvocation.invoke(
> DefaultActionInvocation.java:200)
>      at
> com.opensymphony.xwork2.interceptor.PrepareInterceptor.intercept(
> PrepareInterceptor.java:115)
>      at com.opensymphony.xwork2.DefaultActionInvocation.invoke(
> DefaultActionInvocation.java:200)
>      at
> org.apache.struts2.interceptor.ServletConfigInterceptor.intercept(
> ServletConfigInterceptor.java:156)
>      at com.opensymphony.xwork2.DefaultActionInvocation.invoke(
> DefaultActionInvocation.java:200)
>      at com.opensymphony.xwork2.interceptor.AliasInterceptor.intercept(
> AliasInterceptor.java:124)
>      at com.opensymphony.xwork2.DefaultActionInvocation.invoke(
> DefaultActionInvocation.java:200)
>      at
> com.opensymphony.xwork2.interceptor.ExceptionMappingInterceptor.intercept(
> ExceptionMappingInterceptor.java:180)
>      at com.opensymphony.xwork2.DefaultActionInvocation.invoke(
> DefaultActionInvocation.java:200)
>      at org.apache.struts2.impl.StrutsActionProxy$1.call(
> StrutsActionProxy.java:27)
>      at org.apache.struts2.impl.StrutsActionProxy$1.call(
> StrutsActionProxy.java:26)
>      at org.apache.struts2.impl.RequestContextImpl.callInContext(
> RequestContextImpl.java:152)
>      at org.apache.struts2.impl.StrutsActionProxy.execute(
> StrutsActionProxy.java:25)
>      at org.apache.struts2.dispatcher.Dispatcher.serviceAction(
> Dispatcher.java:330)
>      at org.apache.struts2.dispatcher.FilterDispatcher.doFilter(
> FilterDispatcher.java:256)
>      at
> org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(
> ApplicationFilterChain.java:202)
>      at org.apache.catalina.core.ApplicationFilterChain.doFilter(
> ApplicationFilterChain.java:173)
>      at org.apache.catalina.core.StandardWrapperValve.invoke(
> StandardWrapperValve.java:213)
>      at org.apache.catalina.core.StandardContextValve.invoke(
> StandardContextValve.java:178)
>      at org.apache.catalina.core.StandardHostValve.invoke(
> StandardHostValve.java:126)
>      at org.apache.catalina.valves.ErrorReportValve.invoke(
> ErrorReportValve.java:105)
>      at org.apache.catalina.core.StandardEngineValve.invoke(
> StandardEngineValve.java:107)
>      at org.apache.catalina.connector.CoyoteAdapter.service(
> CoyoteAdapter.java:148)
>      at org.apache.coyote.http11.Http11Processor.process(
> Http11Processor.java:869)
>      at
> org.apache.coyote.http11.Http11BaseProtocol$Http11ConnectionHandler.processConnection
> (Http11BaseProtocol.java:664)
>      at org.apache.tomcat.util.net.PoolTcpEndpoint.processSocket(
> PoolTcpEndpoint.java:527)
>      at org.apache.tomcat.util.net.LeaderFollowerWorkerThread.runIt(
> LeaderFollowerWorkerThread.java:80)
>      at org.apache.tomcat.util.threads.ThreadPool$ControlRunnable.run(
> ThreadPool.java:684)
>      at java.lang.Thread.run (Thread.java:595)
> 05:00:53,554 ERROR [default]:260 - Servlet.service() for servlet default
> threw exception
> java.lang.IllegalStateException
>      at org.apache.catalina.connector.ResponseFacade.sendError(
> ResponseFacade.java:404)
>      at org.apache.struts2.dispatcher.Dispatcher.sendError(
> Dispatcher.java:588)
>      at org.apache.struts2.dispatcher.Dispatcher.serviceAction(
> Dispatcher.java:342)
>      at org.apache.struts2.dispatcher.FilterDispatcher.doFilter(
> FilterDispatcher.java:256)
>      at
> org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(
> ApplicationFilterChain.java:202)
>      at org.apache.catalina.core.ApplicationFilterChain.doFilter(
> ApplicationFilterChain.java:173)
>      at org.apache.catalina.core.StandardWrapperValve.invoke(
> StandardWrapperValve.java:213)
>      at org.apache.catalina.core.StandardContextValve.invoke(
> StandardContextValve.java:178)
>      at org.apache.catalina.core.StandardHostValve.invoke(
> StandardHostValve.java:126)
>      at org.apache.catalina.valves.ErrorReportValve.invoke(
> ErrorReportValve.java:105)
>      at org.apache.catalina.core.StandardEngineValve.invoke(
> StandardEngineValve.java:107)
>      at org.apache.catalina.connector.CoyoteAdapter.service(
> CoyoteAdapter.java:148)
>      at org.apache.coyote.http11.Http11Processor.process(
> Http11Processor.java:869)
>      at
> org.apache.coyote.http11.Http11BaseProtocol$Http11ConnectionHandler.processConnection
> (Http11BaseProtocol.java:664)
>      at org.apache.tomcat.util.net.PoolTcpEndpoint.processSocket(
> PoolTcpEndpoint.java:527)
>      at org.apache.tomcat.util.net.LeaderFollowerWorkerThread.runIt(
> LeaderFollowerWorkerThread.java:80)
>      at org.apache.tomcat.util.threads.ThreadPool$ControlRunnable.run(
> ThreadPool.java:684)
>      at java.lang.Thread.run (Thread.java:595)
>
>
>
>
> --- On Mon 01/29, Dariusz Wojtas < dwojtas@(protected):
> From: Dariusz Wojtas [mailto: dwojtas@(protected)]
> To: user@(protected)
> Date: Mon, 29 Jan 2007 19:36:30 +0100
> Subject: Re: [s2] Cannot create a session after the response has been
> committed: struts or tomcat ?
>
> I usually get IllegalStateException exceptions with Struts2if there was an
> unexpected exception in my code, ie. from Hibernate.I can see Hibernate in
> your stack, are you sure this is not the reasonof your problems?Is this the
> full stacktrace?Dariusz WojtasOn 1/29/07, bob <tomfrost@(protected)>
> wrote:>>> I'm getting the following error with every request. I can't
> figure out what it means. I've looked around and tried to read the request
> myself, but I'm just starting to learn Struts2 so its not the meaningful to
> me yet. I don't even know whether this is a tomcat problem or a struts2
> problem.>> Note:  Even though the first line says could not execute action,
> the actions do usually execute . . . where's this error message coming
> from?>> It anyone can give me some insight, I'd certainly appreciate it.>>
> Thanks,> Bob>> 04:17:13,333 ERROR Dispatcher:341 - Could not execute action>
> java.lang.IllegalStateException: Cannot create a session after the
> response has been committed>
>
>  at org.apache.catalina.connector.Request.doGetSession (Request.java:2214)>
> at org.apache.catalina.connector.Request.getSession (Request.java:2024)>
> at org.apache.catalina.connector.RequestFacade.getSession(
> RequestFacade.java:831)>      at
> org.apache.struts2.dispatcher.SessionMap.put (SessionMap.java:172)>
> at org.apache.struts2.interceptor.debugging.DebuggingInterceptor.intercept
> (DebuggingInterceptor.java:178)>      at
> com.opensymphony.xwork2.DefaultActionInvocation.invoke(
> DefaultActionInvocation.java:200)>      at
> com.opensymphony.xwork2.interceptor.ChainingInterceptor.intercept(
> ChainingInterceptor.java:115)>      at
> com.opensymphony.xwork2.DefaultActionInvocation.invoke(
> DefaultActionInvocation.java:200)>      at
> com.opensymphony.xwork2.interceptor.I18nInterceptor.intercept(
> I18nInterceptor.java:143)>      at
> com.opensymphony.xwork2.DefaultActionInvocation.invoke(
> DefaultActionInvocation.java:200)>      at
> com.opensymphony.xwork2.interceptor.PrepareInterceptor.intercept(
> PrepareInterceptor.java:115)>      at
> com.opensymphony.xwork2.DefaultActionInvocation.invoke(
> DefaultActionInvocation.java:200)>      at
> org.apache.struts2.interceptor.ServletConfigInterceptor.intercept(
> ServletConfigInterceptor.java:156)>      at
> com.opensymphony.xwork2.DefaultActionInvocation.invoke(
> DefaultActionInvocation.java:200)>      at
> com.opensymphony.xwork2.interceptor.AliasInterceptor.intercept(
> AliasInterceptor.java:124)>      at
> com.opensymphony.xwork2.DefaultActionInvocation.invoke(
> DefaultActionInvocation.java:200)>      at
> com.opensymphony.xwork2.interceptor.ExceptionMappingInterceptor.intercept(
> ExceptionMappingInterceptor.java:180)>      at
> com.opensymphony.xwork2.DefaultActionInvocation.invoke(
> DefaultActionInvocation.java:200)>      at
> org.apache.struts2.impl.StrutsActionProxy$1.call(StrutsActionProxy.java:27)>
> at
> org.apache.struts2.impl.StrutsActionProxy$1.call(StrutsActionProxy.java:26)>
> at org.apache.struts2.impl.RequestContextImpl.callInContext(
> RequestContextImpl.java:152)>      at
> org.apache.struts2.impl.StrutsActionProxy.execute (StrutsActionProxy.java:25)>
> at org.apache.struts2.dispatcher.Dispatcher.serviceAction (Dispatcher.java:330)>
> at org.apache.struts2.dispatcher.FilterDispatcher.doFilter(
> FilterDispatcher.java:256)>      at
> org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(
> ApplicationFilterChain.java:202)>      at
> org.apache.catalina.core.ApplicationFilterChain.doFilter(
> ApplicationFilterChain.java:173)>      at
> com.blackdog.struts.filter.HibernateSessionRequestFilter.doFilter(
> HibernateSessionRequestFilter.java:31)>      at
> org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(
> ApplicationFilterChain.java:202)>      at
> org.apache.catalina.core.ApplicationFilterChain.doFilter(
> ApplicationFilterChain.java:173)>
>
>    at org.apache.catalina.core.StandardWrapperValve.invoke(
> StandardWrapperValve.java:213)>      at
> org.apache.catalina.core.StandardContextValve.invoke(
> StandardContextValve.java:178)>      at
> org.apache.catalina.core.StandardHostValve.invoke (StandardHostValve.java:126)>
> at org.apache.catalina.valves.ErrorReportValve.invoke(
> ErrorReportValve.java:105)>      at
> org.apache.catalina.core.StandardEngineValve.invoke(
> StandardEngineValve.java:107)>      at
> org.apache.catalina.connector.CoyoteAdapter.service (CoyoteAdapter.java:148)>
> at org.apache.coyote.http11.Http11Processor.process (Http11Processor.java:869)>
> at
> org.apache.coyote.http11.Http11BaseProtocol$Http11ConnectionHandler.processConnection
> (Http11BaseProtocol.java:664)>      at
> org.apache.tomcat.util.net.PoolTcpEndpoint.processSocket(
> PoolTcpEndpoint.java:527)>      at
> org.apache.tomcat.util.net.LeaderFollowerWorkerThread.runIt(
> LeaderFollowerWorkerThread.java:80)>      at
> org.apache.tomcat.util.threads.ThreadPool$ControlRunnable.run(
> ThreadPool.java:684)>      at java.lang.Thread.run (Thread.java:595)>
> 04:17:13,338 ERROR [default]:253 - Servlet.service() for servlet default
> threw exception> java.lang.IllegalStateException>      at
> org.apache.catalina.connector.ResponseFacade.sendError (ResponseFacade.java:404)>
> at org.apache.struts2.dispatcher.Dispatcher.sendError (Dispatcher.java:588)>
> at org.apache.struts2.dispatcher.Dispatcher.serviceAction (Dispatcher.java:342)>
> at org.apache.struts2.dispatcher.FilterDispatcher.doFilter(
> FilterDispatcher.java:256)>      at
> org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(
> ApplicationFilterChain.java:202)>      at
> org.apache.catalina.core.ApplicationFilterChain.doFilter(
> ApplicationFilterChain.java:173)>      at
> com.blackdog.struts.filter.HibernateSessionRequestFilter.doFilter(
> HibernateSessionRequestFilter.java:31)>      at
> org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(
> ApplicationFilterChain.java:202)>      at
> org.apache.catalina.core.ApplicationFilterChain.doFilter(
> ApplicationFilterChain.java:173)>      at
> org.apache.catalina.core.StandardWrapperValve.invoke(
> StandardWrapperValve.java:213)>      at
> org.apache.catalina.core.StandardContextValve.invoke(
> StandardContextValve.java:178)>      at
> org.apache.catalina.core.StandardHostValve.invoke (StandardHostValve.java:126)>
> at org.apache.catalina.valves.ErrorReportValve.invoke(
> ErrorReportValve.java:105)>      at
> org.apache.catalina.core.StandardEngineValve.invoke(
> StandardEngineValve.java:107)>      at
> org.apache.catalina.connector.CoyoteAdapter.service (CoyoteAdapter.java:148)>
> at org.apache.coyote.http11.Http11Processor.process (Http11Processor.java:869)>
> at
> org.apache.coyote.http11.Http11BaseProtocol$Http11ConnectionHandler.processConnection
> (Http11BaseProtocol.java:664)>      at
> org.apache.tomcat.util.net.PoolTcpEndpoint.processSocket(
> PoolTcpEndpoint.java:527)>      at
> org.apache.tomcat.util.net.LeaderFollowerWorkerThread.runIt(
> LeaderFollowerWorkerThread.java:80)>      at
> org.apache.tomcat.util.threads.ThreadPool$ControlRunnable.run(
> ThreadPool.java:684)>      at java.lang.Thread.run (Thread.java:595)---------------------------------------------------------------------To
> unsubscribe, e-mail: user-unsubscribe@(protected)
> commands, e-mail: user-help@(protected)
>
> _______________________________________________
> Join Excite! - http://www.excite.com
> The most personalized portal on the Web!
>
>
>
> ---------------------------------------------------------------------
> To unsubscribe, e-mail: user-unsubscribe@(protected)
> For additional commands, e-mail: user-help@(protected)
>
>
©2008 junlu.com - Jax Systems, LLC, U.S.A.