JBWEB000236: Servlet.service() for servlet strutsAction threw exception: java.lang.StackOverflowError

Latest response

Hi Support team,

I'm migrating my application from Jboss 4 to Jboss 7(Jboss EAP 6.x alpha) getting the below error, while trying to search results in my project.
I'm using Java 6, Struts 1.2, EJB 2.0, Jboss 6 EAP alpha.

In our project, "List Manager” page & "Register” page in particular is throwing the stackOverflow exception.

Infinite loop, leading to StackOverflowError in
Caused by: java.lang.StackOverflowError
at java.util.IdentityHashMap.clear(IdentityHashMap.java:613) [rt.jar:1.7.0_45]
at org.jboss.marshalling.cloner.SerializingCloner.reset(SerializingCloner.java:126)
at org.jboss.marshalling.cloner.SerializingCloner.clone(SerializingCloner.java:139)
at org.jboss.marshalling.cloner.SerializingCloner.initSerializableClone(SerializingCloner.java:274)

While analyzing further on the issue, we found it’s a bug reported in JBOSS EAP 6.1.0 Alpha version rather.
The fix mentioned in the Red-hat-bugzilla (below URL)is upgrading to the next targeted release of JBOSS EAP 6.4.0.(which is yet to be released).

https://bugzilla.redhat.com/show_bug.cgi?id=1076572

Even I've tried running the project in Jboss EAP 6.3.0, still I'm getting the same error..
Kindly provide a fix/patch to overcome the stackoverflow error in Jboss EAP 6.x

Note: The same code works fine when running in Jboss 4.0

Jboss Server - Error Logs

