Bug 2813

Summary: a traceback occurs if try to ignore a blocking observer
Product: frysk Reporter: Rick Moseley <rmoseley>
Component: generalAssignee: Unassigned <frysk-bugzilla>
Status: NEW ---    
Severity: normal CC: swagiaal
Priority: P2    
Version: unspecified   
Target Milestone: ---   
Host: Target:
Build: Last reconfirmed:
Bug Depends on:    
Bug Blocks: 1632    

Description Rick Moseley 2006-06-20 20:44:37 UTC
1) Start up a task that you can abort
2) Create a session with the task started in 1
3) Open the session and click on the pid to start the timeline widget
4) Now, exit the task started in step 1
5) When the window appears with the "Would you like to block it?" question
appears, click "No".

The following traceback appears:

20-Jun-06 4:41:40 PM frysk.gui.monitor.actions.LogAction execute
INFO: PID 3800 triggered Exit Notifiction Observer
java.lang.RuntimeException: Observer [frysk.gui.monitor.ListView@12bb6f0] is
trying to add itself twice
   at frysk.gui.monitor.GuiObservable.addObserver(FryskGui)
   at frysk.gui.monitor.ListView.add(FryskGui)
   at frysk.gui.monitor.ListView.add(FryskGui)
   at frysk.gui.monitor.ListView$ItemAddedObserver.update(FryskGui)
   at java.util.Observable.notifyObservers(libgcj.so.7)
   at frysk.gui.monitor.GuiObservable.notifyObservers(FryskGui)
   at frysk.gui.monitor.ObservableLinkedList.add(FryskGui)
   at frysk.gui.monitor.GuiProc.add(FryskGui)
   at frysk.gui.sessions.DebugProcess.removeProc(FryskGui)
   at frysk.gui.sessions.DebugProcess$2.update(FryskGui)
   at java.util.Observable.notifyObservers(libgcj.so.7)
   at frysk.gui.monitor.GuiObservable.notifyObservers(FryskGui)
   at frysk.gui.monitor.ObservableLinkedList.remove(FryskGui)
   at
frysk.gui.monitor.datamodels.FlatProcObservableLinkedList$ProcDestroyedObserver$2.run(FryskGui)
   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(FryskGui)
   at frysk.gui.FryskGui.main(FryskGui)
java.lang.RuntimeException: Observer [frysk.gui.monitor.ListView@12bb6f0] is
trying to add itself twice
   at frysk.gui.monitor.GuiObservable.addObserver(FryskGui)
   at frysk.gui.monitor.ListView.add(FryskGui)
   at frysk.gui.monitor.ListView.add(FryskGui)
   at frysk.gui.monitor.ListView$ItemAddedObserver.update(FryskGui)
   at java.util.Observable.notifyObservers(libgcj.so.7)
   at frysk.gui.monitor.GuiObservable.notifyObservers(FryskGui)
   at frysk.gui.monitor.ObservableLinkedList.add(FryskGui)
   at frysk.gui.monitor.GuiProc.add(FryskGui)
   at frysk.gui.sessions.DebugProcess.removeProc(FryskGui)
   at frysk.gui.sessions.DebugProcess$2.update(FryskGui)
   at java.util.Observable.notifyObservers(libgcj.so.7)
   at frysk.gui.monitor.GuiObservable.notifyObservers(FryskGui)
   at frysk.gui.monitor.ObservableLinkedList.remove(FryskGui)
   at
frysk.gui.monitor.datamodels.FlatProcObservableLinkedList$ProcDestroyedObserver$2.run(FryskGui)
   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(FryskGui)
   at frysk.gui.FryskGui.main(FryskGui)
