Bug 2763 - ConcurrentModificationException thown during datamodel population
Summary: ConcurrentModificationException thown during datamodel population
Status: NEW
Alias: None
Product: frysk
Classification: Unclassified
Component: general (show other bugs)
Version: unspecified
: P1 normal
Target Milestone: ---
Assignee: Unassigned
URL:
Keywords:
Depends on:
Blocks: 1582
  Show dependency treegraph
 
Reported: 2006-06-14 01:41 UTC by Phil Muldoon
Modified: 2006-11-28 16:50 UTC (History)
0 users

See Also:
Host:
Target:
Build:
Last reconfirmed:


Attachments

Note You need to log in before you can comment on or make changes to this bug.
Description Phil Muldoon 2006-06-14 01:41:21 UTC
I see this occasionally with 

frysk-gui/frysk/gui/monitor/datamodels/FlatProcObservableLinkedList

Basically the exception below indicates fail-fast iterator is having it's
contract broken *somewhere*. The most likely cause of this is using a fail-fast
iterator to construct a loop:

List bar = new LinkedList();
..
..
Iterator foo = bar.iterator()
while (foo.hasNext())
    bar.remove(foo.next());

In this case the iterator throws the exception due to it's contract being
violated as the collection the iterator is based on is changing due to removal.

java.util.ConcurrentModificationException
   at java.util.HashMap$HashIterator.next(libgcj.so.7)
   at java.util.HashMap.putAllInternal(libgcj.so.7)
   at java.util.HashMap.clone(libgcj.so.7)
   at frysk.proc.LinuxHost$ProcChanges.finit$(LinuxHost.java:90)
   at frysk.proc.LinuxHost$ProcChanges.<init>(LinuxHost.java:1)
   at frysk.proc.LinuxHost.sendrecSelf(LinuxHost.java:323)
   at frysk.proc.Host.getSelf(Host.java:285)
   at frysk.gui.monitor.GuiProc.isOwned(GuiProc.java:165)
   at
frysk.gui.monitor.datamodels.FlatProcObservableLinkedList$ProcCreatedObserver$1.run(FlatProcObservableLinkedList.java:84)
   at org.gnu.glib.CustomEvents.runEvents(libgtkjava-2.8.so)
   at org.gnu.gtk.Gtk.gtk_main(libgtkjava-2.8.so)
   at org.gnu.gtk.Gtk.main(libgtkjava-2.8.so)
   at frysk.gui.Gui.gui(Gui.java:448)
   at frysk.gui.FryskGui.main(FryskGui.java:66)