[kepler-dev] [Bug 3255] New: - Diva ConcurrentModificationException

bugzilla-daemon at ecoinformatics.org bugzilla-daemon at ecoinformatics.org
Wed Apr 30 09:18:03 PDT 2008


           Summary: Diva ConcurrentModificationException
           Product: Kepler
           Version: 1.0.0rc1
          Platform: Other
        OS/Version: Windows 2000
            Status: NEW
          Severity: major
          Priority: P2
         Component: general
        AssignedTo: cxh at eecs.berkeley.edu
        ReportedBy: cxh at eecs.berkeley.edu
         QAContact: kepler-dev at ecoinformatics.org
OtherBugsDependingO 3245

I'm seeing the following stack trace in the DOS window when
I run the Kepler-1.0.0 installer on a Windows 2003 Server that has
multiple cores:

Exception in thread "AWT-EventQueue-0" java.util.ConcurrentModificationExceptio

        at java.util.LinkedList$ListItr.checkForComodification(Unknown Source)
        at java.util.LinkedList$ListItr.next(Unknown Source)
        at java.util.Collections$UnmodifiableCollection$1.next(Unknown Source)
        at ptolemy.kernel.util.NamedObj.attributeList(NamedObj.java:365)
        at ptolemy.vergil.actor.ActorGraphModel$PortModel.getParent(ActorGraphM
        at diva.graph.modular.ModularGraphModel.getParent(ModularGraphModel.jav
        at diva.graph.GraphUtilities.isContainedNode(GraphUtilities.java:156)
        at diva.graph.GraphUtilities.isPartiallyContainedEdge(GraphUtilities.ja
        at diva.graph.AbstractGraphController.rerender(AbstractGraphController.
        at diva.graph.AbstractGraphController$ChangeListener.structureChanged(A
        at diva.graph.toolbox.GraphEventMulticaster.structureChanged(GraphEvent
        at diva.graph.toolbox.GraphEventMulticaster.dispatchEvent(GraphEventMul
        at diva.graph.AbstractGraphModel$1.run(AbstractGraphModel.java:79)
        at java.awt.event.InvocationEvent.dispatch(Unknown Source)
        at java.awt.EventQueue.dispatchEvent(Unknown Source)
        at java.awt.EventDispatchThread.pumpOneEventForFilters(Unknown Source)
        at java.awt.EventDispatchThread.pumpEventsForFilter(Unknown Source)
        at java.awt.EventDispatchThread.pumpEventsForHierarchy(Unknown Source)
        at java.awt.EventDispatchThread.pumpEvents(Unknown Source)
        at java.awt.EventDispatchThread.pumpEvents(Unknown Source)
        at java.awt.EventDispatchThread.run(Unknown Source)

Thomas Feng wrote:
I saw this exception more often when using the TransformationAttribute
(the one I showed yesterday for regression testing) on a dual-core
Vista machine. But when I used another computer that did not have dual
core, the problem never showed up. I thought it was a bug in GT, so I
went ahead and fixed a few places by adding getReadAccess() and
doneReading(). This reduced the number of exceptions on the dual-core
machine, but it still happened.

I then ran some very simple SDF models, and still got the exception in
my command console. Those models were just as simple as two Ramps
connected to a Display. I really wonder how this happens. Maybe
someone does attributeList() and use the returned list without
protecting the whole transaction with getReadAccess()? This kind of
bugs are really hard to trace. We could modify the attributeList()
function to return a list that logs every operation on it, though.

This is probably my fault, I'll take a look.

More information about the Kepler-dev mailing list