You are viewing a plain text version of this content. The canonical link for it is here.
Posted to user@struts.apache.org by "Sergei P. Volin" <s....@ttk.ru> on 2004/03/02 18:14:28 UTC

ConcurrentModificationException

Greetings!

Why did I get this message when sending two concurent requests to the same page?
I'm using:
1) RH8.0, Linux 2.4.18 #2 SMP
2) java version "1.4.0"
Java(TM) 2 Runtime Environment, Standard Edition (build 1.4.0)
Classic VM (build 1.4.0, J2RE 1.4.0 IBM build cxia32140-20020917a (JIT enabled: jitc))
3) Tomcat 5.0.19
4) Struts 1.1

The same exception I've got on 4.1.24. I really have problems (with other symptoms) with concurrent requests. Not often (because server is not highly exploited) but persisted. And more often on Linux platform than on Windows. Why so? Could it be a jvm issue? Or may be Tomcat? Or Struts? Or mine? Without concurrent requests application works smoothly.

Regards,

Sergei Volin.

HTTP Status 500 - 

--------------------------------------------------------------------------------

type Exception report

message 

description The server encountered an internal error () that prevented it from fulfilling this request.

exception 

org.apache.jasper.JasperException
	org.apache.jasper.servlet.JspServletWrapper.service(JspServletWrapper.java:358)
	org.apache.jasper.servlet.JspServlet.serviceJspFile(JspServlet.java:301)
	org.apache.jasper.servlet.JspServlet.service(JspServlet.java:248)
	javax.servlet.http.HttpServlet.service(HttpServlet.java:856)
	org.apache.struts.action.RequestProcessor.doForward(RequestProcessor.java:1069)
	org.apache.struts.action.RequestProcessor.processForwardConfig(RequestProcessor.java:455)
	org.apache.struts.action.RequestProcessor.process(RequestProcessor.java:279)
	org.apache.struts.action.ActionServlet.process(ActionServlet.java:1482)
	org.apache.struts.action.ActionServlet.doGet(ActionServlet.java:507)
	javax.servlet.http.HttpServlet.service(HttpServlet.java:743)
	javax.servlet.http.HttpServlet.service(HttpServlet.java:856)
	com.volin.filters.CompressionFilter.doFilter(CompressionFilter.java:85)

root cause 

java.util.ConcurrentModificationException
	java.util.AbstractList$Itr.checkForComodification(AbstractList.java:444)
	java.util.AbstractList$Itr.next(AbstractList.java:417)
	org.apache.struts.taglib.logic.IterateTag.doAfterBody(IterateTag.java:401)
	org.apache.jsp.admin.sidEditorSurveys_jsp._jspService(sidEditorSurveys_jsp.java:1214)
	org.apache.jasper.runtime.HttpJspBase.service(HttpJspBase.java:133)
	javax.servlet.http.HttpServlet.service(HttpServlet.java:856)
	org.apache.jasper.servlet.JspServletWrapper.service(JspServletWrapper.java:311)
	org.apache.jasper.servlet.JspServlet.serviceJspFile(JspServlet.java:301)
	org.apache.jasper.servlet.JspServlet.service(JspServlet.java:248)
	javax.servlet.http.HttpServlet.service(HttpServlet.java:856)
	org.apache.struts.action.RequestProcessor.doForward(RequestProcessor.java:1069)
	org.apache.struts.action.RequestProcessor.processForwardConfig(RequestProcessor.java:455)
	org.apache.struts.action.RequestProcessor.process(RequestProcessor.java:279)
	org.apache.struts.action.ActionServlet.process(ActionServlet.java:1482)
	org.apache.struts.action.ActionServlet.doGet(ActionServlet.java:507)
	javax.servlet.http.HttpServlet.service(HttpServlet.java:743)
	javax.servlet.http.HttpServlet.service(HttpServlet.java:856)
	com.volin.filters.CompressionFilter.doFilter(CompressionFilter.java:85)

note The full stack trace of the root cause is available in the Tomcat logs.


--------------------------------------------------------------------------------

Apache Tomcat/5.0.19

Re: ConcurrentModificationException

Posted by "Sergei P. Volin" <s....@ttk.ru>.
The exception arised by doAfterBody method of IterateTag class, namely at
</logic:iterate>. It means that at least one time the body of iteration was
done. I can guarantee that inside itereator tags -
<logic:iterate>...</logic:iterate> I do not change nor iterator either
session attributes - just reading of session beans. So if smth of that
changes is that only due to some kind of requests interaction. I don't know
how it could be. This is really painful to me since I can't even think what
could it be and the issue persists from time to time. And again - the
application works smoothly when there is no collision of requests.

