Page MenuHomeFreeBSD

Remove atf_tc_skip calls from ptrace_test
ClosedPublic

Authored by arichardson on Tue, Feb 23, 12:40 PM.

Details

Summary

I've run this tests many times in a loop and it works reliably for me,
maybe it's time to retire these skips?
This also adds an additional waitpid to one of the tests to avoid
a potential race condition (suggested by markj@).

PR: 239397, 244056, 239425, 240510, 220841, 243605

Test Plan

works fine on QEMU.

Diff Detail

Repository
R10 FreeBSD src repository
Lint
Automatic diff as part of commit; lint not applicable.
Unit
Automatic diff as part of commit; unit tests not applicable.

Event Timeline

I believe we've seen cases where tests fail in CI but pass regularly when run locally; not sure if that's the case for these tests but if we do re-enable them in CI we will need to watch closely and be ready to disable them again.

I don't recall ever seeing these failures myself, so indeed, I suspect there's something particular to the CI environment that causes these tests to fail. I support re-enabling them to verify that that's the case though.

tests/sys/kern/ptrace_test.c
4222

This one does look like it could be flaky since there is no pipe() call to synchronized between parent and child, but otherwise they all seem like they shouldn't fail.

tests/sys/kern/ptrace_test.c
4222

You mean, the second child may attach before the first one has raised SIGSTOP?

tests/sys/kern/ptrace_test.c
4222

Yes, I think that could theoretically happen here.

I've never been able to reproduce the issues that CI previously reported for most of these. :(

tests/sys/kern/ptrace_test.c
4222

Shouldn't it be sufficient to add

waitpid(traced, &status, WSTOPPED);

before the fork() call?

arichardson marked 2 inline comments as done.

Add the suggested waitpid. All previously-skipped tests pass reliably for me.

This revision is now accepted and ready to land.Fri, Feb 26, 2:19 PM