Bug 4106

Summary: SourceWindow breakage
Product: frysk Reporter: Mike Cvet <mcvet>
Component: generalAssignee: Unassigned <frysk-bugzilla>
Status: RESOLVED FIXED    
Severity: normal    
Priority: P2    
Version: unspecified   
Target Milestone: ---   
Host: Target:
Build: Last reconfirmed:
Bug Depends on:    
Bug Blocks: 1633    

Description Mike Cvet 2007-02-27 20:46:30 UTC
open frysk on anything:

java.lang.ArrayIndexOutOfBoundsException: 0
   at frysk.gui.srcwin.SourceWindow.generateProcStackTrace(FryskGui)
   at frysk.gui.srcwin.SourceWindow.finishSourceWin(FryskGui)
   at frysk.gui.srcwin.SourceWindow$LockObserver$31.run(FryskGui)
   at org.gnu.glib.CustomEvents.runEvents(libgtkjava-2.8.so)
   at org.gnu.gtk.Gtk.gtk_main(libgtkjava-2.8.so)
   at frysk.gui.Gui.gui(FryskGui)
   at frysk.gui.FryskGui.main(FryskGui)
Comment 1 Mike Cvet 2007-02-27 20:50:42 UTC
java.lang.ArrayIndexOutOfBoundsException: 0
   at frysk.gui.srcwin.SourceBuffer.highlightLine(FryskGui)
   at frysk.gui.srcwin.SourceBuffer.setScope(FryskGui)
   at frysk.gui.srcwin.SourceBuffer.<init>(FryskGui)
   at frysk.gui.srcwin.SourceView.<init>(FryskGui)
   at frysk.gui.srcwin.SourceWindow.populateStackBrowser(FryskGui)
   at frysk.gui.srcwin.SourceWindow.finishSourceWin(FryskGui)
   at frysk.gui.srcwin.SourceWindow$LockObserver$31.run(FryskGui)
   at org.gnu.glib.CustomEvents.runEvents(libgtkjava-2.8.so)
   at org.gnu.gtk.Gtk.gtk_main(libgtkjava-2.8.so)
   at frysk.gui.Gui.gui(FryskGui)
Comment 2 Mike Cvet 2007-02-27 20:52:47 UTC
Broken on following assumptions:

Line line = stackFrame.getLines()[0];

Assuming that the StackFrame will have an array of size at least 1 - but a 
StackFrame without debuginfo returns:

if (lines == null)
  lines = new Line[0];

Comment 3 Mike Cvet 2007-02-27 21:09:52 UTC
2007-02-27  Mike Cvet  <mcvet@redhat.com>

	* SourceBuffer.java (highlightLine): Make sure that the StackFrame has 
	available lines before grabbing them. Fixes #4106.
	* SourceWindow.java (generateProcStackTrace): Ditto.