SQLite: keep recursive tests within WebAssembly stack limits#780
Closed
brandonpayton wants to merge 1 commit into
Closed
Conversation
Phase B-1 matrix build status —
|
| Package | Arch | Status | Sha |
|---|---|---|---|
| sqlite | wasm32 | built | 23cc95a3 |
| sqlite | wasm64 | built | a28e2b8d |
| php | wasm32 | built | 746a8d1d |
| lamp | wasm32 | built | 44a36f42 |
| wordpress | wasm32 | built | a131224a |
Auto-generated; replaced on each push. Raw data in the publish-status workflow artifact.
Member
Author
|
Recording the current head before reconstruction: |
3828f36 to
4b04ff3
Compare
This was referenced Jul 13, 2026
Member
Author
|
Closing this focused source PR because its unique SQLite WebAssembly recursion-limit work is now carried by #934 at exact green head |
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.
What this does
#907 already landed the mmap/munmap fixes and the related Vitest regression coverage. This PR does not replay any of that work.
The remaining SQLite work is narrower:
testfixturewith the same WebAssembly-safe compound-select, expression, and JSON depth limits;testfixturea 1 MiB shadow stack;What was removed
This reconstruction is directly on current
main, without #769 or #889 ancestry. It deliberately drops the mmap/runtime work already in #907, the blanketno_mutex_tryskips, the old 2 GiB maximum-memory workaround, and the broad SQLite result-harvesting changes that belong in the later harness PR. Twomisc5cases and fourmisc1assertions that pass at the configured limit are kept instead of being hidden as omissions.ABI and package artifacts
There is no kernel/host ABI change; ABI 39 and the committed snapshot stay unchanged. The shipped SQLite bytes do change because its compile-time limits change, so
build.tomlmoves from revision 2 to revision 3. The locally builttestfixturealso changes. No other package revision is touched.Validation run
All commands were run through
scripts/dev-shell.sh.testfixture;misc537 pass / 2 documented omissions,misc188 pass / 6 omissions,json101278 pass, andrandexpr12,578 pass / 23 omissions;MAX_COMPOUND_SELECT=50,MAX_EXPR_DEPTH=100,JSON_MAX_DEPTH=100, andCOLUMN_METADATA=1;git diff --check, shell syntax checks, and the ABI snapshot/version check passed.The full official SQLite permutation was attempted, but current
main's harness could not launch its generatedshjobs, so it did not provide a valid full-suite result. That harness work is being kept in the focused #783 follow-up. Full libc, POSIX, Sortix, Firefox, and WebKit suites were not run for this package-only slice. Performance was not measured and this PR makes no performance claim.