This is the mail archive of the
frysk@sources.redhat.com
mailing list for the frysk project.
Updated LinuxX8664Syscall list and testExecSyscall mystery
- From: Mark Wielaard <mwielaar at redhat dot com>
- To: frysk at sourceware dot org
- Date: Thu, 21 Sep 2006 15:57:02 +0200
- Subject: Updated LinuxX8664Syscall list and testExecSyscall mystery
Hi,
I updated the LinuxX8664Syscall list and enabled the audit test for this
architecture.
2006-09-21 Mark Wielaard <mark@klomp.org>
* LinuxX8664Syscall.java (syscallList): Updated with audit results.
* TestSyscallsWithAudit.java (testLinuxEMT64): Enable test.
It would be nice if we could use libaudit for generating the syscall
lists at runtime. But it seems it doesn't give us the argument types.
I did this because I hoped it would help me debug a test failure I am
seeing:
1)testExecSyscall(frysk.proc.TestTaskSyscallObserver)junit.framework.AssertionFailedError: inSyscall
But why that suddenly fails is still a bit of a mystery. It used to pass
and I cannot see what recently changed that could make it fail. The
logic in TaskState seems flawed though. It assumes that when we get an
ptrace exec event then we must be running inside a syscall. We have a
couple of states for this special case. But according to my logs this is
wrong. At least now I do get syscall exec enter and exit events plus an
ptrace-exec-event.
I don't know why this worked before. I asked on irc and it seems nobody
else is seeing this failure. But if I rework the TaskState to not assume
an exec event means an insyscall state transition the test works for me.
I am going to clean up TaskState to not have any special exec-event
TaskStates (blockedInExecSyscall) unless someone knows of a reason for
keeping this.
Cheers,
Mark