This is the mail archive of the frysk@sources.redhat.com mailing list for the frysk project.


Index Nav: [Date Index] [Subject Index] [Author Index] [Thread Index]
Message Nav: [Date Prev] [Date Next] [Thread Prev] [Thread Next]
Other format: [Raw text]

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


Index Nav: [Date Index] [Subject Index] [Author Index] [Thread Index]
Message Nav: [Date Prev] [Date Next] [Thread Prev] [Thread Next]