Page MenuHomeFreeBSD

Remove atf_tc_skip calls from ptrace_test
ClosedPublic

Authored by arichardson on Feb 23 2021, 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
rS FreeBSD src repository - subversion
Lint
Lint OK
Unit
No Unit Test Coverage
Build Status
Buildable 37302
Build 34191: arc lint + arc unit

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
4240

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
4240

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

tests/sys/kern/ptrace_test.c
4240

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
4240

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.Feb 26 2021, 2:19 PM