[ https://issues.apache.org/jira/browse/WW-3019?page=com.atlassian.jira.plugin.system.issuetabpanels:all-tabpanel ]
Lukasz Lenart updated WW-3019: ------------------------------ Fix Version/s: (was: 2.5.x) 2.5.6 > ConcurrentModificationException using s:iterator (intermittent) > --------------------------------------------------------------- > > Key: WW-3019 > URL: https://issues.apache.org/jira/browse/WW-3019 > Project: Struts 2 > Issue Type: Bug > Affects Versions: 2.1.6 > Environment: OS: > Linux 2.6.18-92.1.13.el5 #1 SMP Wed Sep 24 19:33:52 EDT 2008 i686 i686 i386 > GNU/Linux > Glassfish: > Version = Sun Java System Application Server 9.1_02 > Reporter: Chris Dunphy > Fix For: 2.5.6 > > Attachments: layout_wait.jsp, struts.xml, tiles.xml, viewrequest.jsp, > wait.jsp > > > I have an intermittent problem using the s:iterator tag with the waitAndExec > interceptor. Here is the file that I am trying to insert into the tiles > layout (viewrequest.jsp): > {code:xml} > <%@ taglib prefix="s" uri="/struts-tags"%> > <s:if test="empeRequest.messages.size() > 0"> > <div class="box" style="background-color: #CCCCCC"> > <h3><s:property value="empeRequest.description" /></h3> > <ul> > <s:iterator value="empeRequest.messages"> > <s:if test="status.toString() == 'NORMAL'"> > <li style="background-color: > #CCFFCC"><s:property > value="message" /></li> > </s:if> > <s:elseif test="status.toString() == 'WARNING'"> > <li style="background-color: > #FFFFCC"><s:property > value="message" /></li> > </s:elseif> > <s:elseif test="status.toString() == 'ERROR'"> > <li style="background-color: > #FFBBBB"><s:property > value="message" /></li> > </s:elseif> > </s:iterator> > </ul> > </div> > </s:if> > {code} > This is the layout page I am including the above file in (waitlayout.jsp): > {code:xml} > <%@ taglib uri="http://tiles.apache.org/tags-tiles" prefix="tiles"%> > <%@ taglib prefix="s" uri="/struts-tags"%> > <?xml version="1.0" encoding="utf-8"?> > <!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Strict//EN" > "http://www.w3.org/TR/xhtml1/DTD/xhtml1-strict.dtd"> > <html xmlns="http://www.w3.org/1999/xhtml" xml:lang="en"> > <head> > <meta http-equiv="refresh" content="5;url=<s:url > includeParams="all" />" /> > <title>${application.title}</title> > <style type="text/css">@import url( css/empe.css );</style> > </head> > <body> > <div class="force-scrollbar"> </div> > <div class="main"> > <div class="content"> > <tiles:insertAttribute name="body" /> > <tiles:insertAttribute name="viewRequest" /> > </div> > </div> > </body> > </html> > {code} > This sometimes crashses with the following stack trace: > {noformat} > Caused by: java.util.ConcurrentModificationException > at > java.util.AbstractList$Itr.checkForComodification(AbstractList.java:372) > at java.util.AbstractList$Itr.next(AbstractList.java:343) > at > org.apache.struts2.components.IteratorComponent.end(IteratorComponent.java:266) > at > org.apache.struts2.views.jsp.IteratorTag.doAfterBody(IteratorTag.java:69) > at > org.apache.jsp.jsp.fragments.viewrequest_jsp._jspx_meth_s_iterator_0(viewrequest_jsp.java > from :177) > at > org.apache.jsp.jsp.fragments.viewrequest_jsp._jspx_meth_s_if_0(viewrequest_jsp.java > from :108) > at > org.apache.jsp.jsp.fragments.viewrequest_jsp._jspService(viewrequest_jsp.java > from :67) > at org.apache.jasper.runtime.HttpJspBase.service(HttpJspBase.java:93) > at javax.servlet.http.HttpServlet.service(HttpServlet.java:831) > at > org.apache.jasper.servlet.JspServletWrapper.service(JspServletWrapper.java:373) > at > org.apache.jasper.servlet.JspServlet.serviceJspFile(JspServlet.java:470) > at org.apache.jasper.servlet.JspServlet.service(JspServlet.java:364) > at javax.servlet.http.HttpServlet.service(HttpServlet.java:831) > at > org.apache.catalina.core.ApplicationFilterChain.servletService(ApplicationFilterChain.java:411) > at > org.apache.catalina.core.ApplicationDispatcher.doInvoke(ApplicationDispatcher.java:855) > at > org.apache.catalina.core.ApplicationDispatcher.invoke(ApplicationDispatcher.java:703) > at > org.apache.catalina.core.ApplicationDispatcher.doInclude(ApplicationDispatcher.java:660) > at > org.apache.catalina.core.ApplicationDispatcher.include(ApplicationDispatcher.java:578) > at > org.apache.jasper.runtime.JspRuntimeLibrary.include(JspRuntimeLibrary.java:997) > at > org.apache.jasper.runtime.PageContextImpl.include(PageContextImpl.java:682) > at > org.apache.tiles.jsp.context.JspTilesRequestContext.include(JspTilesRequestContext.java:103) > ... 112 more > {noformat} > This doesn't happen consistently, but every third or forth run, which is > enough to cause problems for users. I don't suspect it is a tiles issue, but > appears to be an issue with iterator based on the stack trace. -- This message was sent by Atlassian JIRA (v6.3.4#6332)