-
Notifications
You must be signed in to change notification settings - Fork 4.2k
New issue
Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? Sign in to your account
Test/CI builds (intermittently) failing on field, possibly weary tests (unrelated to pull requests) #46256
Comments
Also #45760 |
Thanks! I've put it in the list. |
This may be alleviated a bit by #46272 |
That could help with the general build matrix; I suspect the only ones needed to check for this sort of error are ones that could alter arithmetic optimization (e.g., roundoff). The tests in question do need to be run (AFAIU) when there are JSON changes, since a lot of what they're checking for uses values from JSON files. |
@int-ua: Is further work needed on that? |
Not sure. Can it ignore more than
? |
I suspect utilities/** also, unless they're running tests of creating/redoing tilesets. Do any of them build the doxygen documentation? If not, doxygen_doc can be ignored. Ditto for object_creator and msvc-object_creator. If android is only tested via the appveyor builds, then that directory could be ignored. They don't seem to currently be building on OSX, so build-data/osx should be ignorable. The matrix could be split between non-cmake and cmake, and between non-tiles and tiles; not sure if it would be worth the extra complexity to be able to ignore CMakeModules and CMakeLists.txt for the former, or gfx (plus not fetching libsdl2-dev libsdl2-ttf-dev libsdl2-image-dev libsdl2-mixer-dev) for the latter. |
You have more insight into that matrix, will you implement the suggested changes? |
I can do the first paragraph, and mention the second paragraph in the PR. |
I've just added to the initial part the observation that the "weary" test failure is very consistent in terms of numbers - 520 instead of the expected 550. Anyone have any idea why? @anothersimulacrum? @I-am-Erk? |
I am not sure why the weariness recovery is quicker in that test but it might be reasonable to add an acceptable deviation to those tests, like ±10% or something |
It is actually possible that 520 is the correct value, not 550; see #46384. (More specifically, the 550 value appears to involve (more) fluctuations in the weary level that really shouldn't be there...) |
|
Thanks! Have put in. |
Intermittent errors in weary tests (see CleverRaven#46256) are hard to debug without more information. While this information has been expanded in CleverRaven#46473, this does not give enough examples, nor is it able to tell what in "normal" builds is causing intermittent weary test problems.
Regarding the flaky fields test. It's filling the whole z-level in acid and waiting "half-life" time (only 2 minutes for acid) to ensure that approximately half of the acid fields had decayed. The problem is that the Our only options here are to try and reduce the variance:
Another option would be to seed the rng for the decay process, but I don't think it's a good solution. |
I am going to close this issue, I think; hopefully the two patches (by @anothersimulacrum and @Aivean; thanks very much!) have reduced these down to a tolerable level (or possibly even eliminated them, in the case of the weary tests). Anything further on weary tests will likely be on #46384 (or others as appropriate). Thanks everyone! |
Describe the bug
Travis and/or general build-matrix builds for unrelated pull requests are intermittently (?) failing on the weary and/or fields test, with variations on under which compiler/etc combination is involved:
Note: 520 instead of 550 is quite consistent.
And another seen multiple times:
Steps To Reproduce
(I have commented out old Weary cases since some may be fixed by #46906.) Already reproduced multiple times (commit tags given to find the right one in multi-commit PRs; generated links are not consistently related):
Expected behavior
Consistent test results when no change was made to C++ code or JSON files drawn upon.
Additional context
Ping: @kevingranade (fields test)
The text was updated successfully, but these errors were encountered: