[MAGNOLIA-2579] ConcurrentModificationException in VirtualURIManager Created: 23/Jan/09  Updated: 18/Dec/15  Resolved: 18/Dec/15

Status: Closed
Project: Magnolia
Component/s: core
Affects Version/s: 3.6.6
Fix Version/s: None

Type: Bug Priority: Minor
Reporter: Philippe Marschall Assignee: Tobias Mattsson
Resolution: Duplicate Votes: 0
Labels: threading
Remaining Estimate: Not Specified
Time Spent: Not Specified
Original Estimate: Not Specified

Issue Links:
Relates
relates to MAGNOLIA-4088 VirtualURIManager should reload then ... Closed
duplicate
duplicates MAGNOLIA-4090 VirtualUriManager should be reimpleme... Closed
Template:
Acceptance criteria:
Empty
Task DoD:
[ ]* Doc/release notes changes? Comment present?
[ ]* Downstream builds green?
[ ]* Solution information and context easily available?
[ ]* Tests
[ ]* FixVersion filled and not yet released
[ ]  Architecture Decision Record (ADR)
Bug DoR:
[ ]* Steps to reproduce, expected, and actual results filled
[ ]* Affected version filled

 Description   

If multiple users/threads are concurrently creating virtual uri mappings we get the following traces

23.01.2009 13:47:28 FATAL org.apache.catalina.core.ContainerBase.[Standalone].[swctest2aut].[/author].[default] - Servlet.                                    service() for servlet default threw exception
java.util.ConcurrentModificationException
        at java.util.AbstractList$Itr.checkForComodification(AbstractList.java:372)
        at java.util.AbstractList$Itr.next(AbstractList.java:343)
        at info.magnolia.cms.beans.config.VirtualURIManager.getURIMapping(VirtualURIManager.java:86)
        at info.magnolia.cms.filters.VirtualUriFilter.getURIMapping(VirtualUriFilter.java:122)
        at info.magnolia.cms.filters.VirtualUriFilter.doFilter(VirtualUriFilter.java:67)
        at info.magnolia.cms.filters.OncePerRequestAbstractMgnlFilter.doFilter(OncePerRequestAbstractMgnlFilter.java:62)
        at info.magnolia.cms.filters.MgnlFilterChain.doFilter(MgnlFilterChain.java:71)
        at info.magnolia.cms.filters.MgnlFilterChain.doFilter(MgnlFilterChain.java:73)
        at ch.netcetera.swccore.magnolia.filters.MappedDiagnosticContextFilter.doFilter(MappedDiagnosticContextFilter.java                                    :155)
        at info.magnolia.cms.filters.AbstractMgnlFilter.doFilter(AbstractMgnlFilter.java:71)
        at info.magnolia.cms.filters.MgnlFilterChain.doFilter(MgnlFilterChain.java:71)
        at info.magnolia.cms.filters.MgnlFilterChain.doFilter(MgnlFilterChain.java:73)
        at info.magnolia.cms.filters.MgnlFilterChain.doFilter(MgnlFilterChain.java:73)
        at info.magnolia.cms.filters.MgnlFilterChain.doFilter(MgnlFilterChain.java:73)
        at info.magnolia.cms.filters.CosMultipartRequestFilter.doFilter(CosMultipartRequestFilter.java:84)
        at info.magnolia.cms.filters.AbstractMgnlFilter.doFilter(AbstractMgnlFilter.java:71)
        at info.magnolia.cms.filters.MgnlFilterChain.doFilter(MgnlFilterChain.java:71)
        at info.magnolia.cms.security.BaseSecurityFilter.doFilter(BaseSecurityFilter.java:61)
        at info.magnolia.cms.filters.AbstractMgnlFilter.doFilter(AbstractMgnlFilter.java:71)
        at info.magnolia.cms.filters.MgnlFilterChain.doFilter(MgnlFilterChain.java:71)
        at info.magnolia.cms.security.LogoutFilter.doFilter(LogoutFilter.java:81)
        at info.magnolia.cms.filters.OncePerRequestAbstractMgnlFilter.doFilter(OncePerRequestAbstractMgnlFilter.java:62)
        at info.magnolia.cms.filters.MgnlFilterChain.doFilter(MgnlFilterChain.java:71)
        at info.magnolia.cms.security.auth.login.LoginFilter.doFilter(LoginFilter.java:76)
        at info.magnolia.cms.filters.AbstractMgnlFilter.doFilter(AbstractMgnlFilter.java:71)
        at info.magnolia.cms.filters.MgnlFilterChain.doFilter(MgnlFilterChain.java:71)
        at info.magnolia.enterprise.registration.RegistrationFilter.doFilter(RegistrationFilter.java:50)
        at info.magnolia.cms.filters.AbstractMgnlFilter.doFilter(AbstractMgnlFilter.java:71)
        at info.magnolia.cms.filters.MgnlFilterChain.doFilter(MgnlFilterChain.java:71)
        at info.magnolia.cms.filters.ContentTypeFilter.doFilter(ContentTypeFilter.java:80)
        at info.magnolia.cms.filters.AbstractMgnlFilter.doFilter(AbstractMgnlFilter.java:71)
        at info.magnolia.cms.filters.MgnlFilterChain.doFilter(MgnlFilterChain.java:71)
        at info.magnolia.cms.filters.ContextFilter.doFilter(ContextFilter.java:72)
        at info.magnolia.cms.filters.AbstractMgnlFilter.doFilter(AbstractMgnlFilter.java:71)
        at info.magnolia.cms.filters.MgnlFilterChain.doFilter(MgnlFilterChain.java:71)
        at info.magnolia.cms.filters.CompositeFilter.doFilter(CompositeFilter.java:64)
        at info.magnolia.cms.filters.AbstractMgnlFilter.doFilter(AbstractMgnlFilter.java:71)
        at info.magnolia.cms.filters.MgnlMainFilter.doFilter(MgnlMainFilter.java:97)
        at info.magnolia.cms.filters.MgnlMainFilter.doFilter(MgnlMainFilter.java:200)
        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:175)
        at org.apache.catalina.core.StandardHostValve.invoke(StandardHostValve.java:128)
        at org.apache.catalina.valves.ErrorReportValve.invoke(ErrorReportValve.java:102)
        at org.apache.catalina.core.StandardEngineValve.invoke(StandardEngineValve.java:109)
        at org.apache.catalina.connector.CoyoteAdapter.service(CoyoteAdapter.java:286)
        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:447)
        at java.lang.Thread.run(Thread.java:619)
