ConcurrentModificationException after migrating to richfaces 3.3.3.Final version
tejaspajai Jun 28, 2011 10:32 AMHi,
Our application uses jsf 1.2, facelets 1.1.14 and jboss-portal-2.6.5.SP1. We recently migrated the richfaces libraries from 3.3.0.GA to 3.3.3.Final.
After this migration we started getting ConcurrentModificationExceptions randomly. These exceptions cannot be reproduced at will and could occur on even the simplest of user actions like checking a checkbox.
Another observation is that these issues are more frequent when the server is under load.
When going through the online discussions, I found the following thread particularly interesting:
https://issues.jboss.org/browse/RF-8558
The issue discussed in the above bug is similar to what we are facing but has been closed because it was not reproducible.
Any suggestions/ideas?
ERROR: 2011-06-24 07:10:48,196[http-0.0.0.0-1080-6::facelets.viewhandler]: [user:rsahdev] [context:/] Error Rendering View[/pages/explorePortlet/view.jspx]
java.util.ConcurrentModificationException
at java.util.HashMap$HashIterator.nextEntry(HashMap.java:793)
at java.util.HashMap$EntryIterator.next(HashMap.java:834)
at java.util.HashMap$EntryIterator.next(HashMap.java:832)
at java.util.HashMap.putAllForCreate(HashMap.java:435)
at java.util.HashMap.<init>(HashMap.java:225)
at org.ajax4jsf.component.UIDataAdaptorBase.createChildStateCopy(UIDataAdaptorBase.java:894)
at org.ajax4jsf.component.UIDataAdaptorBase.saveState(UIDataAdaptorBase.java:1554)
at org.richfaces.component.UIDataTable.saveState(UIDataTable.java:181)
at org.richfaces.component.html.HtmlDataTable.saveState(HtmlDataTable.java:1361)
at javax.faces.component.UIComponentBase.processSaveState(UIComponentBase.java:1078)
at javax.faces.component.UIComponentBase.processSaveState(UIComponentBase.java:1094)
at javax.faces.component.UIComponentBase.processSaveState(UIComponentBase.java:1094)
at javax.faces.component.UIComponentBase.processSaveState(UIComponentBase.java:1094)
at javax.faces.component.UIComponentBase.processSaveState(UIComponentBase.java:1094)
at javax.faces.component.UIComponentBase.processSaveState(UIComponentBase.java:1094)
at javax.faces.component.UIComponentBase.processSaveState(UIComponentBase.java:1094)
at javax.faces.component.UIComponentBase.processSaveState(UIComponentBase.java:1094)
at javax.faces.component.UIComponentBase.processSaveState(UIComponentBase.java:1094)
at javax.faces.component.UIComponentBase.processSaveState(UIComponentBase.java:1094)
at org.ajax4jsf.component.AjaxViewRoot.processSaveState(AjaxViewRoot.java:751)
at org.ajax4jsf.application.AjaxStateManager.getComponentStateToSave(AjaxStateManager.java:179)
at org.ajax4jsf.application.AjaxStateManager.buildViewState(AjaxStateManager.java:515)
at org.ajax4jsf.application.AjaxStateManager.saveSerializedView(AjaxStateManager.java:467)
at javax.faces.application.StateManagerWrapper.saveSerializedView(StateManagerWrapper.java:71)
at com.sun.facelets.FaceletViewHandler.renderView(FaceletViewHandler.java:615)
at org.ajax4jsf.application.ViewHandlerWrapper.renderView(ViewHandlerWrapper.java:100)
at org.ajax4jsf.application.AjaxViewHandler.renderView(AjaxViewHandler.java:176)
at com.sun.faces.lifecycle.RenderResponsePhase.execute(RenderResponsePhase.java:106)
at com.sun.faces.lifecycle.LifecycleImpl.phase(LifecycleImpl.java:251)
at com.sun.faces.lifecycle.LifecycleImpl.render(LifecycleImpl.java:144)
at javax.faces.webapp.FacesServlet.service(FacesServlet.java:245)
at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:290)
at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:206)
at org.ajax4jsf.webapp.BaseXMLFilter.doXmlFilter(BaseXMLFilter.java:206)
at org.ajax4jsf.webapp.BaseFilter.handleRequest(BaseFilter.java:290)
at org.ajax4jsf.webapp.BaseFilter.processUploadsAndHandleRequest(BaseFilter.java:388)
at org.ajax4jsf.webapp.BaseFilter.doFilter(BaseFilter.java:515)
at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:235)
at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:206)
at com.nielsen.online.dashboard.filter.TopFilter.doFilter(TopFilter.java:97)
at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:235)
at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:206)
at com.nielsen.online.iat.shared.filters.Log4jMDCFilter.doFilter(Log4jMDCFilter.java:76)
at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:235)
at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:206)
at org.jboss.web.tomcat.filters.ReplyHeaderFilter.doFilter(ReplyHeaderFilter.java:96)
at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:235)
at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:206)
at org.apache.catalina.core.StandardWrapperValve.invoke(StandardWrapperValve.java:230)
at org.apache.catalina.core.StandardContextValve.invoke(StandardContextValve.java:175)
at org.jboss.web.tomcat.security.SecurityAssociationValve.invoke(SecurityAssociationValve.java:179)
at org.apache.catalina.authenticator.AuthenticatorBase.invoke(AuthenticatorBase.java:524)
at org.apache.catalina.authenticator.NBMFormAuthenticator.invoke(NBMFormAuthenticator.java:109)
at org.jboss.web.tomcat.security.JaccContextValve.invoke(JaccContextValve.java:84)
at org.apache.catalina.core.StandardHostValve.invoke(StandardHostValve.java:127)
at org.apache.catalina.valves.ErrorReportValve.invoke(ErrorReportValve.java:102)
at org.jboss.web.tomcat.service.jca.CachedConnectionValve.invoke(CachedConnectionValve.java:157)
at org.apache.catalina.authenticator.SingleSignOn.invoke(SingleSignOn.java:420)
at org.apache.catalina.core.StandardEngineValve.invoke(StandardEngineValve.java:109)
at org.apache.catalina.connector.CoyoteAdapter.service(CoyoteAdapter.java:262)
at org.apache.coyote.http11.Http11Processor.process(Http11Processor.java:844)
at org.apache.coyote.http11.Http11Protocol$Http11ConnectionHandler.process(Http11Protocol.java:583)
at org.apache.tomcat.util.net.JIoEndpoint$Worker.run(JIoEndpoint.java:446)
at java.lang.Thread.run(Thread.java:619)