ERROR [org.apache.catalina.core.ContainerBase.[jboss.web].[default-host].[/myproject].[strutsAction]] (http-localhost/127.0.0.1:8080-2) JBWEB000236: Servlet.service() for servlet strutsAction threw exception: java.lang.StackOverflowError
at java.util.IdentityHashMap.maskNull(IdentityHashMap.java:175) [rt.jar:1.6.0_27]
at java.util.IdentityHashMap.get(IdentityHashMap.java:314) [rt.jar:1.6.0_27]
at org.jboss.marshalling.cloner.SerializingCloner.clone(SerializingCloner.java:150) [jboss-cli-client.jar:7.2.0.Alpha1-redhat-4]
at org.jboss.marshalling.cloner.SerializingCloner.clone(SerializingCloner.java:134) [jboss-cli-client.jar:7.2.0.Alpha1-redhat-4]
at org.jboss.marshalling.cloner.SerializingCloner.initSerializableClone(SerializingCloner.java:274) [jboss-cli-client.jar:7.2.0.Alpha1-redhat-4]
at org.jboss.marshalling.cloner.SerializingCloner.initSerializableClone(SerializingCloner.java:276) [jboss-cli-client.jar:7.2.0.Alpha1-redhat-4]
at org.jboss.marshalling.cloner.SerializingCloner.initSerializableClone(SerializingCloner.java:276) [jboss-cli-client.jar:7.2.0.Alpha1-redhat-4]
at org.jboss.marshalling.cloner.SerializingCloner.initSerializableClone(SerializingCloner.java:276) [jboss-cli-client.jar:7.2.0.Alpha1-redhat-4]
at org.jboss.marshalling.cloner.SerializingCloner.initSerializableClone(SerializingCloner.java:276) [jboss-cli-client.jar:7.2.0.Alpha1-redhat-4]
at org.jboss.marshalling.cloner.SerializingCloner.initSerializableClone(SerializingCloner.java:276) [jboss-cli-client.jar:7.2.0.Alpha1-redhat-4]
at org.jboss.marshalling.cloner.SerializingCloner.initSerializableClone(SerializingCloner.java:276) [jboss-cli-client.jar:7.2.0.Alpha1-redhat-4]
at org.jboss.marshalling.cloner.SerializingCloner.initSerializableClone(SerializingCloner.java:276) [jboss-cli-client.jar:7.2.0.Alpha1-redhat-4]
at org.jboss.marshalling.cloner.SerializingCloner.initSerializableClone(SerializingCloner.java:276) [jboss-cli-client.jar:7.2.0.Alpha1-redhat-4]
at org.jboss.marshalling.cloner.SerializingCloner.initSerializableClone(SerializingCloner.java:276) [jboss-cli-client.jar:7.2.0.Alpha1-redhat-4]
at org.jboss.marshalling.cloner.SerializingCloner.initSerializableClone(SerializingCloner.java:276) [jboss-cli-client.jar:7.2.0.Alpha1-redhat-4]
at org.jboss.marshalling.cloner.SerializingCloner.initSerializableClone(SerializingCloner.java:276) [jboss-cli-client.jar:7.2.0.Alpha1-redhat-4]
at org.jboss.marshalling.cloner.SerializingCloner.initSerializableClone(SerializingCloner.java:276) [jboss-cli-client.jar:7.2.0.Alpha1-redhat-4]
at org.jboss.marshalling.cloner.SerializingCloner.initSerializableClone(SerializingCloner.java:276) [jboss-cli-client.jar:7.2.0.Alpha1-redhat-4]
at org.jboss.marshalling.cloner.SerializingCloner.initSerializableClone(SerializingCloner.java:276) [jboss-cli-client.jar:7.2.0.Alpha1-redhat-4]
at org.jboss.marshalling.cloner.SerializingCloner.initSerializableClone(SerializingCloner.java:276) [jboss-cli-client.jar:7.2.0.Alpha1-redhat-4]
at org.jboss.marshalling.cloner.SerializingCloner.initSerializableClone(SerializingCloner.java:276) [jboss-cli-client.jar:7.2.0.Alpha1-redhat-4]
at org.jboss.marshalling.cloner.SerializingCloner.initSerializableClone(SerializingCloner.java:276) [jboss-cli-client.jar:7.2.0.Alpha1-redhat-4]
at org.jboss.marshalling.cloner.SerializingCloner.initSerializableClone(SerializingCloner.java:276) [jboss-cli-client.jar:7.2.0.Alpha1-redhat-4]
at org.jboss.marshalling.cloner.SerializingCloner.initSerializableClone(SerializingCloner.java:276) [jboss-cli-client.jar:7.2.0.Alpha1-redhat-4]
at org.jboss.marshalling.cloner.SerializingCloner.initSerializableClone(SerializingCloner.java:276) [jboss-cli-client.jar:7.2.0.Alpha1-redhat-4]
at org.jboss.marshalling.cloner.SerializingCloner.initSerializableClone(SerializingCloner.java:276) [jboss-cli-client.jar:7.2.0.Alpha1-redhat-4]
at org.jboss.marshalling.cloner.SerializingCloner.initSerializableClone(SerializingCloner.java:276) [jboss-cli-client.jar:7.2.0.Alpha1-redhat-4]
at org.jboss.marshalling.cloner.SerializingCloner.initSerializableClone(SerializingCloner.java:276) [jboss-cli-client.jar:7.2.0.Alpha1-redhat-4]
at org.jboss.marshalling.cloner.SerializingCloner.initSerializableClone(SerializingCloner.java:276) [jboss-cli-client.jar:7.2.0.Alpha1-redhat-4]
at org.jboss.marshalling.cloner.SerializingCloner.initSerializableClone(SerializingCloner.java:276) [jboss-cli-client.jar:7.2.0.Alpha1-redhat-4]
at org.jboss.marshalling.cloner.SerializingCloner.initSerializableClone(SerializingCloner.java:276) [jboss-cli-client.jar:7.2.0.Alpha1-redhat-4]
at org.jboss.marshalling.cloner.SerializingCloner.initSerializableClone(SerializingCloner.java:276) [jboss-cli-client.jar:7.2.0.Alpha1-redhat-4]
at org.jboss.marshalling.cloner.SerializingCloner.initSerializableClone(SerializingCloner.java:276) [jboss-cli-client.jar:7.2.0.Alpha1-redhat-4]
at org.jboss.marshalling.cloner.SerializingCloner.initSerializableClone(SerializingCloner.java:276) [jboss-cli-client.jar:7.2.0.Alpha1-redhat-4]
at org.jboss.marshalling.cloner.SerializingCloner.initSerializableClone(SerializingCloner.java:276) [jboss-cli-client.jar:7.2.0.Alpha1-redhat-4]
at org.jboss.marshalling.cloner.SerializingCloner.initSerializableClone(SerializingCloner.java:276) [jboss-cli-client.jar:7.2.0.Alpha1-redhat-4]
at org.jboss.marshalling.cloner.SerializingCloner.initSerializableClone(SerializingCloner.java:276) [jboss-cli-client.jar:7.2.0.Alpha1-redhat-4]
at org.jboss.marshalling.cloner.SerializingCloner.initSerializableClone(SerializingCloner.java:276) [jboss-cli-client.jar:7.2.0.Alpha1-redhat-4]
at org.jboss.marshalling.cloner.SerializingCloner.initSerializableClone(SerializingCloner.java:276) [jboss-cli-client.jar:7.2.0.Alpha1-redhat-4]
at org.jboss.marshalling.cloner.SerializingCloner.initSerializableClone(SerializingCloner.java:276) [jboss-cli-client.jar:7.2.0.Alpha1-redhat-4]
at org.jboss.marshalling.cloner.SerializingCloner.initSerializableClone(SerializingCloner.java:276) [jboss-cli-client.jar:7.2.0.Alpha1-redhat-4]
at org.jboss.marshalling.cloner.SerializingCloner.initSerializableClone(SerializingCloner.java:276) [jboss-cli-client.jar:7.2.0.Alpha1-redhat-4]
at org.jboss.marshalling.cloner.SerializingCloner.initSerializableClone(SerializingCloner.java:276) [jboss-cli-client.jar:7.2.0.Alpha1-redhat-4]
at org.jboss.marshalling.cloner.SerializingCloner.initSerializableClone(SerializingCloner.java:276) [jboss-cli-client.jar:7.2.0.Alpha1-redhat-4]
at org.jboss.marshalling.cloner.SerializingCloner.initSerializableClone(SerializingCloner.java:276) [jboss-cli-client.jar:7.2.0.Alpha1-redhat-4]
at org.jboss.marshalling.cloner.SerializingCloner.initSerializableClone(SerializingCloner.java:276) [jboss-cli-client.jar:7.2.0.Alpha1-redhat-4]
at org.jboss.marshalling.cloner.SerializingCloner.initSerializableClone(SerializingCloner.java:276) [jboss-cli-client.jar:7.2.0.Alpha1-redhat-4]

