Summary: | Stepping Engine backtraces when Source Window is empty | ||
---|---|---|---|
Product: | frysk | Reporter: | Rick Moseley <rmoseley> |
Component: | general | Assignee: | Mike Cvet <mcvet> |
Status: | RESOLVED FIXED | ||
Severity: | normal | ||
Priority: | P2 | ||
Version: | unspecified | ||
Target Milestone: | --- | ||
Host: | Target: | ||
Build: | Last reconfirmed: | ||
Bug Depends on: | |||
Bug Blocks: | 1633, 4193 |
Description
Rick Moseley
2007-04-21 04:42:06 UTC
The above comes out in a Frysk Core warning window, the following comes out in the terminal window when the bash task is terminated and before attempting to activate a new task: threadlife: Terminating: {frysk.proc.LinuxPtraceTask@9b78c0,pid=23855,tid=23855,state=running} 1 Processes exited 0 java.lang.NullPointerException at frysk.rt.SteppingEngine.isTaskRunning(SteppingEngine.java:842) at frysk.gui.srcwin.SourceWindow.isRunning(SourceWindow.java:783) at frysk.gui.srcwin.SourceView$SourceViewListener.mouseMotionEvent(SourceView.java:1024) at org.gnu.gtk.Widget.fireMouseMotionEvent(libgtkjava-2.8.so) at org.gnu.gtk.Widget.handleMouseMotion(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:244) at frysk.gui.FryskGui.main(FryskGui.java:59) 2007-04-23 Mike Cvet <mcvet@redhat.com> * SteppingEngine.java (contextMap): Changed to synchronized HashMap. (tasks, stateProc, taskStepCount, current): Removed. (threadsList): Added. List of Tasks to be blocked. (setProc): Heavily cleaned up, fixed to use threadsList. (setProcs): Ditto. (addProc): Dito. (stepInstruction): Ditto. Uses contextMap to keep track of number of stepping threads. (setUpLineStep): Removed reference to taskStepCount. (setUpStepNextInstruction): Ditto. (setUpStepOver): Ditto. (setUpStepOut): Ditto. (continueExecution): Removed reference to old Tasks array. (stop): Ditto. Ensure that Tasks don't get added to threadsList more than once. Synchronized on threadsList. (blockTask): Removed. (executeTasks): Made use of threadsList. (isProcRunning): Assume if Task no longer exists in SteppingEngine data structures, it has exited and thus not running. Fixes #4401. (isTaskRunning): Ditto. (updateExecuted): Check number of remaining Tasks to be blocked before notifying any Observers. Update the number of remaining Tasks in the contextMap. If there are Tasks to be blocked, block them and return. Fixes #4399. (requestAdd): Rewritten. Faster, empties Tasks out of threadsList and blocks each as individual Tasks rather than threads of a process. (ThreadLifeObservable): Initialize threadsList. (ThreadLifeObservable.updateClonedOffspring): Don't explicitly block new Tasks with the steppingObserver. Update contextMap with new Task and put new Task in threadsList. Fixes #4399. Hmmmm, on my FC5/i386 machine when I now exit the bash shell, it does not leave the Source Window stack frame window plus, it appears to hang up and if I try to click on the "stop" icon I get the following: java.lang.NullPointerException at frysk.rt.SteppingEngine.stop(SteppingEngine.java:647) at frysk.gui.srcwin.SourceWindow.doStop(SourceWindow.java:2150) at frysk.gui.srcwin.SourceWindow$13.actionEvent(SourceWindow.java:1049) at org.gnu.gtk.Action.fireActionEvent(libgtkjava-2.8.so) at org.gnu.gtk.Action.handleActivate(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:244) at frysk.gui.FryskGui.main(FryskGui.java:59) Appears to be fixed with latest checkins for the SourceWindow and RTEngine. |