You are viewing a plain text version of this content. The canonical link for it is here.
Posted to dev@tomcat.apache.org by bu...@apache.org on 2018/02/21 18:03:22 UTC

[Bug 62123] New: concurrentmodification exception on cleanup of RMI objects when stopping webapp

https://bz.apache.org/bugzilla/show_bug.cgi?id=62123

            Bug ID: 62123
           Summary: concurrentmodification exception on cleanup of RMI
                    objects when stopping webapp
           Product: Tomcat 9
           Version: 9.0.4
          Hardware: PC
            Status: NEW
          Severity: normal
          Priority: P2
         Component: Catalina
          Assignee: dev@tomcat.apache.org
          Reporter: zerovian@gmail.com
  Target Milestone: -----

Receive this exception occasionally when shutting down tomcat when webapp has
left RMI objects in memory.  Does not always happen.

Similar to issue 31334, but different stack.

21-Feb-2018 02:05:58.192 SEVERE [Catalina-startStop-2]
org.apache.catalina.core.ContainerBase.stopInternal A child container failed
during stop
java.util.concurrent.ExecutionException:
org.apache.catalina.LifecycleException: Failed to stop component
[WebappLoader[StandardEngine[Catalina].StandardHost[localhost].StandardContext[]]]
               at java.util.concurrent.FutureTask.report(FutureTask.java:122)
               at java.util.concurrent.FutureTask.get(FutureTask.java:192)
               at
org.apache.catalina.core.ContainerBase.stopInternal(ContainerBase.java:1003)
               at
org.apache.catalina.util.LifecycleBase.stop(LifecycleBase.java:257)
               at
org.apache.catalina.core.ContainerBase$StopChild.call(ContainerBase.java:1441)
               at
org.apache.catalina.core.ContainerBase$StopChild.call(ContainerBase.java:1430)
               at java.util.concurrent.FutureTask.run(FutureTask.java:266)
               at
java.util.concurrent.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1142)
               at
java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:617)
               at java.lang.Thread.run(Thread.java:745)
Caused by: org.apache.catalina.LifecycleException: Failed to stop component
[WebappLoader[StandardEngine[Catalina].StandardHost[localhost].StandardContext[]]]
               at
org.apache.catalina.util.LifecycleBase.handleSubClassException(LifecycleBase.java:441)
               at
org.apache.catalina.util.LifecycleBase.stop(LifecycleBase.java:267)
               at
org.apache.catalina.core.StandardContext.stopInternal(StandardContext.java:5363)
               at
org.apache.catalina.util.LifecycleBase.stop(LifecycleBase.java:257)
               at
org.apache.catalina.core.ContainerBase$StopChild.call(ContainerBase.java:1441)
               at
org.apache.catalina.core.ContainerBase$StopChild.call(ContainerBase.java:1430)
               at java.util.concurrent.FutureTask.run(FutureTask.java:266)
               at
org.apache.tomcat.util.threads.InlineExecutorService.execute(InlineExecutorService.java:75)
               at
java.util.concurrent.AbstractExecutorService.submit(AbstractExecutorService.java:134)
               at
org.apache.catalina.core.ContainerBase.stopInternal(ContainerBase.java:997)
               ... 7 more
Caused by: java.util.ConcurrentModificationException
               at java.util.HashMap$HashIterator.nextNode(HashMap.java:1437)
               at java.util.HashMap$ValueIterator.next(HashMap.java:1466)
               at
org.apache.catalina.loader.WebappClassLoaderBase.clearReferencesRmiTargets(WebappClassLoaderBase.java:2081)
               at
org.apache.catalina.loader.WebappClassLoaderBase.clearReferences(WebappClassLoaderBase.java:1521)
               at
org.apache.catalina.loader.WebappClassLoaderBase.stop(WebappClassLoaderBase.java:1463)
               at
org.apache.catalina.loader.WebappLoader.stopInternal(WebappLoader.java:443)
               at
org.apache.catalina.util.LifecycleBase.stop(LifecycleBase.java:257)
               ... 15 more

