ci: Fix failing render-microfacet.opt test #2048
Merged
Add this suggestion to a batch that can be applied as a single commit.
This suggestion is invalid because no changes were made to the code.
Suggestions cannot be applied while the pull request is closed.
Suggestions cannot be applied while viewing a subset of changes.
Only one suggestion per line can be applied in a batch.
Add this suggestion to a batch that can be applied as a single commit.
Applying suggestions on deleted lines is not supported.
You must change the existing code in this line in order to create a valid suggestion.
Outdated suggestions cannot be applied.
This suggestion has been applied or marked resolved.
Suggestions cannot be applied from pending reviews.
Suggestions cannot be applied on multi-line comments.
Suggestions cannot be applied while the pull request is queued to merge.
Suggestion cannot be applied right now. Please check back later.
This test started failing sporadically recently, with output images that looked plausible, but differed slightly from the rest of the checked-in reference images for this test. It only failed maybe 5% of the time, so sometimes a CI run would pass, or sometimes fail just one job variation, or very occasional two. Rerunning the failed job would generally succeed, but sometimes fail again.
I'll cut to the chase: We were able to trace it to all failures happening on GitHub runners that identified themselves as "Intel(R) Xeon(R) Platinum 8370C CPU @ 2.80GHz". When subsequent runs of the same job variation succeded, it was always because it landed on a runner that identified itself as "AMD EPYC 7763 64-Core Processor".
We presume that some minor HW or SW differences (perhaps in a library with an ISA-specific code path) resulted in LSB errors that conspire to sample different light paths on a minority of pixels, leading to a different pattern of specular "fireflies".
The expedient fix herein is simply to commit yet another reference image that is considered to be a "pass".
Along for the ride, discovered during my debugging: