[jbosstools-issues] [JBoss JIRA] Assigned: (JBIDE-3818) ConcurrentModificationException in seam validator

Alexey Kazakov (JIRA) jira-events at lists.jboss.org
Tue Feb 17 15:57:44 EST 2009


     [ https://jira.jboss.org/jira/browse/JBIDE-3818?page=com.atlassian.jira.plugin.system.issuetabpanels:all-tabpanel ]

Alexey Kazakov reassigned JBIDE-3818:
-------------------------------------

    Assignee: Viacheslav Kabanovich  (was: Alexey Kazakov)


We can't fix this issue without modification of Seam Tools model.
What we can do:
- add new methods to SeamProject like getComponents(boolean createNewCopy); This method should return new copy of collection. The coping should be thread-safe too.
- use ConcurrentLinkedQueue instead of HashSet in SeamProject. It will allow clients to work with thread-safe collection of Seam artifacts. We have to figure out if it is fast enough.
- return Collections.synchronizedSet() in getComponents(). Then every client code should use sinchronize block when we need to iterate Seam artifacts. Could be slow. Not sure it is the best solution.

Also we can use CopyOnWriteArraySet in SeamProject but it would be too slow. I don't think we should use it.

Any ideas?

> ConcurrentModificationException in seam validator
> -------------------------------------------------
>
>                 Key: JBIDE-3818
>                 URL: https://jira.jboss.org/jira/browse/JBIDE-3818
>             Project: Tools (JBoss Tools)
>          Issue Type: Bug
>          Components: Seam
>    Affects Versions: 3.0.0.GA
>            Reporter: Denis Golovin
>            Assignee: Viacheslav Kabanovich
>            Priority: Critical
>             Fix For: 3.0.0.GA
>
>
> java.util.ConcurrentModificationException
>      [java] 	at java.util.HashMap$HashIterator.nextEntry(HashMap.java:793)
>      [java] 	at java.util.HashMap$KeyIterator.next(HashMap.java:828)
>      [java] 	at java.util.Collections$UnmodifiableCollection$1.next(Collections.java:1010)
>      [java] 	at org.jboss.tools.seam.internal.core.validation.SeamCoreValidator.validateAll(SeamCoreValidator.java:198)
>      [java] 	at org.jboss.tools.seam.internal.core.validation.SeamValidatorManager.validateAll(SeamValidatorManager.java:88)
>      [java] 	at org.jboss.tools.seam.internal.core.validation.SeamValidatorManager.validateInJob(SeamValidatorManager.java:68)
>      [java] 	at org.eclipse.wst.validation.internal.operations.ValidatorJob.run(ValidatorJob.java:78)
>      [java] 	at org.eclipse.core.internal.jobs.Worker.run(Worker.java:55)

-- 
This message is automatically generated by JIRA.
-
If you think it was sent incorrectly contact one of the administrators: https://jira.jboss.org/jira/secure/Administrators.jspa
-
For more information on JIRA, see: http://www.atlassian.com/software/jira

        



More information about the jbosstools-issues mailing list