java.lang.RuntimeException: Observer [frysk.gui.monitor.ListView@12bb6f0] is
trying to add itself twice
   at frysk.gui.monitor.GuiObservable.addObserver(FryskGui)
   at frysk.gui.monitor.ListView.add(FryskGui)
   at frysk.gui.monitor.ListView.add(FryskGui)
   at frysk.gui.monitor.ListView$ItemAddedObserver.update(FryskGui)
   at java.util.Observable.notifyObservers(libgcj.so.7)
   at frysk.gui.monitor.GuiObservable.notifyObservers(FryskGui)
   at frysk.gui.monitor.ObservableLinkedList.add(FryskGui)
   at frysk.gui.monitor.GuiProc.add(FryskGui)
   at frysk.gui.sessions.DebugProcess.removeProc(FryskGui)
   at frysk.gui.sessions.DebugProcess$2.update(FryskGui)
   at java.util.Observable.notifyObservers(libgcj.so.7)
   at frysk.gui.monitor.GuiObservable.notifyObservers(FryskGui)
   at frysk.gui.monitor.ObservableLinkedList.remove(FryskGui)
   at
frysk.gui.monitor.datamodels.FlatProcObservableLinkedList$ProcDestroyedObserver$2.run(FryskGui)
   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(FryskGui)
   at frysk.gui.FryskGui.main(FryskGui)
java.lang.RuntimeException: Observer [frysk.gui.monitor.ListView@12bb6f0] is
trying to add itself twice
   at frysk.gui.monitor.GuiObservable.addObserver(FryskGui)
   at frysk.gui.monitor.ListView.add(FryskGui)
   at frysk.gui.monitor.ListView.add(FryskGui)
   at frysk.gui.monitor.ListView$ItemAddedObserver.update(FryskGui)
   at java.util.Observable.notifyObservers(libgcj.so.7)
   at frysk.gui.monitor.GuiObservable.notifyObservers(FryskGui)
   at frysk.gui.monitor.ObservableLinkedList.add(FryskGui)
   at frysk.gui.monitor.GuiProc.add(FryskGui)
   at frysk.gui.sessions.DebugProcess.removeProc(FryskGui)
   at frysk.gui.sessions.DebugProcess$2.update(FryskGui)
   at java.util.Observable.notifyObservers(libgcj.so.7)
   at frysk.gui.monitor.GuiObservable.notifyObservers(FryskGui)
   at frysk.gui.monitor.ObservableLinkedList.remove(FryskGui)
   at
frysk.gui.monitor.datamodels.FlatProcObservableLinkedList$ProcDestroyedObserver$2.run(FryskGui)
   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(FryskGui)
   at frysk.gui.FryskGui.main(FryskGui)
java.lang.RuntimeException: Observer [frysk.gui.monitor.ListView@12bb6f0] is
trying to add itself twice
   at frysk.gui.monitor.GuiObservable.addObserver(FryskGui)
   at frysk.gui.monitor.ListView.add(FryskGui)
   at frysk.gui.monitor.ListView.add(FryskGui)
   at frysk.gui.monitor.ListView$ItemAddedObserver.update(FryskGui)
   at java.util.Observable.notifyObservers(libgcj.so.7)
   at frysk.gui.monitor.GuiObservable.notifyObservers(FryskGui)
   at frysk.gui.monitor.ObservableLinkedList.add(FryskGui)
   at frysk.gui.monitor.GuiProc.add(FryskGui)
   at frysk.gui.sessions.DebugProcess.removeProc(FryskGui)
   at frysk.gui.sessions.DebugProcess$2.update(FryskGui)
   at java.util.Observable.notifyObservers(libgcj.so.7)
   at frysk.gui.monitor.GuiObservable.notifyObservers(FryskGui)
   at frysk.gui.monitor.ObservableLinkedList.remove(FryskGui)
   at
frysk.gui.monitor.datamodels.FlatProcObservableLinkedList$ProcDestroyedObserver$2.run(FryskGui)
   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(FryskGui)
   at frysk.gui.FryskGui.main(FryskGui)
