Vsevolod Golovanov created JBSEAM-5078:
------------------------------------------
Summary: Unsynchronized access to conversation entries map
Key: JBSEAM-5078
URL:
https://issues.jboss.org/browse/JBSEAM-5078
Project: Seam 2
Issue Type: Feature Request
Components: Core
Affects Versions: 2.3.0.Final
Reporter: Vsevolod Golovanov
The methods org.jboss.seam.core.ConversationEntries.getConversationEntries() and
org.jboss.seam.core.ConversationEntries.getConversationIds() themselves are synchronized,
but they still return views of underlying unsynchronized collection, so iterating over
such a view could yield ConcurrentModificationException or incorrect results, if the
underlying collection is changed at the same time.
Example stack:
2013-01-22 10:29:53,862 ERROR [ContainerBase] Session event listener threw exception
java.util.ConcurrentModificationException
at java.util.HashMap$AbstractMapIterator.checkConcurrentMod(HashMap.java:193)
at java.util.HashMap$AbstractMapIterator.makeNext(HashMap.java:198)
at java.util.HashMap$KeyIterator.next(HashMap.java:271)
at java.util.Collections$UnmodifiableCollection$1.next(Collections.java:1017)
at org.jboss.seam.contexts.Lifecycle.endSession(Lifecycle.java:284)
--
This message is automatically generated by JIRA.
If you think it was sent incorrectly, please contact your JIRA administrators
For more information on JIRA, see:
http://www.atlassian.com/software/jira