Bug 2783 - java.lang.RuntimeException: ptrace.PEEK: No such process
Summary: java.lang.RuntimeException: ptrace.PEEK: No such process
Status: VERIFIED FIXED
Alias: None
Product: frysk
Classification: Unclassified
Component: general (show other bugs)
Version: unspecified
: P2 normal
Target Milestone: ---
Assignee: Mike Cvet
URL:
Keywords:
Depends on:
Blocks: 2595
  Show dependency treegraph
 
Reported: 2006-06-16 09:16 UTC by Yao Qi
Modified: 2006-06-19 21:17 UTC (History)
1 user (show)

See Also:
Host: x86-redhat-linux
Target: x86-redhat-linux
Build: x86-redhat-linux
Last reconfirmed:


Attachments

Note You need to log in before you can comment on or make changes to this bug.
Description Yao Qi 2006-06-16 09:16:06 UTC
Build cvs head and find the problem when run frysk.proc.TestI386Regs as follows,

[qiyao@GreenHouse frysk-core]$ LANGUAGE="en_US.UTF-8" ./TestRunner -l FINE
frysk.proc.TestI386Regs
Running testI386Regs(frysk.proc.TestI386Regs) ...17334.17334:
argv[0]=/home/qiyao/source/cvs/build-frysk/frysk-core/frysk/pkglibexecdir/funit-child
17334.17334: argv[1]=--wait=suspend
17334.17334: argv[2]=10
17334.17334: argv[3]=17332
17334.17334:
argv[4]=/home/qiyao/source/cvs/build-frysk/frysk-core/frysk/pkglibexecdir/funit-ia32-regs
17334.17334: starting 17334
17334.17334: new thread 17334.17334
17334.17334: notify 17332 with 10 (User defined signal 1) -- new thread 17334.17334
ERROR
  java.lang.RuntimeException: ptrace.PEEK: No such process (pid 17334 addr 0x2c)

Time: 0.088
There was 1 error:
1) testI386Regs(frysk.proc.TestI386Regs)java.lang.RuntimeException: ptrace.PEEK:
No such process (pid 17334 addr 0x2c)
   at inua.eio.PtraceByteBuffer.peek(TestRunner)
   at inua.eio.ByteBuffer.get(TestRunner)
   at frysk.proc.Register.get(TestRunner)
   at frysk.proc.LinuxIa32$1.number(TestRunner)
   at frysk.proc.Task.notifySyscallEnter(TestRunner)
   at frysk.proc.TaskState$SyscallRunning.handleSyscalledEvent(TestRunner)
   at frysk.proc.Task.processSyscalledEvent(TestRunner)
   at frysk.proc.LinuxHost$PollWaitOnSigChld$2.syscallEvent(TestRunner)
   at frysk.sys.Wait.waitAllNoHang(TestRunner)
   at frysk.proc.LinuxHost$PollWaitOnSigChld.execute(TestRunner)
   at frysk.event.EventLoop.runEventLoop(TestRunner)
   at frysk.event.EventLoop.runPolling(TestRunner)
   at frysk.proc.TestLib.assertRunUntilStop(TestRunner)
   at frysk.proc.TestLib.assertRunUntilStop(TestRunner)
   at frysk.proc.TestLib$AttachedDaemonProcess.<init>(TestRunner)
   at frysk.proc.TestI386Regs.testI386Regs(TestRunner)
   at frysk.junit.Runner.<init>(TestRunner)
   at TestRunner.main(TestRunner)

FAILURES!!!
Tests run: 1,  Failures: 0,  Errors: 1
Comment 1 Mike Cvet 2006-06-16 22:35:29 UTC
Fixed in CVS.
Comment 2 Yao Qi 2006-06-18 03:57:02 UTC
Verify this bug after update my working copy from CVS and re-build frysk,


[qiyao@GreenHouse frysk-core]$ LANGUAGE="en_US.UTF-8" ./TestRunner -l FINE
frysk.proc.TestI386Regs
Running testI386Regs(frysk.proc.TestI386Regs) ...19202.19202:
argv[0]=/home/qiyao/source/cvs/build-frysk/frysk-core/frysk/pkglibexecdir/funit-child
19202.19202: argv[1]=--wait=suspend
19202.19202: argv[2]=10
19202.19202: argv[3]=19200
19202.19202:
argv[4]=/home/qiyao/source/cvs/build-frysk/frysk-core/frysk/pkglibexecdir/funit-ia32-regs
19202.19202: starting 19202
19202.19202: new thread 19202.19202
19202.19202: notify 19200 with 10 (User defined signal 1) -- new thread 19202.19202
19202.19202: received signal 30 (Power failure)
19202.19202: exec
19202.19202: execing
/home/qiyao/source/cvs/build-frysk/frysk-core/frysk/pkglibexecdir/funit-ia32-regs
argv[0]=/home/qiyao/source/cvs/build-frysk/frysk-core/frysk/pkglibexecdir/funit-ia32-regs
...
SyscallEnter
PASS

Time: 0.172

OK (1 test)

Comment 3 Mike Cvet 2006-06-19 21:17:38 UTC
Log message:
        2006-06-16  Mike Cvet  <mcvet@redhat.com>
        
        * PtraceByteBuffer.java: Moved over to frysk/sys.
        * PtraceByteBuffer.cxx: Moved over to frysk/sys/cni; fixes to use the new
        ptrace thread implementation - fixes #2783.
        * funit-threadexit.c: Removed race condition.
        * TestTaskTerminatedObserver.java: TestTerm now stops when the task dies
        as opposed to timing out.
        * TestLib.Java: Added print statement if event loop is not stopped.
        * Ptrace.java: Added methods for peek() and poke().
        * Ptrace.cxx: Added methods for peek() and poke().
        * Makefile.am: Builds with headers from inua.