Page MenuHomeFreeBSD

Remove atf_tc_skip calls from ptrace_test

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



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

rG FreeBSD src repository
Automatic diff as part of commit; lint not applicable.
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.


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.


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


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. :(


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