CI: force software rendering to fix flaky VTK off-screen bus error (#1078)#1084
Open
wuisabel-gif wants to merge 1 commit into
Open
CI: force software rendering to fix flaky VTK off-screen bus error (#1078)#1084wuisabel-gif wants to merge 1 commit into
wuisabel-gif wants to merge 1 commit into
Conversation
Author
|
Could a maintainer approve the workflow run on this PR when you get a chance? Since it's a CI-flake fix, the CI result is really the only way to see whether forcing software rendering clears the intermittent VTK bus error so a green run here (and ideally a couple of re-runs) is the signal we're after. No library code is touched, only the two test-workflow env blocks. Thanks! |
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment
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.
Pull request type
Checklist
yaml.safe_load)CHANGELOG.md— n/a per the changelog's own "should not be here: github maintenance"Current behavior
tests/integration/test_plots.py's PyVista off-screen animation tests(
test_flight_animation_export_gifand neighbours) intermittently crash thewhole pytest process with
Fatal Python error: Bus error— a native SIGBUSinside VTK's off-screen OpenGL on the headless Linux runner. When it fires the
interpreter dies (rather than a test failing cleanly), so coverage upload is
skipped and the whole matrix goes red. It also hits
developdirectly. This is #1078.New behavior
Forces Mesa software rendering on the test jobs by setting
LIBGL_ALWAYS_SOFTWARE=1andGALLIUM_DRIVER=llvmpipe. Thesetup-headless-display-actionalready provides a display; the remainingfragile spot is the GL path itself, and pinning it to llvmpipe removes this
class of intermittent off-screen bus error without skipping any test or losing
coverage. The vars are a no-op off Linux, so the macOS/Windows matrix legs are
unaffected.
Why not the alternatives (from the issue)
pytest-rerunfailuresalone can't help — a SIGBUS kills the interpreter,so there's nothing left to rerun.
pytest-forkedwould isolate the crash but needsos.fork, and thematrix includes
windows-latest.Software rendering targets the root cause instead. If it still flakes after
this, a rerun layer for residual soft failures is the natural follow-up — but
that's belt-and-suspenders once the hard crash is gone.
Breaking change
Additional information
Being a CI flake, this can't be proven fixed from a single run — but forcing
llvmpipe is the standard, low-risk mitigation for VTK off-screen bus errors on
GitHub headless runners, and it changes nothing about the library or the tests.
Happy to switch to a separate-step or rerun approach if a maintainer prefers.
Closes #1078