java.lang.RuntimeException: Observer [frysk.gui.monitor.ListView@12bb6f0] is
trying to add itself twice
   at frysk.gui.monitor.GuiObservable.addObserver(FryskGui)
   at frysk.gui.monitor.ListView.add(FryskGui)
   at frysk.gui.monitor.ListView.add(FryskGui)
   at frysk.gui.monitor.ListView$ItemAddedObserver.update(FryskGui)
   at java.util.Observable.notifyObservers(libgcj.so.7)
   at frysk.gui.monitor.GuiObservable.notifyObservers(FryskGui)
   at frysk.gui.monitor.ObservableLinkedList.add(FryskGui)
   at frysk.gui.monitor.GuiProc.add(FryskGui)
   at frysk.gui.sessions.DebugProcess.removeProc(FryskGui)
   at frysk.gui.sessions.DebugProcess$2.update(FryskGui)
   at java.util.Observable.notifyObservers(libgcj.so.7)
   at frysk.gui.monitor.GuiObservable.notifyObservers(FryskGui)
   at frysk.gui.monitor.ObservableLinkedList.remove(FryskGui)
   at
frysk.gui.monitor.datamodels.FlatProcObservableLinkedList$ProcDestroyedObserver$2.run(FryskGui)
   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(FryskGui)
   at frysk.gui.FryskGui.main(FryskGui)
java.lang.RuntimeException: Observer [frysk.gui.monitor.ListView@12bb6f0] is
trying to add itself twice
   at frysk.gui.monitor.GuiObservable.addObserver(FryskGui)
   at frysk.gui.monitor.ListView.add(FryskGui)
   at frysk.gui.monitor.ListView.add(FryskGui)
   at frysk.gui.monitor.ListView$ItemAddedObserver.update(FryskGui)
   at java.util.Observable.notifyObservers(libgcj.so.7)
   at frysk.gui.monitor.GuiObservable.notifyObservers(FryskGui)
   at frysk.gui.monitor.ObservableLinkedList.add(FryskGui)
   at frysk.gui.monitor.GuiProc.add(FryskGui)
   at frysk.gui.sessions.DebugProcess.removeProc(FryskGui)
   at frysk.gui.sessions.DebugProcess$2.update(FryskGui)
   at java.util.Observable.notifyObservers(libgcj.so.7)
   at frysk.gui.monitor.GuiObservable.notifyObservers(FryskGui)
   at frysk.gui.monitor.ObservableLinkedList.remove(FryskGui)
   at
frysk.gui.monitor.datamodels.FlatProcObservableLinkedList$ProcDestroyedObserver$2.run(FryskGui)
   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(FryskGui)
   at frysk.gui.FryskGui.main(FryskGui)
java.lang.RuntimeException: Observer [frysk.gui.monitor.ListView@12bb6f0] is
trying to add itself twice
   at frysk.gui.monitor.GuiObservable.addObserver(FryskGui)
   at frysk.gui.monitor.ListView.add(FryskGui)
   at frysk.gui.monitor.ListView.add(FryskGui)
   at frysk.gui.monitor.ListView$ItemAddedObserver.update(FryskGui)
   at java.util.Observable.notifyObservers(libgcj.so.7)
   at frysk.gui.monitor.GuiObservable.notifyObservers(FryskGui)
   at frysk.gui.monitor.ObservableLinkedList.add(FryskGui)
   at frysk.gui.monitor.GuiProc.add(FryskGui)
   at frysk.gui.sessions.DebugProcess.removeProc(FryskGui)
   at frysk.gui.sessions.DebugProcess$2.update(FryskGui)
   at java.util.Observable.notifyObservers(libgcj.so.7)
   at frysk.gui.monitor.GuiObservable.notifyObservers(FryskGui)
   at frysk.gui.monitor.ObservableLinkedList.remove(FryskGui)
   at
frysk.gui.monitor.datamodels.FlatProcObservableLinkedList$ProcDestroyedObserver$2.run(FryskGui)
   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(FryskGui)
   at frysk.gui.FryskGui.main(FryskGui)
Comment 1 Phil Muldoon 2006-11-28 15:43:47 UTC
Similar to http://sourceware.org/bugzilla/show_bug.cgi?id=2867 this exit
notification observer has been reworked to model a single terminating observers.
Therefor this bug may have been fixed through that. Can you retest, rick, and
post results?