Bug 2732

Summary: frysk fails when attaching to a proc that does a lot of forking.
Product: frysk Reporter: Chris Moller <cmoller>
Component: generalAssignee: Unassigned <frysk-bugzilla>
Status: NEW ---    
Severity: critical    
Priority: P2    
Version: unspecified   
Target Milestone: ---   
Host: Target:
Build: Last reconfirmed:
Bug Depends on:    
Bug Blocks: 1553    

Description Chris Moller 2006-06-07 17:26:42 UTC
1. Start forker in infinite loop mode (a new capability since the initial
forker.c I sent out last night).
2. Select the parent forker proc in druid.
3. Check the fork, task terminating, and exit notification observers.
4. Press finish.
5. "Frusk Core Errors" window appears:
Frysk Core has reported the following errors

{frysk.proc.LinuxProc@1245050,pid=18824,state=Attaching.ToMainTask} in state
"Attaching.ToMainTask" did not handle handleTaskDetachCompleted

frysk.proc.State.unhandled(FryskGui)
frysk.proc.ProcState.handleTaskDetachCompleted(FryskGui)
frysk.proc.Proc$4.execute(FryskGui)
frysk.event.EventLoop.runEventLoop(FryskGui)
frysk.event.EventLoop.run(FryskGui)
frysk.gui.Gui$3.run(FryskGui)
java.lang.Thread.run(libgcj.so.7)
Comment 1 Nurdin Premji 2006-06-19 19:36:25 UTC
Has changed to:

Failed to add tasks observer

frysk.gui.monitor.SessionProcDataModel$1.addFailed(FryskGui)
frysk.proc.OffspringObserver$1.execute(FryskGui)
frysk.event.EventLoop.runEventLoop(FryskGui)
frysk.event.EventLoop.run(FryskGui)
frysk.gui.Gui$4.run(FryskGui)
java.lang.Thread.run(libgcj.so.7)

and a great deal of these:

{frysk.proc.LinuxTask@10d5d20,pid=6212,tid=6212,state=destroyed} in state
"destroyed" did not handle handleUnblock

frysk.proc.State.unhandled(FryskGui)
frysk.proc.TaskState.handleUnblock(FryskGui)
frysk.proc.Task$2.execute(FryskGui)
frysk.event.EventLoop.runEventLoop(FryskGui)
frysk.event.EventLoop.run(FryskGui)
frysk.gui.Gui$4.run(FryskGui)
frysk.gui.Gui$4.run(FryskGui)
java.lang.Thread.run(libgcj.so.7)

{frysk.proc.LinuxTask@10d5c60,pid=6213,tid=6213,state=destroyed} double state
transition

frysk.proc.Task.oldState(FryskGui)
frysk.proc.Task$2.execute(FryskGui)
frysk.event.EventLoop.runEventLoop(FryskGui)
frysk.event.EventLoop.run(FryskGui)
frysk.gui.Gui$4.run(FryskGui)
frysk.gui.Gui$4.run(FryskGui)
frysk.gui.Gui$4.run(FryskGui)
frysk.gui.Gui$4.run(FryskGui)
java.lang.Thread.run(libgcj.so.7)
Comment 2 Mark Wielaard 2007-02-02 13:18:10 UTC
Seems to work fine here. But note that I didn't know what arguments to give
forker and that there isn't an exit notification observer anymore in the gui.
Running it with "./forker 0 24" and selecting the Terminating and Fork observers
gives lots of events.