Bug 3380

Summary: Frysk - built from CVS head 20061018 - debug an existing process twice = infinite loop exception
Product: frysk Reporter: Len DiMaggio <ldimaggi>
Component: generalAssignee: Sami Wagiaalla <swagiaal>
Status: RESOLVED FIXED    
Severity: normal    
Priority: P2    
Version: unspecified   
Target Milestone: ---   
Host: Target:
Build: Last reconfirmed:
Bug Depends on:    
Bug Blocks: 1633    

Description Len DiMaggio 2006-10-18 14:08:55 UTC
I just noticed this on FC5 with Frysk - built from CVS head 20061018.

To recreate the problem:
1) Bring up Frysk Gui
2) Select 'Debug an Existing Process'
3) Select a process (e.g., /bin/bash) and press 'Open' button
4) The 'Source Code' window opens - close it
5) Repeat steps 2 and 3 - choose the same process
6) This exception is raised:

java.lang.Exception: gtk_widget_show_all: assertion `GTK_IS_WIDGET (widget)' failed
   at org.gnu.glib.GObject.printStackTrace(libgtkjava-2.8.so)
   at org.gnu.gtk.Widget.gtk_widget_show_all(libgtkjava-2.8.so)
   at org.gnu.gtk.Widget.showAll(libgtkjava-2.8.so)
   at frysk.gui.srcwin.SourceWindowFactory.createSourceWindow(FryskGui)
   at frysk.gui.SessionManagerGui$2.buttonEvent(FryskGui)
   at org.gnu.gtk.Button.fireButtonEvent(libgtkjava-2.8.so)
   at org.gnu.gtk.Button.handleClick(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 Len DiMaggio 2006-10-18 14:11:17 UTC
And - if you specify a different process the second time, this exception is
raised in an infinite loop:

org.gnu.gtk.ObjectDestroyedException
   at org.gnu.gtk.Window.checkState(libgtkjava-2.8.so)
   at org.gnu.gtk.Widget.setSensitive(libgtkjava-2.8.so)
   at frysk.gui.srcwin.SourceWindow.procReblocked(FryskGui)
   at frysk.gui.srcwin.SourceWindowFactory.handleTask(FryskGui)
   at frysk.gui.srcwin.SourceWindowFactory$SourceWinBlocker$1.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 2 Rick Moseley 2006-11-07 15:47:28 UTC
Appears to be fixed in cvs head.  Cannot reproduce.
Comment 3 Sami Wagiaalla 2007-02-07 15:05:36 UTC
reproducable using test3380.py
Comment 4 Sami Wagiaalla 2007-02-08 20:49:00 UTC
2007-02-08  sami wagiaalla  <swagiaal@redhat.com>
	
	* SourceWindow.java: now hides instead of destroys itself upon
	Destroy event. Fix for bz3380.