Repository navigation
test(stateful): bound how far append grows an axis in the array lifecycle test - #4470
Merged
Merged
Conversation
…ycle test `append` could add up to 4 rows every step with no upper bound, so over the nightly profile's 100 steps an array with chunks of 1 reached tens of thousands of chunks and each `matches_model` read took seconds. The 500 nightly examples together exceeded pytest's 600s faulthandler_timeout (563s on the last green nightly, killed on 2026-10-03). Cap appended extents at 2 * MAX_SIDE. Assisted-by: ClaudeCode:claude-opus-5-5 Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
d-v-b
marked this pull request as ready for review
October 3, 2026 09:10
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.
🤖 AI text below 🤖
The array lifecycle stateful test now caps the extent
appendcan grow an axis to (2 * MAX_SIDE), asresizealready was. This keeps the nightly Slow Hypothesis run under pytest's 600sfaulthandler_timeout, which killed it on 2026-10-03.Fixes #4467.
Cause.
faulthandler_timeoutapplies toTestArrayLifecycle::runTestas a whole, i.e. all 500 nightly examples.appenddrew 0-4 rows per step with no bound, so over 100 steps an array with chunks of 1 grew to roughly 28×38×34 (~36k chunks), and eachmatches_modelfull read took up to ~4s. The last green nightly already ran this test for 563s; the failing one was killed at 600s while blocked inget_basic_selectionfrommatches_model. The two commits between those nightlies (#4377, #4375) are not the cause: every slow read the agent logged was on a regular grid.Verification. With the cap, the test under
HYPOTHESIS_PROFILE=nightlytook 155-191s locally (4 seeds in parallel, no coverage), and every trackedevent()still fires, including "append to a zero-length axis" and "grow an axis stored with chunk size 0". The agent also dispatched the Slow Hypothesis workflow (nightly profile) on the fork branch; run 37108576374.No changelog fragment: test-only change.
🤖 Generated with Claude Code