23.01.2009 13:47:28 ERROR ch.netcetera.swccore.magnolia.servlet.InternalErrorServlet - ch.netcetera.swccore.magnolia.servlet.InternalErrorServlet invoked for: /author/.magnolia/bug 194.126.145.254 GET /.magnolia/500/ "Mozilla/5.0 (Windows; U; Windows NT 5.1; en-US; rv:1.9.0.5) Gecko/2008120122 Firefox/3.0.5"
java.util.ConcurrentModificationException
        at java.util.AbstractList$Itr.checkForComodification(AbstractList.java:372)
        at java.util.AbstractList$Itr.next(AbstractList.java:343)
        at info.magnolia.cms.beans.config.VirtualURIManager.getURIMapping(VirtualURIManager.java:86)
        at info.magnolia.cms.filters.VirtualUriFilter.getURIMapping(VirtualUriFilter.java:122)
        at info.magnolia.cms.filters.VirtualUriFilter.doFilter(VirtualUriFilter.java:67)
        at info.magnolia.cms.filters.OncePerRequestAbstractMgnlFilter.doFilter(OncePerRequestAbstractMgnlFilter.java:62)
        at info.magnolia.cms.filters.MgnlFilterChain.doFilter(MgnlFilterChain.java:71)
        at info.magnolia.cms.filters.MgnlFilterChain.doFilter(MgnlFilterChain.java:73)
        at ch.netcetera.swccore.magnolia.filters.MappedDiagnosticContextFilter.doFilter(MappedDiagnosticContextFilter.java                                    :155)
        at info.magnolia.cms.filters.AbstractMgnlFilter.doFilter(AbstractMgnlFilter.java:71)
        at info.magnolia.cms.filters.MgnlFilterChain.doFilter(MgnlFilterChain.java:71)
        at info.magnolia.cms.filters.MgnlFilterChain.doFilter(MgnlFilterChain.java:73)
        at info.magnolia.cms.filters.MgnlFilterChain.doFilter(MgnlFilterChain.java:73)
        at info.magnolia.cms.filters.MgnlFilterChain.doFilter(MgnlFilterChain.java:73)
        at info.magnolia.cms.filters.CosMultipartRequestFilter.doFilter(CosMultipartRequestFilter.java:84)
        at info.magnolia.cms.filters.AbstractMgnlFilter.doFilter(AbstractMgnlFilter.java:71)
        at info.magnolia.cms.filters.MgnlFilterChain.doFilter(MgnlFilterChain.java:71)
        at info.magnolia.cms.security.BaseSecurityFilter.doFilter(BaseSecurityFilter.java:61)
        at info.magnolia.cms.filters.AbstractMgnlFilter.doFilter(AbstractMgnlFilter.java:71)
        at info.magnolia.cms.filters.MgnlFilterChain.doFilter(MgnlFilterChain.java:71)
        at info.magnolia.cms.security.LogoutFilter.doFilter(LogoutFilter.java:81)
        at info.magnolia.cms.filters.OncePerRequestAbstractMgnlFilter.doFilter(OncePerRequestAbstractMgnlFilter.java:62)
        at info.magnolia.cms.filters.MgnlFilterChain.doFilter(MgnlFilterChain.java:71)
        at info.magnolia.cms.security.auth.login.LoginFilter.doFilter(LoginFilter.java:76)
        at info.magnolia.cms.filters.AbstractMgnlFilter.doFilter(AbstractMgnlFilter.java:71)
        at info.magnolia.cms.filters.MgnlFilterChain.doFilter(MgnlFilterChain.java:71)
        at info.magnolia.enterprise.registration.RegistrationFilter.doFilter(RegistrationFilter.java:50)
        at info.magnolia.cms.filters.AbstractMgnlFilter.doFilter(AbstractMgnlFilter.java:71)
        at info.magnolia.cms.filters.MgnlFilterChain.doFilter(MgnlFilterChain.java:71)
        at info.magnolia.cms.filters.ContentTypeFilter.doFilter(ContentTypeFilter.java:80)
        at info.magnolia.cms.filters.AbstractMgnlFilter.doFilter(AbstractMgnlFilter.java:71)
        at info.magnolia.cms.filters.MgnlFilterChain.doFilter(MgnlFilterChain.java:71)
        at info.magnolia.cms.filters.ContextFilter.doFilter(ContextFilter.java:72)
        at info.magnolia.cms.filters.AbstractMgnlFilter.doFilter(AbstractMgnlFilter.java:71)
        at info.magnolia.cms.filters.MgnlFilterChain.doFilter(MgnlFilterChain.java:71)
        at info.magnolia.cms.filters.CompositeFilter.doFilter(CompositeFilter.java:64)
        at info.magnolia.cms.filters.AbstractMgnlFilter.doFilter(AbstractMgnlFilter.java:71)
        at info.magnolia.cms.filters.MgnlMainFilter.doFilter(MgnlMainFilter.java:97)
        at info.magnolia.cms.filters.MgnlMainFilter.doFilter(MgnlMainFilter.java:200)
        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:175)
        at org.apache.catalina.core.StandardHostValve.invoke(StandardHostValve.java:128)
        at org.apache.catalina.valves.ErrorReportValve.invoke(ErrorReportValve.java:102)
        at org.apache.catalina.core.StandardEngineValve.invoke(StandardEngineValve.java:109)
        at org.apache.catalina.connector.CoyoteAdapter.service(CoyoteAdapter.java:286)
        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:447)
        at java.lang.Thread.run(Thread.java:619)


 Comments   
Comment by Philippe Marschall [ 23/Jan/09 ]

Fixed stack trace formatting.

Comment by Philippe Marschall [ 23/Jan/09 ]

More formatting fixes.

Generated at Mon Feb 12 03:38:05 CET 2024 using Jira 9.4.2#940002-sha1:46d1a51de284217efdcb32434eab47a99af2938b.