ERROR [org.apache.struts.taglib.tiles.InsertTag] (http-localhost/127.0.0.1:8080-2) ServletException in '/auth/srchreslts.do': null: javax.servlet.ServletException: JBWEB000248: Servlet execution threw an exception
at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:312) [jbossweb-7.2.0.Final.jar:7.2.0.Final]
at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:214) [jbossweb-7.2.0.Final.jar:7.2.0.Final]
at org.apache.catalina.core.ApplicationDispatcher.invoke(ApplicationDispatcher.java:832) [jbossweb-7.2.0.Final.jar:7.2.0.Final]
at org.apache.catalina.core.ApplicationDispatcher.doInclude(ApplicationDispatcher.java:718) [jbossweb-7.2.0.Final.jar:7.2.0.Final]
at org.apache.catalina.core.ApplicationDispatcher.include(ApplicationDispatcher.java:655) [jbossweb-7.2.0.Final.jar:7.2.0.Final]
at org.apache.jasper.runtime.JspRuntimeLibrary.include(JspRuntimeLibrary.java:940) [jbossweb-7.2.0.Final.jar:7.2.0.Final]
at org.apache.jasper.runtime.PageContextImpl.include(PageContextImpl.java:607) [jbossweb-7.2.0.Final.jar:7.2.0.Final]
at org.apache.struts.tiles.TilesUtilImpl.doInclude(TilesUtilImpl.java:99) [struts.jar:1.2.9]
at org.apache.struts.tiles.TilesUtil.doInclude(TilesUtil.java:135) [struts.jar:1.2.9]
at org.apache.struts.taglib.tiles.InsertTag.doInclude(InsertTag.java:760) [struts.jar:1.2.9]
at org.apache.struts.taglib.tiles.InsertTag$InsertHandler.doEndTag(InsertTag.java:892) [struts.jar:1.2.9]
at org.apache.struts.taglib.tiles.InsertTag.doEndTag(InsertTag.java:462) [struts.jar:1.2.9]
at org.apache.jsp.layout_jsp._jspx_meth_tiles_005finsert_005f2(layout_jsp.java:810)
at org.apache.jsp.layout_jsp._jspService(layout_jsp.java:512)
at org.apache.jasper.runtime.HttpJspBase.service(HttpJspBase.java:69) [jbossweb-7.2.0.Final.jar:7.2.0.Final]
at javax.servlet.http.HttpServlet.service(HttpServlet.java:847) [jboss-servlet-api_3.0_spec-1.0.2.Final.jar:1.0.2.Final]
at org.apache.jasper.servlet.JspServletWrapper.service(JspServletWrapper.java:365) [jbossweb-7.2.0.Final.jar:7.2.0.Final]
at org.apache.jasper.servlet.JspServlet.serviceJspFile(JspServlet.java:309) [jbossweb-7.2.0.Final.jar:7.2.0.Final]
at org.apache.jasper.servlet.JspServlet.service(JspServlet.java:242) [jbossweb-7.2.0.Final.jar:7.2.0.Final]
at javax.servlet.http.HttpServlet.service(HttpServlet.java:847) [jboss-servlet-api_3.0_spec-1.0.2.Final.jar:1.0.2.Final]
at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:295) [jbossweb-7.2.0.Final.jar:7.2.0.Final]
at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:214) [jbossweb-7.2.0.Final.jar:7.2.0.Final]
at org.apache.catalina.core.ApplicationDispatcher.invoke(ApplicationDispatcher.java:832) [jbossweb-7.2.0.Final.jar:7.2.0.Final]
at org.apache.catalina.core.ApplicationDispatcher.processRequest(ApplicationDispatcher.java:620) [jbossweb-7.2.0.Final.jar:7.2.0.Final]
at org.apache.catalina.core.ApplicationDispatcher.doForward(ApplicationDispatcher.java:553) [jbossweb-7.2.0.Final.jar:7.2.0.Final]
at org.apache.catalina.core.ApplicationDispatcher.forward(ApplicationDispatcher.java:482) [jbossweb-7.2.0.Final.jar:7.2.0.Final]
at org.apache.struts.action.RequestProcessor.doForward(RequestProcessor.java:1085) [struts.jar:1.2.9]
at org.apache.struts.tiles.TilesRequestProcessor.doForward(TilesRequestProcessor.java:263) [struts.jar:1.2.9]
at org.apache.struts.tiles.TilesRequestProcessor.processTilesDefinition(TilesRequestProcessor.java:239) [struts.jar:1.2.9]
at org.apache.struts.tiles.TilesRequestProcessor.processForwardConfig(TilesRequestProcessor.java:302) [struts.jar:1.2.9]
at org.apache.struts.action.RequestProcessor.process(RequestProcessor.java:241) [struts.jar:1.2.9]
at org.apache.struts.action.ActionServlet.process(ActionServlet.java:1196) [struts.jar:1.2.9]
at org.apache.struts.action.ActionServlet.doGet(ActionServlet.java:414) [struts.jar:1.2.9]
at javax.servlet.http.HttpServlet.service(HttpServlet.java:734) [jboss-servlet-api_3.0_spec-1.0.2.Final.jar:1.0.2.Final]
at javax.servlet.http.HttpServlet.service(HttpServlet.java:847) [jboss-servlet-api_3.0_spec-1.0.2.Final.jar:1.0.2.Final]
at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:295) [jbossweb-7.2.0.Final.jar:7.2.0.Final]
at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:214) [jbossweb-7.2.0.Final.jar:7.2.0.Final]
at org.apache.catalina.core.ApplicationDispatcher.invoke(ApplicationDispatcher.java:832) [jbossweb-7.2.0.Final.jar:7.2.0.Final]
at org.apache.catalina.core.ApplicationDispatcher.processRequest(ApplicationDispatcher.java:620) [jbossweb-7.2.0.Final.jar:7.2.0.Final]
at org.apache.catalina.core.ApplicationDispatcher.doForward(ApplicationDispatcher.java:553) [jbossweb-7.2.0.Final.jar:7.2.0.Final]
at org.apache.catalina.core.ApplicationDispatcher.forward(ApplicationDispatcher.java:482) [jbossweb-7.2.0.Final.jar:7.2.0.Final]
at org.apache.struts.action.RequestProcessor.doForward(RequestProcessor.java:1085) [struts.jar:1.2.9]
at org.apache.struts.tiles.TilesRequestProcessor.doForward(TilesRequestProcessor.java:263) [struts.jar:1.2.9]
at org.apache.struts.action.RequestProcessor.processForwardConfig(RequestProcessor.java:398) [struts.jar:1.2.9]
at org.apache.struts.tiles.TilesRequestProcessor.processForwardConfig(TilesRequestProcessor.java:318) [struts.jar:1.2.9]
at org.apache.struts.action.RequestProcessor.process(RequestProcessor.java:241) [struts.jar:1.2.9]
at org.apache.struts.action.ActionServlet.process(ActionServlet.java:1196) [struts.jar:1.2.9]
at org.apache.struts.action.ActionServlet.doGet(ActionServlet.java:414) [struts.jar:1.2.9]
at javax.servlet.http.HttpServlet.service(HttpServlet.java:734) [jboss-servlet-api_3.0_spec-1.0.2.Final.jar:1.0.2.Final]
at javax.servlet.http.HttpServlet.service(HttpServlet.java:847) [jboss-servlet-api_3.0_spec-1.0.2.Final.jar:1.0.2.Final]
at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:295) [jbossweb-7.2.0.Final.jar:7.2.0.Final]
at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:214) [jbossweb-7.2.0.Final.jar:7.2.0.Final]
at com.abc.book.web.security.AuthFilter.doFilter(AuthFilter.java:72) [classes:]
at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:246) [jbossweb-7.2.0.Final.jar:7.2.0.Final]
at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:214) [jbossweb-7.2.0.Final.jar:7.2.0.Final]
at com.planetj.servlet.filter.compression.CompressingFilter.doFilter(CompressingFilter.java:270) [pjl-comp-filter-1.7.jar:]
at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:246) [jbossweb-7.2.0.Final.jar:7.2.0.Final]
at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:214) [jbossweb-7.2.0.Final.jar:7.2.0.Final]
at org.apache.catalina.core.StandardWrapperValve.invoke(StandardWrapperValve.java:230) [jbossweb-7.2.0.Final.jar:7.2.0.Final]
at org.apache.catalina.core.StandardContextValve.invoke(StandardContextValve.java:149) [jbossweb-7.2.0.Final.jar:7.2.0.Final]
at org.jboss.as.web.security.SecurityContextAssociationValve.invoke(SecurityContextAssociationValve.java:169) [jboss-as-web-7.2.0.Alpha1-redhat-4.jar:7.2.0.Alpha1-redhat-4]
at org.apache.catalina.core.StandardHostValve.invoke(StandardHostValve.java:145) [jbossweb-7.2.0.Final.jar:7.2.0.Final]
at org.apache.catalina.valves.ErrorReportValve.invoke(ErrorReportValve.java:97) [jbossweb-7.2.0.Final.jar:7.2.0.Final]
at org.apache.catalina.core.StandardEngineValve.invoke(StandardEngineValve.java:102) [jbossweb-7.2.0.Final.jar:7.2.0.Final]
at org.apache.catalina.connector.CoyoteAdapter.service(CoyoteAdapter.java:336) [jbossweb-7.2.0.Final.jar:7.2.0.Final]
at org.apache.coyote.http11.Http11Processor.process(Http11Processor.java:856) [jbossweb-7.2.0.Final.jar:7.2.0.Final]
at org.apache.coyote.http11.Http11Protocol$Http11ConnectionHandler.process(Http11Protocol.java:653) [jbossweb-7.2.0.Final.jar:7.2.0.Final]
at org.apache.tomcat.util.net.JIoEndpoint$Worker.run(JIoEndpoint.java:920) [jbossweb-7.2.0.Final.jar:7.2.0.Final]
at java.lang.Thread.run(Thread.java:662) [rt.jar:1.6.0_27]

