If I do a lot of instruction stepping on a multithreaded task I get {frysk.proc.LinuxPtraceTask@2e43b60,pid=783,tid=785,state=Attached.WaitForUnblock} in state "Attached.WaitForUnblock" did not handle handleRemoval If you happen to try to remove an Observer while the Task is in that TaskState then it craps out. That state should probably be merged with the general BlockedSignal state which does handle it correctly. Now that I am tracing that code I am surprized this doesn't happen more often. Aha, I see. You need to be a bit unlucky to trigger this. Normally an Attach happens quick enough so there is no time to add an Observer, make it trigger/block and then delete it without unblocking it first.
Referenced from material in #3696. {frysk.proc.LinuxPtraceTask@2e43b60,pid=783,tid=785,state=Attached.WaitForUnblock} in state "Attached.WaitForUnblock" did not handle handleRemoval frysk.proc.State.unhandled(FryskGui) frysk.proc.TaskState.handleRemoval(FryskGui) frysk.proc.Task.performRemoval(FryskGui) frysk.proc.LinuxPtraceProc.sendRefresh(FryskGui) frysk.proc.LinuxPtraceHost.sendRefresh(FryskGui) frysk.proc.LinuxPtraceHostState$1.handleRefresh(FryskGui) frysk.proc.Host$1.execute(FryskGui) frysk.event.EventLoop.runEventLoop(FryskGui) frysk.event.EventLoop.run(FryskGui) frysk.gui.Gui$3.run(FryskGui) java.lang.Thread.run(libgcj.so.7rh)
Just got another one, slightly different: {frysk.proc.LinuxPtraceTask@3967ceb5,pid=26079,tid=26079,state=blockedContinue} in state "BlockedSignal" did not handle handleRemoval frysk.proc.State.unhandled(FryskGui) frysk.proc.TaskState.handleRemoval(FryskGui) frysk.proc.Task.performRemoval(FryskGui) frysk.proc.LinuxPtraceProc.sendRefresh(FryskGui) frysk.proc.LinuxPtraceHost.sendRefresh(FryskGui) frysk.proc.LinuxPtraceHostState$1.handleRefresh(FryskGui) frysk.proc.Host$1.execute(FryskGui) frysk.event.EventLoop.runEventLoop(FryskGui) frysk.event.EventLoop.run(FryskGui) frysk.gui.Gui$3.run(FryskGui) java.lang.Thread.run(libgcj.so.7rh)
Issue in comment #1 should have been fixed by: 2007-03-28 Mark Wielaard <mark@klomp.org> * LinuxPtraceTaskState.java (attaching): Add handleUnblock, handleAddObservation and handleDeleteObservation. (Attached): Add handleTerminatedEvent. The issue in comment #2 is something different and I'll have opened a new bug #4298 for it.