----- Original Message ----- 
From: "Brad Balmer" <bb...@peapod.com>
To: "Struts Users Mailing List" <st...@jakarta.apache.org>
Sent: Tuesday, March 02, 2004 8:49 PM
Subject: Re: ConcurrentModificationException


|
| Any chance that you were iterating through your HttpSession removing
| attributes?
|
| Sergei P. Volin wrote:
|
| >Greetings!
| >
| >Why did I get this message when sending two concurent requests to the
same page?
| >I'm using:
| >1) RH8.0, Linux 2.4.18 #2 SMP
| >2) java version "1.4.0"
| >Java(TM) 2 Runtime Environment, Standard Edition (build 1.4.0)
| >Classic VM (build 1.4.0, J2RE 1.4.0 IBM build cxia32140-20020917a (JIT
enabled: jitc))
| >3) Tomcat 5.0.19
| >4) Struts 1.1
| >
| >The same exception I've got on 4.1.24. I really have problems (with other
symptoms) with concurrent requests. Not often (because server is not highly
exploited) but persisted. And more often on Linux platform than on Windows.
Why so? Could it be a jvm issue? Or may be Tomcat? Or Struts? Or mine?
Without concurrent requests application works smoothly.
| >
| >Regards,
| >
| >Sergei Volin.
| >
| >HTTP Status 500 -
| >
|
>---------------------------------------------------------------------------
-----
| >
| >type Exception report
| >
| >message
| >
| >description The server encountered an internal error () that prevented it
from fulfilling this request.
| >
| >exception
| >
| >org.apache.jasper.JasperException
| >
org.apache.jasper.servlet.JspServletWrapper.service(JspServletWrapper.java:3
58)
| > org.apache.jasper.servlet.JspServlet.serviceJspFile(JspServlet.java:301)
| > org.apache.jasper.servlet.JspServlet.service(JspServlet.java:248)
| > javax.servlet.http.HttpServlet.service(HttpServlet.java:856)
| >
org.apache.struts.action.RequestProcessor.doForward(RequestProcessor.java:10
69)
| >
org.apache.struts.action.RequestProcessor.processForwardConfig(RequestProces
sor.java:455)
| >
org.apache.struts.action.RequestProcessor.process(RequestProcessor.java:279)
| > org.apache.struts.action.ActionServlet.process(ActionServlet.java:1482)
| > org.apache.struts.action.ActionServlet.doGet(ActionServlet.java:507)
| > javax.servlet.http.HttpServlet.service(HttpServlet.java:743)
| > javax.servlet.http.HttpServlet.service(HttpServlet.java:856)
| > com.volin.filters.CompressionFilter.doFilter(CompressionFilter.java:85)
| >
| >root cause
| >
| >java.util.ConcurrentModificationException
| > java.util.AbstractList$Itr.checkForComodification(AbstractList.java:444)
| > java.util.AbstractList$Itr.next(AbstractList.java:417)
| >
org.apache.struts.taglib.logic.IterateTag.doAfterBody(IterateTag.java:401)
| >
org.apache.jsp.admin.sidEditorSurveys_jsp._jspService(sidEditorSurveys_jsp.j
ava:1214)
| > org.apache.jasper.runtime.HttpJspBase.service(HttpJspBase.java:133)
| > javax.servlet.http.HttpServlet.service(HttpServlet.java:856)
| >
org.apache.jasper.servlet.JspServletWrapper.service(JspServletWrapper.java:3
11)
| > org.apache.jasper.servlet.JspServlet.serviceJspFile(JspServlet.java:301)
| > org.apache.jasper.servlet.JspServlet.service(JspServlet.java:248)
| > javax.servlet.http.HttpServlet.service(HttpServlet.java:856)
| >
org.apache.struts.action.RequestProcessor.doForward(RequestProcessor.java:10
69)
| >
org.apache.struts.action.RequestProcessor.processForwardConfig(RequestProces
sor.java:455)
| >
org.apache.struts.action.RequestProcessor.process(RequestProcessor.java:279)
| > org.apache.struts.action.ActionServlet.process(ActionServlet.java:1482)
| > org.apache.struts.action.ActionServlet.doGet(ActionServlet.java:507)
| > javax.servlet.http.HttpServlet.service(HttpServlet.java:743)
| > javax.servlet.http.HttpServlet.service(HttpServlet.java:856)
| > com.volin.filters.CompressionFilter.doFilter(CompressionFilter.java:85)
| >
| >note The full stack trace of the root cause is available in the Tomcat
logs.
| >
| >
|
>---------------------------------------------------------------------------
-----
| >
| >Apache Tomcat/5.0.19
| >
| >
|
|
| ---------------------------------------------------------------------
| To unsubscribe, e-mail: struts-user-unsubscribe@jakarta.apache.org
| For additional commands, e-mail: struts-user-help@jakarta.apache.org
|
|



