Skip to content

Fix SQLite all-mode mmap regressions#770

Open
brandonpayton wants to merge 3 commits into
mainfrom
gascity/kd-cfo/kd-c5i.3-reproduce-node-wave37-mmap-sort-like-memory-oob-cluster
Open

Fix SQLite all-mode mmap regressions#770
brandonpayton wants to merge 3 commits into
mainfrom
gascity/kd-cfo/kd-c5i.3-reproduce-node-wave37-mmap-sort-like-memory-oob-cluster

Conversation

@brandonpayton

@brandonpayton brandonpayton commented Jun 25, 2026

Copy link
Copy Markdown
Member

Summary

This branch carries three related commits for the SQLite Tcl all audit:

  1. Parent audit harness prep: outcome-list/reporting support for SQLite official and project-unit runs.
  2. The kd-c5i.3 SQLite official all-mode mmap cluster fix.
  3. The kd-c5i.3.4 ABI gate follow-up: add the abi CI suite entry and document the dev-shell-wrapped ABI checker invocation.

The child fix:

  • Aligns pthread worker stacks to the Wasm C ABI 16-byte boundary before setting __stack_pointer.
  • Links the direct SQLite CLI with a 1 MiB wasm stack so recursive .read tests report SQLite's own input nesting limit instead of trapping.
  • Adds SQLite all-mode guest shell/path/platform shims for copied testrunner.tcl child jobs in Node and browser VFS runs.
  • Extends the pthread example regression to cover worker stack alignment and alignment-sensitive 64-bit varargs formatting.

Package Test Results

  • Baseline focused Node SQLite cluster: 1 pass, 2 fail, 0 skip, 1 incomplete; 266 completed cases, 9 case errors.
  • Final focused Node SQLite cluster: 4 pass, 0 fail, 0 skip, 0 incomplete; 288/288 cases passed, SQLite reported 0 errors.
  • Browser shell4 official selector: 1 pass, 0 fail, 0 skip, 0 incomplete; 22 cases, 0 errors.
  • Browser minimal pthread SQLite snprintf repro: 1 pass, 0 fail, 0 skip.
  • Browser official mmap sort2.test timed out and is tracked separately as kd-c5i.3.5.

Verification

  • cargo test -p kandelo --target aarch64-apple-darwin --lib: 959 passed, 0 failed, 0 skipped.
  • cd host && npx vitest run test/pthread.test.ts --reporter=json: 2 passed, 0 failed, 0 skipped.
  • cd host && npx vitest run --reporter=json: 695 passed, 39 failed, 126 not-run/skipped-or-pending; all failures are missing fork-instrument fixture binaries in host/test/fork-instrument-coverage.test.ts and tracked as kd-c5i.3.2.
  • scripts/run-posix-tests.sh: 174 pass, 0 fail, 2 skip unsupported, 3 xfail.
  • scripts/run-libc-tests.sh: exited 0 but selected 0 tests; tracked as kd-c5i.3.3.
  • bash scripts/dev-shell.sh bash scripts/ci-run-test-suite.sh abi: passed; ABI snapshot, libc/glue header, host TS bindings, and ABI_VERSION are in sync. The unsupported host-shell bash scripts/check-abi-version.sh stable-Cargo failure is classified and fixed for future agents by kd-c5i.3.4 docs/suite guidance.

Durable report and outcome-list paths are recorded on kd-c5i.3 and kd-c5i.3.4.

Align pthread worker stacks before entering wasm, increase the direct SQLite CLI stack for recursive .read tests, and make SQLite all-mode child jobs use the copied runner with guest shell/path/platform shims. Extend the pthread example test to cover worker stack alignment and varargs formatting.
@github-actions

github-actions Bot commented Jun 25, 2026

Copy link
Copy Markdown

Phase B-1 matrix build status — pr-770-staging

ABI v15. 52 built, 0 failed, 52 total.

Package Arch Status Sha
bc wasm32 built 3a78fb67
bzip2 wasm32 built 2ddc287d
coreutils wasm32 built 2a18f004
curl wasm32 built a1ab622d
dash wasm32 built a4ab83b1
diffutils wasm32 built 89790993
dinit wasm32 built b793ac0f
fbdoom wasm32 built d9296a33
file wasm32 built 6a1455c3
findutils wasm32 built 1237e4d0
gawk wasm32 built 57c5d5cf
git wasm32 built 7c88a387
grep wasm32 built 235ddcd5
gzip wasm32 built 481eb543
kandelo-sdk wasm32 built 18869e79
kernel wasm32 built 7f3002ad
less wasm32 built a4f09d75
lsof wasm32 built cbd163cd
m4 wasm32 built f0aff0d3
make wasm32 built 250d1d25
mariadb wasm32 built bccf7260
mariadb wasm64 built 3df390c0
modeset wasm32 built 703cfd80
msmtpd wasm32 built ec5df629
nano wasm32 built 1cea23a0
ncurses wasm32 built 8c54f1c2
netcat wasm32 built 361622f8
nginx wasm32 built d3f35370
php wasm32 built c81ee5be
posix-utils-lite wasm32 built 26ecd803
sed wasm32 built 03befd20
tar wasm32 built bede734f
tcl wasm32 built 9070fddb
unzip wasm32 built 6591e7ef
userspace wasm32 built c3d7e154
vim wasm32 built 0d02b67d
wget wasm32 built 04bb22d8
xz wasm32 built f54f1e93
zip wasm32 built 19152752
zstd wasm32 built 45fa0e20
bash wasm32 built 74f8e39c
mariadb-test wasm32 built 76d2883a
mariadb-vfs wasm32 built 37cbbded
mariadb-vfs wasm64 built a37c83f6
nethack wasm32 built 51827b74
vim-browser-bundle wasm32 built 63be56eb
nethack-browser-bundle wasm32 built 6f83697f
rootfs wasm32 built bed032dc
shell wasm32 built bc60e6a2
lamp wasm32 built 5fe3410c
node-vfs wasm32 built f286a3c5
wordpress wasm32 built 33e16f14

Auto-generated; replaced on each push. Raw data in the publish-status workflow artifact.

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

1 participant