test(web): browser-test servers keep their data on RAM (flaky WebKit specs from slow fsync) #937

Open
kayg wants to merge 1 commit from fix/e2e-data-on-ram into dev
Owner

Root cause of the BM14e WebKit x10 failures (#914): the dev-02 virtual disk has fsync stalls (2000 probes: p50 25 ms, p99 752 ms, max 4.4 s; 10 over 1 s). The server fsyncs every write, so specs that wait 5 s for an undo/delete/saved setting fail at random. Traces show the request hanging (notes.undo, notes.delete, notes.restore never answered). The same specs fail on origin/dev 41f2efa3 and BM14d.

Fix: test servers' data dirs go to /dev/shm (fallback: tmpdir; PERF=1 keeps the real disk). Only the harness changes; no assertion, timeout or retry touched.

🤖 Generated with Claude Code

Root cause of the BM14e WebKit x10 failures (#914): the dev-02 virtual disk has fsync stalls (2000 probes: p50 25 ms, p99 752 ms, max 4.4 s; 10 over 1 s). The server fsyncs every write, so specs that wait 5 s for an undo/delete/saved setting fail at random. Traces show the request hanging (notes.undo, notes.delete, notes.restore never answered). The same specs fail on origin/dev 41f2efa3 and BM14d. Fix: test servers' data dirs go to /dev/shm (fallback: tmpdir; PERF=1 keeps the real disk). Only the harness changes; no assertion, timeout or retry touched. 🤖 Generated with [Claude Code](https://claude.com/claude-code)
test(web): browser-test servers keep their data on RAM (/dev/shm) when there is some
Some checks failed
CI / server (pull_request) Has been cancelled
CI / rust (pull_request) Has been cancelled
CI / web (pull_request) Has been cancelled
Markdown extraction contract / markdown-native-contract (pull_request) Has been cancelled
Markdown extraction contract / markdown-editor-contract (pull_request) Has been cancelled
19021eb748
On the WebKit host one fsync in a thousand takes over a second (4.4 s worst), so specs that
wait 5 s for an undo, delete or saved setting failed on dev, BM14d and the train alike.
PERF=1 runs keep the real disk.

Co-Authored-By: Claude Sonnet 5.5 <noreply@anthropic.com>
Author
Owner

housekeeping #1009: rebased+failing, left open for review.

rebased the missing unique-port harness fix. the RAM data-directory change is already in dev.

head: 79918a056c9f058aedeeadfcbb46e2da05c9e517; based on dev cd7f84432febfc63b788fbb9b9f9950452982d74, pushed with the original exact force-with-lease.

frontend frozen install, check, lint, build and unit tests passed. bundle gate passed. first-paint brotli vs dev: JS 230777 B (+0 B), CSS 18386 B (+0 B).

targeted Chromium and WebKit specs at 1440 and 390 never started. the audit waited more than three hours behind the live daily-train-1107 locks (first queue at 23:45 IST, 7 November; final queue cleanup after 02:46 IST, 8 November). browser validation and UI captures are unrun. only this audit’s exact queued units were stopped; the train locks and owners were left intact. hot-path perf qualification is unrun.

all executed gates used the VM Nix environment, shared Mac lock and slot. exact commands, source heads, logs and dev baseline. frontend inputs are identical to the tested frontend tree when a Rust-only repair changed the head.

original-head cherry/patch inventory, pr-937.md; unmatched entries are missing-patch candidates, with semantic overlap/replacements noted above.

final queue, cleanup and source-verification evidence.

housekeeping #1009: rebased+failing, left open for review. rebased the missing unique-port harness fix. the RAM data-directory change is already in dev. head: `79918a056c9f058aedeeadfcbb46e2da05c9e517`; based on dev `cd7f84432febfc63b788fbb9b9f9950452982d74`, pushed with the original exact force-with-lease. frontend frozen install, check, lint, build and unit tests passed. bundle gate passed. first-paint brotli vs dev: JS 230777 B (+0 B), CSS 18386 B (+0 B). targeted Chromium and WebKit specs at 1440 and 390 never started. the audit waited more than three hours behind the live daily-train-1107 locks (first queue at 23:45 IST, 7 November; final queue cleanup after 02:46 IST, 8 November). browser validation and UI captures are unrun. only this audit’s exact queued units were stopped; the train locks and owners were left intact. hot-path perf qualification is unrun. all executed gates used the VM Nix environment, shared Mac lock and slot. [exact commands, source heads, logs and dev baseline](https://git.kayg.org/attachments/870a0fef-2e31-425c-aea6-eb87a66d365a). frontend inputs are identical to the tested frontend tree when a Rust-only repair changed the head. [original-head cherry/patch inventory](https://git.kayg.org/attachments/e05a38dc-c028-4d77-8655-efa9d5c8ea50), `pr-937.md`; unmatched entries are missing-patch candidates, with semantic overlap/replacements noted above. [final queue, cleanup and source-verification evidence](https://git.kayg.org/attachments/7ab315a5-4b6c-4af1-971b-cdae2637adae).
Some checks failed
CI / server (pull_request) Has been cancelled
CI / rust (pull_request) Has been cancelled
CI / web (pull_request) Has been cancelled
Markdown extraction contract / markdown-native-contract (pull_request) Has been cancelled
Markdown extraction contract / markdown-editor-contract (pull_request) Has been cancelled
Merge conflict checking is in progress. Try again in few moments.
View command line instructions

Checkout

From your project repository, check out a new branch and test the changes.
git fetch -u origin fix/e2e-data-on-ram:fix/e2e-data-on-ram
git switch fix/e2e-data-on-ram

Merge

Merge the changes and update on Forgejo.

Warning: The "Autodetect manual merge" setting is not enabled for this repository, you will have to mark this pull request as manually merged afterwards.

git switch dev
git merge --no-ff fix/e2e-data-on-ram
git switch fix/e2e-data-on-ram
git rebase dev
git switch dev
git merge --ff-only fix/e2e-data-on-ram
git switch fix/e2e-data-on-ram
git rebase dev
git switch dev
git merge --no-ff fix/e2e-data-on-ram
git switch dev
git merge --squash fix/e2e-data-on-ram
git switch dev
git merge --ff-only fix/e2e-data-on-ram
git switch dev
git merge fix/e2e-data-on-ram
git push origin dev
Sign in to join this conversation.
No reviewers
No milestone
No project
No assignees
1 participant
Notifications
Due date
The due date is invalid or out of range. Please use the format "yyyy-mm-dd".

No due date set.

Dependencies

No dependencies set

Reference
kayg/calternal!937
No description provided.