---------------------------------------------------------------------
To unsubscribe, e-mail: struts-user-unsubscribe@jakarta.apache.org
For additional commands, e-mail: struts-user-help@jakarta.apache.org


Re: ConcurrentModificationException

Posted by Brad Balmer <bb...@peapod.com>.
Any chance that you were iterating through your HttpSession removing 
attributes?

Sergei P. Volin wrote:

>Greetings!
>
>Why did I get this message when sending two concurent requests to the same page?
>I'm using:
>1) RH8.0, Linux 2.4.18 #2 SMP
>2) java version "1.4.0"
>Java(TM) 2 Runtime Environment, Standard Edition (build 1.4.0)
>Classic VM (build 1.4.0, J2RE 1.4.0 IBM build cxia32140-20020917a (JIT enabled: jitc))
>3) Tomcat 5.0.19
>4) Struts 1.1
>
>The same exception I've got on 4.1.24. I really have problems (with other symptoms) with concurrent requests. Not often (because server is not highly exploited) but persisted. And more often on Linux platform than on Windows. Why so? Could it be a jvm issue? Or may be Tomcat? Or Struts? Or mine? Without concurrent requests application works smoothly.
>
>Regards,
>
>Sergei Volin.
>
>HTTP Status 500 - 
>
>--------------------------------------------------------------------------------
>
>type Exception report
>
>message 
>
>description The server encountered an internal error () that prevented it from fulfilling this request.
>
>exception 
>
>org.apache.jasper.JasperException
>	org.apache.jasper.servlet.JspServletWrapper.service(JspServletWrapper.java:358)
>	org.apache.jasper.servlet.JspServlet.serviceJspFile(JspServlet.java:301)
>	org.apache.jasper.servlet.JspServlet.service(JspServlet.java:248)
>	javax.servlet.http.HttpServlet.service(HttpServlet.java:856)
>	org.apache.struts.action.RequestProcessor.doForward(RequestProcessor.java:1069)
>	org.apache.struts.action.RequestProcessor.processForwardConfig(RequestProcessor.java:455)
>	org.apache.struts.action.RequestProcessor.process(RequestProcessor.java:279)
>	org.apache.struts.action.ActionServlet.process(ActionServlet.java:1482)
>	org.apache.struts.action.ActionServlet.doGet(ActionServlet.java:507)
>	javax.servlet.http.HttpServlet.service(HttpServlet.java:743)
>	javax.servlet.http.HttpServlet.service(HttpServlet.java:856)
>	com.volin.filters.CompressionFilter.doFilter(CompressionFilter.java:85)
>
>root cause 
>
>java.util.ConcurrentModificationException
>	java.util.AbstractList$Itr.checkForComodification(AbstractList.java:444)
>	java.util.AbstractList$Itr.next(AbstractList.java:417)
>	org.apache.struts.taglib.logic.IterateTag.doAfterBody(IterateTag.java:401)
>	org.apache.jsp.admin.sidEditorSurveys_jsp._jspService(sidEditorSurveys_jsp.java:1214)
>	org.apache.jasper.runtime.HttpJspBase.service(HttpJspBase.java:133)
>	javax.servlet.http.HttpServlet.service(HttpServlet.java:856)
>	org.apache.jasper.servlet.JspServletWrapper.service(JspServletWrapper.java:311)
>	org.apache.jasper.servlet.JspServlet.serviceJspFile(JspServlet.java:301)
>	org.apache.jasper.servlet.JspServlet.service(JspServlet.java:248)
>	javax.servlet.http.HttpServlet.service(HttpServlet.java:856)
>	org.apache.struts.action.RequestProcessor.doForward(RequestProcessor.java:1069)
>	org.apache.struts.action.RequestProcessor.processForwardConfig(RequestProcessor.java:455)
>	org.apache.struts.action.RequestProcessor.process(RequestProcessor.java:279)
>	org.apache.struts.action.ActionServlet.process(ActionServlet.java:1482)
>	org.apache.struts.action.ActionServlet.doGet(ActionServlet.java:507)
>	javax.servlet.http.HttpServlet.service(HttpServlet.java:743)
>	javax.servlet.http.HttpServlet.service(HttpServlet.java:856)
>	com.volin.filters.CompressionFilter.doFilter(CompressionFilter.java:85)
>
>note The full stack trace of the root cause is available in the Tomcat logs.
>
>
>--------------------------------------------------------------------------------
>
>Apache Tomcat/5.0.19
>  
>


---------------------------------------------------------------------
To unsubscribe, e-mail: struts-user-unsubscribe@jakarta.apache.org
For additional commands, e-mail: struts-user-help@jakarta.apache.org