This is an archive of the discontinued LLVM Phabricator instance.

More tolerance for flaky tests in libc++ on NetBSD
ClosedPublic

Authored by krytarowski on Dec 24 2018, 6:05 AM.

Details

Summary

Tests marked with the flaky attribute ("FLAKY_TEST.")
can still report false positives in local tests and on the
NetBSD buildbot.

Additionally a number of tests (probably all threaded
ones) unmarked with the flaky attribute is flaky on
NetBSD.

An ideal solution on the libcxx side would be to raise
max retries for NetBSD and mark failing tests with
the flaky flag, however this adds more maintenance
burden and constant monitoring of flaky tests.

Reduce the work and handle flaky tests as more flaky
on NetBSD and allow flakiness of other tests on
NetBSD.

Diff Detail

Repository
rCXX libc++

Event Timeline

krytarowski created this revision.Dec 24 2018, 6:05 AM

Ping? The bot keeps reporting crashes.

mgorny accepted this revision.Dec 30 2018, 12:41 AM

Let's do it.

This revision is now accepted and ready to land.Dec 30 2018, 12:41 AM
This revision was automatically updated to reflect the committed changes.

I think the tests pointed out by http://lab.llvm.org:8011/builders/lldb-amd64-ninja-netbsd8/builds/17863 are always flaky, not only on FreeBSD. Also, this commit will affect all tests that are marked as flaky, not only the ones that are failing in lldb-amd64-ninja-netbsd8. Instead, I would suggest either taking the time to fix the flaky tests, or always making the max retry equal to 9 for flaky test. I don't see a reason for tests marked as flaky not to have a higher retry count (speed shouldn't be a problem since it only affects flaky tests).

I think the tests pointed out by http://lab.llvm.org:8011/builders/lldb-amd64-ninja-netbsd8/builds/17863 are always flaky, not only on FreeBSD.

NetBSD, not FreeBSD.

Also, this commit will affect all tests that are marked as flaky, not only the ones that are failing in lldb-amd64-ninja-netbsd8. Instead, I would suggest either taking the time to fix the flaky tests, or always making the max retry equal to 9 for flaky test. I don't see a reason for tests marked as flaky not to have a higher retry count (speed shouldn't be a problem since it only affects flaky tests).

I've been testing the patch locally and after few tries I've identified a dozen of flaky tests that are not marked as flaky; and some flaky ones are still crashing within 3 attempts.

I cannot contribute time to keep tracing the buildbot results and keep marking each new flaky test with this flag 24/7. I needed a big hammer here to workaround the problem and move on.

The *3 logic is on purpose but it's a debatable whether it should be set to be always 9. The current state is good enough.

I would rather revert this, and fix the flaky tests. And if there are flaky tests that aren't marked flaky then we need to do that.

Please revert this change.

I would rather revert this, and fix the flaky tests. And if there are flaky tests that aren't marked flaky then we need to do that.

Do you volunteer to monitor the buildbot for flaky reports?

I'm going to revert it soon and see what happens. Please keep an eye on http://lab.llvm.org:8011/builders/lldb-amd64-ninja-netbsd8

I was receiving complains from other developers about flakiness.

Reverted in r350477.

EricWF added a comment.Jan 5 2019, 3:46 PM

I would rather revert this, and fix the flaky tests. And if there are flaky tests that aren't marked flaky then we need to do that.

Do you volunteer to monitor the buildbot for flaky reports?

I'm always watching the buildbots when I commit and when I see flaky tests I attempt to fix or improve them.

I want each flaky test documented with // FLAKY_TEST and we should always attempt to fix a flaky test before we adjust the test suite to tolerate it.
This patch make it much easier to write flaky tests without knowledge or documentation.

PS. If you're running into constant flakes in the threading tests, try passing --shuffle to prevent all the thread hungry tests from being run together.

EricWF added a comment.Jan 5 2019, 5:30 PM

Also, please report any flaky failures you see in llvm.org/PR40235 and I will fix them ASAP.

I'm going to revert it soon and see what happens. Please keep an eye on http://lab.llvm.org:8011/builders/lldb-amd64-ninja-netbsd8

I was receiving complains from other developers about flakiness.

Were the complaints about the lldb-amd64-ninja-netbsd8 bot specifically? Because if the tests are flaky on all NetBSD system, regardless of hardware and load, then we should find out why.
If it's just the one bot under load, we should target our fix to that.

I'm going to revert it soon and see what happens. Please keep an eye on http://lab.llvm.org:8011/builders/lldb-amd64-ninja-netbsd8

I was receiving complains from other developers about flakiness.

Were the complaints about the lldb-amd64-ninja-netbsd8 bot specifically? Because if the tests are flaky on all NetBSD system, regardless of hardware and load, then we should find out why.
If it's just the one bot under load, we should target our fix to that.

I got complains through private messages.

I will continue in Bugzilla.