This is the mail archive of the 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]

Re: testExecSyscall mystery


On Thu, 2006-09-21 at 15:57 +0200, Mark Wielaard wrote:
> 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.

Tim said he is also seeing this failure. But I have not gotten much
further with it. It seems it is a combination of issues. It seems the
state machine can be just plain confused and start tracing syscalls with
a syscall event indicating exit, which it interprets as an enter. And I
do seem to get a execve syscall event, an execed event and then an
execve syscall event again. While we assume execve doesn't return so we
shouldn't get the second execve syscall event.

I am going to focus on something else for now since my head is spinning
and I am not making any real progress. If someone else is seeing the
above failure and want to take a peek please do. This is now



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