[ https://issues.apache.org/jira/browse/MYFACES-3792?page=com.atlassian.jira.plugin.system.issuetabpanels:all-tabpanel ]
Leonardo Uribe resolved MYFACES-3792. ------------------------------------- Resolution: Fixed Fix Version/s: 2.1.13 2.0.19 Assignee: Leonardo Uribe The stack trace shows there is a modification over the view map while the beans are destroyed. You should have some code in view scope bean under @PreDestroy. But anyway, we can avoid that problem just creating a copy of the keys before iterate. > ConcurrentModificationException in > org.apache.myfaces.config.ManagedBeanDestroyer - when using > TomcatAnnotationLifecycleProvider > -------------------------------------------------------------------------------------------------------------------------------- > > Key: MYFACES-3792 > URL: https://issues.apache.org/jira/browse/MYFACES-3792 > Project: MyFaces Core > Issue Type: Bug > Affects Versions: 2.1.11 > Environment: Linux > Reporter: Tomasz Szlek > Assignee: Leonardo Uribe > Fix For: 2.0.19, 2.1.13 > > > Sometimes exception below occurs. It looks like map in ManagedBeanDestroyer > is not a concurrence map and this could be an issue. > lifecycle provider: > org.apache.myfaces.config.annotation.TomcatAnnotationLifecycleProvider > stack trace: > testjavax.servlet.ServletException > at javax.faces.webapp.FacesServlet.service(FacesServlet.java:229) > at > org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:290) > > at > org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:206) > > 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.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:235) > > at > org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:206) > > at > org.apache.catalina.core.StandardWrapperValve.invoke(StandardWrapperValve. > java:233) > at > org.apache.catalina.core.StandardContextValve.invoke(StandardContextValve. > java:191) > at > org.apache.catalina.authenticator.AuthenticatorBase.invoke(AuthenticatorBase.java:563) > > at > org.apache.catalina.core.StandardHostValve.invoke(StandardHostValve.java:1 > 27) > at > org.apache.catalina.valves.ErrorReportValve.invoke(ErrorReportValve.java:1 > 02) > at > org.apache.catalina.core.StandardEngineValve.invoke(StandardEngineValve.ja > va:109) > at > org.apache.catalina.connector.CoyoteAdapter.service(CoyoteAdapter.java:293 > ) > at > org.apache.coyote.ajp.AjpAprProcessor.process(AjpAprProcessor.java:448) > at > org.apache.coyote.ajp.AjpAprProtocol$AjpConnectionHandler.process(AjpAprProtocol.java:399) > > at > org.apache.tomcat.util.net.AprEndpoint$Worker.run(AprEndpoint.java:1675) > at java.lang.Thread.run(Thread.java:662) > Caused by: java.util.ConcurrentModificationException > at java.util.HashMap$HashIterator.nextEntry(HashMap.java:793) > at java.util.HashMap$KeyIterator.next(HashMap.java:828) > at > org.apache.myfaces.config.ManagedBeanDestroyer.processEvent(ManagedBeanDestroyer.java:100) > > at > javax.faces.event.SystemEvent.processListener(SystemEvent.java:43) > at > org.apache.myfaces.application.ApplicationImpl._traverseListenerList(ApplicationImpl.java:2410) > > at > org.apache.myfaces.application.ApplicationImpl.access$000(ApplicationImpl. > java:119) > at > org.apache.myfaces.application.ApplicationImpl$SystemListenerEntry.publish(ApplicationImpl.java:2601) > > at > org.apache.myfaces.application.ApplicationImpl.publishEvent(ApplicationImp > l.java:592) > at > org.apache.myfaces.application.ApplicationImpl.publishEvent(ApplicationImp > l.java:607) > at > javax.faces.component.UIViewRoot$ViewScope.clear(UIViewRoot.java:1596) > at > org.apache.myfaces.application.NavigationHandlerImpl.handleNavigation(NavigationHandlerImpl.java:133) > > at > org.apache.myfaces.application.ActionListenerImpl.processAction(ActionListenerImpl.java:89) > > at javax.faces.component.UICommand.broadcast(UICommand.java:120) > at > javax.faces.component.UIViewRoot._broadcastAll(UIViewRoot.java:1028) > at > javax.faces.component.UIViewRoot.broadcastEvents(UIViewRoot.java:286) > at javax.faces.component.UIViewRoot._process(UIViewRoot.java:1375) > at > javax.faces.component.UIViewRoot.processApplication(UIViewRoot.java:752) > at > org.apache.myfaces.lifecycle.InvokeApplicationExecutor.execute(InvokeApplicationExecutor.java:38) > > at > org.apache.myfaces.lifecycle.LifecycleImpl.executePhase(LifecycleImpl.java > :170) > at > org.apache.myfaces.lifecycle.LifecycleImpl.execute(LifecycleImpl.java:117) > at javax.faces.webapp.FacesServlet.service(FacesServlet.java:197) > ... 19 more -- This message was sent by Atlassian JIRA (v6.1#6144)