Bug 1849

Summary: detaching a task that was cloning
Product: frysk Reporter: Andrew Cagney <cagney>
Component: generalAssignee: Andrew Cagney <cagney>
Status: RESOLVED FIXED    
Severity: normal    
Priority: P1    
Version: unspecified   
Target Milestone: ---   
Host: Target:
Build: Last reconfirmed:
Bug Depends on:    
Bug Blocks: 1553, 1857    

Description Andrew Cagney 2005-11-11 05:05:59 UTC
when attempting a detach, a cloned event appears:


1)
testAttachDetachRapidlyCloningMainTask(frysk.proc.TestTaskAttachedObserver)java.lang.RuntimeException:
Linux{frysk.proc.LinuxTask@d704b0,id={TaskId,31812},proc={frysk.proc.LinuxProc@9b5ea8,id={ProcId,30713},state=DetachingAllTasks},state=detaching}
in state "detaching" did not handle PerformCloned
   at frysk.proc.State.unhandled(java.lang.Object, java.lang.String)
(/home/scratch/frysk/threads/frysk/frysk-core/frysk/proc/State.java:70)
   at frysk.proc.TaskState.processPerformCloned(frysk.proc.Task,
frysk.proc.Task)
(/home/scratch/frysk/threads/frysk/frysk-core/frysk/proc/TaskState.java:141)
   at frysk.proc.Task$9.execute()
(/home/scratch/frysk/threads/frysk/frysk-core/frysk/proc/Task.java:293)
   at frysk.event.EventLoop.runEventLoop(boolean)
(/home/scratch/frysk/threads/frysk/frysk-core/frysk/event/EventLoop.java:327)
   at frysk.event.EventLoop.runPolling(long)
(/home/scratch/frysk/threads/frysk/frysk-core/frysk/event/EventLoop.java:412)
   at frysk.proc.TestLib.assertRunUntilStop(java.lang.String)
(/home/scratch/frysk/threads/frysk/frysk-core/frysk/proc/TestLib.java:75)
   at frysk.proc.TestTaskAttachedObserver.detach(frysk.proc.Task[],
frysk.proc.TestTaskAttachedObserver$AttachedObserver)
(/home/scratch/frysk/threads/frysk/frysk-core/frysk/proc/TestTaskAttachedObserver.java:162)
   at
frysk.proc.TestTaskAttachedObserver.testAttachDetachRapidlyCloningMainTask()
(/home/scratch/frysk/threads/frysk/frysk-core/frysk/proc/TestTaskAttachedObserver.java:477)
   at TestRunner.main(java.lang.String[])
(/home/scratch/frysk/threads/native/frysk-core/TestRunner.java:108)
   at gnu.java.lang.MainThread.call_main() (/usr/lib/libgcj.so.6.0.0)
   at gnu.java.lang.MainThread.run() (/usr/lib/libgcj.so.6.0.0)
Comment 1 Andrew Cagney 2005-11-21 05:35:11 UTC
Index: frysk-core/frysk/proc/ChangeLog
2005-11-21  Andrew Cagney  <cagney@redhat.com>

        * TaskState.java: In .detaching state, handle PerformForked,
        PerformCloned, PerformExeced, PerformSignaled.
        * TestTaskObserverDetach.java: New file.