Caused by: java.lang.StackOverflowError
at java.util.IdentityHashMap.maskNull(IdentityHashMap.java:175) [rt.jar:1.6.0_27]
at java.util.IdentityHashMap.get(IdentityHashMap.java:314) [rt.jar:1.6.0_27]
at org.jboss.marshalling.cloner.SerializingCloner.clone(SerializingCloner.java:150) [jboss-cli-client.jar:7.2.0.Alpha1-redhat-4]

ERROR [org.apache.catalina.core.ContainerBase.[jboss.web].[default-host]] (http-localhost/127.0.0.1:8080-2) JBWEB000313: Exception processing error page /auth/error/error.jsp: java.lang.IllegalStateException: JBWEB000029: Cannot reset buffer after response has been committed
at org.apache.catalina.connector.Response.resetBuffer(Response.java:682) [jbossweb-7.2.0.Final.jar:7.2.0.Final]
at org.apache.catalina.connector.Response.resetBuffer(Response.java:702) [jbossweb-7.2.0.Final.jar:7.2.0.Final]
at org.apache.catalina.core.StandardHostValve.custom(StandardHostValve.java:515) [jbossweb-7.2.0.Final.jar:7.2.0.Final]
at org.apache.catalina.core.StandardHostValve.throwable(StandardHostValve.java:370) [jbossweb-7.2.0.Final.jar:7.2.0.Final]
at org.apache.catalina.core.StandardHostValve.invoke(StandardHostValve.java:159) [jbossweb-7.2.0.Final.jar:7.2.0.Final]
at org.apache.catalina.valves.ErrorReportValve.invoke(ErrorReportValve.java:97) [jbossweb-7.2.0.Final.jar:7.2.0.Final]
at org.apache.catalina.core.StandardEngineValve.invoke(StandardEngineValve.java:102) [jbossweb-7.2.0.Final.jar:7.2.0.Final]
at org.apache.catalina.connector.CoyoteAdapter.service(CoyoteAdapter.java:336) [jbossweb-7.2.0.Final.jar:7.2.0.Final]
at org.apache.coyote.http11.Http11Processor.process(Http11Processor.java:856) [jbossweb-7.2.0.Final.jar:7.2.0.Final]
at org.apache.coyote.http11.Http11Protocol$Http11ConnectionHandler.process(Http11Protocol.java:653) [jbossweb-7.2.0.Final.jar:7.2.0.Final]
at org.apache.tomcat.util.net.JIoEndpoint$Worker.run(JIoEndpoint.java:920) [jbossweb-7.2.0.Final.jar:7.2.0.Final]
at java.lang.Thread.run(Thread.java:662) [rt.jar:1.6.0_27]

Responses