Bug 5321 - ltrace test failures
Summary: ltrace test failures
Status: RESOLVED FIXED
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-11-13 16:02 UTC by Sami Wagiaalla
Modified: 2008-01-28 02:27 UTC (History)
0 users

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


Attachments

Note You need to log in before you can comment on or make changes to this bug.
Description Sami Wagiaalla 2007-11-13 16:02:10 UTC
the following test are failing for me on f7 x86_64

1) testAllLibrariesGetDetected(frysk.ftrace.TestLtrace)
2) testCallRecorded(frysk.ftrace.TestLtrace)
3) testArgumentsCorrect1(frysk.ftrace.TestLtrace)

Full stack traces:

1) testAllLibrariesGetDetected(frysk.ftrace.TestLtrace)ptrace: Input/output
error (op 0x2 (PTRACE_PEEKDATA), pid 17948, addr 0x3a80e278d0, data 0x0)
   at frysk.sys.Ptrace$AddressSpace.peek(TestRunner)
   at frysk.proc.live.AddressSpaceByteBuffer$PeekRequest.request(TestRunner)
   at frysk.proc.live.AddressSpaceByteBuffer.peek(TestRunner)
   at inua.eio.ByteBuffer.getByte(TestRunner)
   at frysk.proc.IA32InstructionParser.parse(TestRunner)
   at frysk.proc.X8664InstructionParser.parse(TestRunner)
   at frysk.proc.IsaX8664.getInstruction(TestRunner)
   at frysk.proc.Breakpoint.set(TestRunner)
   at frysk.proc.Breakpoint.install(TestRunner)
   at frysk.proc.Proc$BreakpointAction.run(TestRunner)
   at frysk.proc.TaskObservation.add(TestRunner)
   at frysk.proc.live.LinuxTaskState$Running.handleStoppedEvent(TestRunner)
   at frysk.proc.live.LinuxTask.processStoppedEvent(TestRunner)
   at frysk.proc.live.LinuxWaitBuilder.stopped(TestRunner)
   at frysk.sys.Wait.wait(TestRunner)
   at frysk.sys.Wait.waitAll(TestRunner)
   at frysk.event.WaitEventLoop.block(TestRunner)
   at frysk.event.EventLoop.runEventLoop(TestRunner)
   at frysk.event.EventLoop.run(TestRunner)
   at frysk.ftrace.Ltrace.trace(TestRunner)
   at frysk.ftrace.TestLtrace.testAllLibrariesGetDetected(TestRunner)
   at frysk.junit.Runner.runCases(TestRunner)
   at frysk.junit.Runner.runArchCases(TestRunner)
   at frysk.junit.Runner.runTestCases(TestRunner)
   at TestRunner.main(TestRunner)
2) testCallRecorded(frysk.ftrace.TestLtrace)ptrace: Input/output error (op 0x2
(PTRACE_PEEKDATA), pid 17949, addr 0x3a80e278d0, data 0x0)
   at frysk.sys.Ptrace$AddressSpace.peek(TestRunner)
   at frysk.proc.live.AddressSpaceByteBuffer$PeekRequest.request(TestRunner)
   at frysk.proc.live.AddressSpaceByteBuffer.peek(TestRunner)
   at inua.eio.ByteBuffer.getByte(TestRunner)
   at frysk.proc.IA32InstructionParser.parse(TestRunner)
   at frysk.proc.X8664InstructionParser.parse(TestRunner)
   at frysk.proc.IsaX8664.getInstruction(TestRunner)
   at frysk.proc.Breakpoint.set(TestRunner)
   at frysk.proc.Breakpoint.install(TestRunner)
   at frysk.proc.Proc$BreakpointAction.run(TestRunner)
   at frysk.proc.TaskObservation.add(TestRunner)
   at frysk.proc.live.LinuxTaskState$Running.handleStoppedEvent(TestRunner)
   at frysk.proc.live.LinuxTask.processStoppedEvent(TestRunner)
   at frysk.proc.live.LinuxWaitBuilder.stopped(TestRunner)
   at frysk.sys.Wait.wait(TestRunner)
   at frysk.sys.Wait.waitAll(TestRunner)
   at frysk.event.WaitEventLoop.block(TestRunner)
   at frysk.event.EventLoop.runEventLoop(TestRunner)
   at frysk.event.EventLoop.run(TestRunner)
   at frysk.ftrace.Ltrace.trace(TestRunner)
   at frysk.ftrace.TestLtrace.testCallRecorded(TestRunner)
   at frysk.junit.Runner.runCases(TestRunner)
   at frysk.junit.Runner.runArchCases(TestRunner)
   at frysk.junit.Runner.runTestCases(TestRunner)
   at TestRunner.main(TestRunner)
3) testArgumentsCorrect1(frysk.ftrace.TestLtrace)ptrace: Input/output error (op
0x2 (PTRACE_PEEKDATA), pid 17950, addr 0x3a80e278d0, data 0x0)
   at frysk.sys.Ptrace$AddressSpace.peek(TestRunner)
   at frysk.proc.live.AddressSpaceByteBuffer$PeekRequest.request(TestRunner)
   at frysk.proc.live.AddressSpaceByteBuffer.peek(TestRunner)
   at inua.eio.ByteBuffer.getByte(TestRunner)
   at frysk.proc.IA32InstructionParser.parse(TestRunner)
   at frysk.proc.X8664InstructionParser.parse(TestRunner)
   at frysk.proc.IsaX8664.getInstruction(TestRunner)
   at frysk.proc.Breakpoint.set(TestRunner)
   at frysk.proc.Breakpoint.install(TestRunner)
   at frysk.proc.Proc$BreakpointAction.run(TestRunner)
   at frysk.proc.TaskObservation.add(TestRunner)
   at frysk.proc.live.LinuxTaskState$Running.handleStoppedEvent(TestRunner)
   at frysk.proc.live.LinuxTask.processStoppedEvent(TestRunner)
   at frysk.proc.live.LinuxWaitBuilder.stopped(TestRunner)
   at frysk.sys.Wait.wait(TestRunner)
   at frysk.sys.Wait.waitAll(TestRunner)
   at frysk.event.WaitEventLoop.block(TestRunner)
   at frysk.event.EventLoop.runEventLoop(TestRunner)
   at frysk.event.EventLoop.run(TestRunner)
   at frysk.ftrace.Ltrace.trace(TestRunner)
   at frysk.ftrace.TestLtrace.testArgumentsCorrect1(TestRunner)
   at frysk.junit.Runner.runCases(TestRunner)
   at frysk.junit.Runner.runArchCases(TestRunner)
   at frysk.junit.Runner.runTestCases(TestRunner)
   at TestRunner.main(TestRunner)
Comment 1 Petr Machata 2007-11-13 20:12:19 UTC
The problem is that on x8664, some binaries are mapped non-continually, e.g.:
34c3a00000-34c3a1b000 r-xp 00000000 08:01 3068168 /lib64/ld-2.7.so
34c3c1a000-34c3c1b000 r--p 0001a000 08:01 3068168 /lib64/ld-2.7.so
34c3c1b000-34c3c1c000 rw-p 0001b000 08:01 3068168 /lib64/ld-2.7.so

I'll have to revamp mapping reporter a bit.
Comment 2 Petr Machata 2007-11-15 15:29:02 UTC
Fixed in e60eaf6b29b3ca49957843adc7e69f898f0f1a43.