21-Feb-2018 02:05:58.193 SEVERE [Thread-115]
org.apache.catalina.core.ContainerBase.stopInternal A child container failed
during stop
java.util.concurrent.ExecutionException:
org.apache.catalina.LifecycleException: A child container failed during stop
               at java.util.concurrent.FutureTask.report(FutureTask.java:122)
               at java.util.concurrent.FutureTask.get(FutureTask.java:192)
               at
org.apache.catalina.core.ContainerBase.stopInternal(ContainerBase.java:1003)
               at
org.apache.catalina.util.LifecycleBase.stop(LifecycleBase.java:257)
               at
org.apache.catalina.core.StandardService.stopInternal(StandardService.java:471)
               at
org.apache.catalina.util.LifecycleBase.stop(LifecycleBase.java:257)
               at
org.apache.catalina.core.StandardServer.stopInternal(StandardServer.java:791)
               at
org.apache.catalina.util.LifecycleBase.stop(LifecycleBase.java:257)
               at org.apache.catalina.startup.Catalina.stop(Catalina.java:744)
               at
org.apache.catalina.startup.Catalina$CatalinaShutdownHook.run(Catalina.java:845)
Caused by: org.apache.catalina.LifecycleException: A child container failed
during stop
               at
org.apache.catalina.core.ContainerBase.stopInternal(ContainerBase.java:1011)
               at
org.apache.catalina.util.LifecycleBase.stop(LifecycleBase.java:257)
               at
org.apache.catalina.core.ContainerBase$StopChild.call(ContainerBase.java:1441)
               at
org.apache.catalina.core.ContainerBase$StopChild.call(ContainerBase.java:1430)
               at java.util.concurrent.FutureTask.run(FutureTask.java:266)
               at
java.util.concurrent.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1142)
               at
java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:617)
               at java.lang.Thread.run(Thread.java:745)

21-Feb-2018 02:05:58.195 SEVERE [Thread-115]
org.apache.catalina.startup.Catalina.stop Catalina.stop
org.apache.catalina.LifecycleException: A child container failed during stop
               at
org.apache.catalina.core.ContainerBase.stopInternal(ContainerBase.java:1011)
               at
org.apache.catalina.util.LifecycleBase.stop(LifecycleBase.java:257)
               at
org.apache.catalina.core.StandardService.stopInternal(StandardService.java:471)
               at
org.apache.catalina.util.LifecycleBase.stop(LifecycleBase.java:257)
               at
org.apache.catalina.core.StandardServer.stopInternal(StandardServer.java:791)
               at
org.apache.catalina.util.LifecycleBase.stop(LifecycleBase.java:257)
               at org.apache.catalina.startup.Catalina.stop(Catalina.java:744)
               at
org.apache.catalina.startup.Catalina$CatalinaShutdownHook.run(Catalina.java:845)

-- 
You are receiving this mail because:
You are the assignee for the bug.
---------------------------------------------------------------------
To unsubscribe, e-mail: dev-unsubscribe@tomcat.apache.org
For additional commands, e-mail: dev-help@tomcat.apache.org


[Bug 62123] concurrentmodification exception on cleanup of RMI objects when stopping webapp

Posted by bu...@apache.org.
https://bz.apache.org/bugzilla/show_bug.cgi?id=62123

Mark Thomas <ma...@apache.org> changed:

           What    |Removed                     |Added
----------------------------------------------------------------------------
                 OS|                            |All
         Resolution|---                         |FIXED
             Status|NEW                         |RESOLVED

--- Comment #1 from Mark Thomas <ma...@apache.org> ---
Thanks for the report.

That Map has a dedicated lock object. I've updated the clean-up code to use it.

Fixed in:
- trunk for 9.0.6 onwards
- 8.5.x for 8.5.29 onwards
- 8.0.x for 8.0.51 onwards
- 7.0.x for 7.0.86 onwards

-- 
You are receiving this mail because:
You are the assignee for the bug.
---------------------------------------------------------------------
To unsubscribe, e-mail: dev-unsubscribe@tomcat.apache.org
For additional commands, e-mail: dev-help@tomcat.apache.org