Skip to content

Comments

[ty] Re-enable fuzzer seeds that are no longer slow#20937

Merged
AlexWaygood merged 1 commit intomainfrom
alex/fast-fuzzer
Oct 17, 2025
Merged

[ty] Re-enable fuzzer seeds that are no longer slow#20937
AlexWaygood merged 1 commit intomainfrom
alex/fast-fuzzer

Conversation

@AlexWaygood
Copy link
Member

Summary

And set a much smaller timeout so that it becomes obvious if any seeds become pathologically slow again

Test Plan

CI on this PR

@AlexWaygood AlexWaygood added ty Multi-file analysis & type inference ci Related to internal CI tooling labels Oct 17, 2025
Comment on lines -155 to -157
# TODO debug slowness of these seeds
skip_check = seed in {32, 56, 208}

Copy link
Member

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Nice, so we're back to that one failing seed (that panics)

Copy link
Member Author

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Hopefully...!

@AlexWaygood AlexWaygood marked this pull request as ready for review October 17, 2025 11:29
@AlexWaygood AlexWaygood merged commit baaa8da into main Oct 17, 2025
39 checks passed
@AlexWaygood AlexWaygood deleted the alex/fast-fuzzer branch October 17, 2025 11:29
@github-actions
Copy link
Contributor

ruff-ecosystem results

Linter (stable)

✅ ecosystem check detected no linter changes.

Linter (preview)

✅ ecosystem check detected no linter changes.

Formatter (stable)

✅ ecosystem check detected no format changes.

Formatter (preview)

✅ ecosystem check detected no format changes.

AlexWaygood added a commit that referenced this pull request Nov 2, 2025
In #20937, we reduced this from 20 to 5, so that it would become obvious if ty was now taking a pathological amount of time to type-check a given seed. 5 minutes is easily long enough if there are no new bugs, but it turns out to be too low if there _are_ new bugs, because on encountering a new bug the fuzzer must repeatedly run ty on a smaller and smaller snippet in order to try to minimize the reproducible example. That means that the fuzzer job is timing out on #20962, not because of pathological performance issues but because we're not giving the script enough time to minimize the bugs that it's found.

Hopefully 10 should be a good compromise where it still becomes obvious if we introduce pathological performance issues on certain fuzzer seeds, but we give the fuzzer enough time to minimize examples when it finds new bugs.

A better solution to find new pathological performance issues on fuzzer seeds might be to just compare the execution time between the baseline-executable run on a given seed and the test-executable run on the same seed. This is just a quick-and-easy fix for now.
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

ci Related to internal CI tooling ty Multi-file analysis & type inference

Projects

None yet

Development

Successfully merging this pull request may close these issues.

2 participants