Back to bug 1025185

Who When What Removed Added
Jitka Kozana 2013-10-31 08:10:16 UTC CC jkudrnac
QA Contact jkudrnac
Rostislav Svoboda 2013-10-31 12:08:49 UTC CC rsvoboda
mark yarborough 2013-10-31 12:11:20 UTC CC dandread, jawilson, jdoyle, myarboro
David M. Lloyd 2013-10-31 12:28:51 UTC Component MSC Remoting
Docs Contact rdickens
Summary MSC: Concurrent modification exception during server shutdown Remoting subsystem: Concurrent modification exception during server shutdown
Brian Stansberry 2013-10-31 15:45:31 UTC CC brian.stansberry
mark yarborough 2013-11-01 17:55:00 UTC Target Milestone --- CR1
Brian Stansberry 2013-11-07 20:40:14 UTC Status NEW POST
Assignee david.lloyd brian.stansberry
Brian Stansberry 2013-11-07 20:40:44 UTC Target Release --- EAP 6.2.0
Brian Stansberry 2013-11-08 04:21:09 UTC Status POST MODIFIED
Paul Gier 2013-11-11 03:18:52 UTC Status MODIFIED ON_QA
Jitka Kozana 2013-11-11 13:00:42 UTC Status ON_QA VERIFIED
Brian Stansberry 2013-11-21 02:22:33 UTC Doc Text Cause:

A service in the remoting subsystem was iterating over a collection in a non-thread-safe manner.

Consequence:

Occasional during server shutdown the server log would include the following. Shutdown would otherwise proceed normally:

WARN [org.jboss.msc.service.fail] (MSC service thread 1-55) MSC000004: Failure during stop of service jboss.remoting.endpoint.management.channel.management: java.util.ConcurrentModificationException
at java.util.HashMap$HashIterator.nextEntry(HashMap.java:793) [rt.jar:1.6.0_45]
at java.util.HashMap$KeyIterator.next(HashMap.java:828) [rt.jar:1.6.0_45]
at java.util.AbstractCollection.addAll(AbstractCollection.java:305) [rt.jar:1.6.0_45]
at java.util.HashSet.<init>(HashSet.java:100) [rt.jar:1.6.0_45]
at org.jboss.as.remoting.AbstractChannelOpenListenerService.stop(AbstractChannelOpenListenerService.java:123)
...

Fix:

Iteration over the collection is now done in a thread safe manner, with the collection object's monitor held by the iterating thread.

Result:

ConcurrentModificationException is no longer thrown.
Lucas Costi 2013-12-02 05:56:32 UTC CC lcosti
Doc Text Cause:

A service in the remoting subsystem was iterating over a collection in a non-thread-safe manner.

Consequence:

Occasional during server shutdown the server log would include the following. Shutdown would otherwise proceed normally:

WARN [org.jboss.msc.service.fail] (MSC service thread 1-55) MSC000004: Failure during stop of service jboss.remoting.endpoint.management.channel.management: java.util.ConcurrentModificationException
at java.util.HashMap$HashIterator.nextEntry(HashMap.java:793) [rt.jar:1.6.0_45]
at java.util.HashMap$KeyIterator.next(HashMap.java:828) [rt.jar:1.6.0_45]
at java.util.AbstractCollection.addAll(AbstractCollection.java:305) [rt.jar:1.6.0_45]
at java.util.HashSet.<init>(HashSet.java:100) [rt.jar:1.6.0_45]
at org.jboss.as.remoting.AbstractChannelOpenListenerService.stop(AbstractChannelOpenListenerService.java:123)
...

Fix:

Iteration over the collection is now done in a thread safe manner, with the collection object's monitor held by the iterating thread.

Result:

ConcurrentModificationException is no longer thrown.
A service in the remoting subsystem would iterate over a collection in a non-thread-safe manner.

As a result of this issue, a `ConcurrentModificationException` exception would occasionally be thrown during server shutdown. Other than this exception, the shutdown would complete normally.

----
WARN [org.jboss.msc.service.fail] (MSC service thread 1-55) MSC000004: Failure during stop of service jboss.remoting.endpoint.management.channel.management: java.util.ConcurrentModificationException
at java.util.HashMap$HashIterator.nextEntry(HashMap.java:793) [rt.jar:1.6.0_45]
at java.util.HashMap$KeyIterator.next(HashMap.java:828) [rt.jar:1.6.0_45]
at java.util.AbstractCollection.addAll(AbstractCollection.java:305) [rt.jar:1.6.0_45]
at java.util.HashSet.<init>(HashSet.java:100) [rt.jar:1.6.0_45]
at org.jboss.as.remoting.AbstractChannelOpenListenerService.stop(AbstractChannelOpenListenerService.java:123)
...
----

This issue has been fixed in this release of JBoss EAP 6. Iteration over the collection is now done in a thread-safe manner, with the collection object's monitor held by the iterating thread.

As a result, `ConcurrentModificationException` exceptions are no longer thrown.
mark yarborough 2013-12-15 16:20:32 UTC Status VERIFIED CLOSED
Resolution --- CURRENTRELEASE
Last Closed 2013-12-15 11:20:32 UTC

Back to bug 1025185