Bug 3910 - Under 2.6.18-1.3002.el5 ProcBlockAction stalls (forever) with a proc object that has had assertSendStop() called
Summary: Under 2.6.18-1.3002.el5 ProcBlockAction stalls (forever) with a proc object t...
Status: NEW
Alias: None
Product: frysk
Classification: Unclassified
Component: general (show other bugs)
Version: unspecified
: P2 normal
Target Milestone: ---
Assignee: Unassigned
URL:
Keywords:
Depends on:
Blocks:
 
Reported: 2007-01-23 22:43 UTC by Phil Muldoon
Modified: 2007-01-29 15:45 UTC (History)
1 user (show)

See Also:
Host:
Target:
Build:
Last reconfirmed:


Attachments
Core event log (1.11 KB, text/plain)
2007-01-25 22:25 UTC, Phil Muldoon
Details

Note You need to log in before you can comment on or make changes to this bug.
Description Phil Muldoon 2007-01-23 22:43:45 UTC
Basically

...
...
// Get a Proc
    AckProcess ackProc = new DetachedAckProcess();
    ackProc.assertSendStop();

...
...

In a class that extends ProcBlockAction, the constructor is called, but the the
overriden existingTask() method never gets called. It seems hang somewere. 

Like

Class Foo extends ProcBlockAction

public Foo(Proc proc)
{
   super(proc)
   ..
   // do constructor stuff
   ..
}

public void existingTask (Task task)
{
...
// This never gets called. No tasks are collected?
}

Apologies at the lack of initial data, just wanted to get the bug filed, and add
data later
Comment 1 Phil Muldoon 2007-01-25 22:21:42 UTC
Adding logs and run scenario:

TestRunner --timeout 5 -log frysk=FINE frysk.util.TestFCore.testCoreFileCreated

Running testCoreFileCreated(frysk.util.TestFCore) ...23254.23254:
argv[0]=/home/pmuldoon/frysk_bin/frysk-core/frysk/pkglibdir/funit-child
23254.23254: argv[1]=--wait=suspend
23254.23254: argv[2]=10
23254.23254: argv[3]=23252
23254.23254: starting 23254
23254.23254: new thread 23254.23254
23254.23254: notify 23252 with 10 (User defined signal 1) -- new thread 23254.23254

FAIL
  junit.framework.AssertionFailedError: event loop run explictly stopped
(Running event loop for core file)

Time: 25.015

There was 1 failure:
1)
testCoreFileCreated(frysk.util.TestFCore)junit.framework.AssertionFailedError:
event loop run explictly stopped (Running event loop for core file)
   at frysk.proc.TestLib.assertRunUntilStop(TestRunner)
   at frysk.proc.TestLib.assertRunUntilStop(TestRunner)
   at frysk.util.TestFCore.constructCore(TestRunner)
   at frysk.util.TestFCore.testCoreFileCreated(TestRunner)
   at frysk.junit.Runner.runCases(TestRunner)
   at frysk.junit.Runner.runArchCases(TestRunner)
   at frysk.junit.Runner.runTestCases(TestRunner)
   at TestRunner.main(TestRunner)

FAILURES!!!
Tests run: 1,  Failures: 1,  Errors: 0
Comment 2 Phil Muldoon 2007-01-25 22:25:05 UTC
Created attachment 1522 [details]
Core event log
Comment 3 Andrew Cagney 2007-01-26 22:51:06 UTC
{frysk.proc.LinuxPtraceTask@1dcf50,pid=23254,tid=23254,state=detached} handleAttach
{frysk.proc.LinuxPtraceTask@1dcf50,pid=23254,tid=23254,state=detached} sendAttach
{frysk.proc.LinuxPtraceProc@172140,pid=23254,oldState=Attaching.ToMainTask}
handleAddObservation
{frysk.proc.LinuxPtraceHost$PollWaitOnSigChld@1a6ab0,sig=Sig_CHLD} execute
frysk.sys.Wait pid 0 errno 0 (Success)
{frysk.proc.LinuxPtraceHost$PollWaitOnSigChld@1a6ab0,sig=Sig_CHLD} execute
frysk.sys.Wait pid 0 errno 0 (Success)

This is an attempt at starting an attatch.  sendAttach==ptrace(PT_ATTACH), then
it gets two SIGCHLD's but waitpid returns zip on both occasions.

Is this a child process or daemon process - might affect things.
Comment 4 Phil Muldoon 2007-01-29 15:45:40 UTC
The child is started with DetachedAckProcess().