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
_______________________________________________
seam-issues mailing list
[email protected]
https://lists.jboss.org/mailman/listinfo/seam-issues

Reply via email to