Money: origin/dev crashes under the 200k cleared-write perf workload (OOM) #1502

Open
opened 2026-10-09 06:32:12 +00:00 by kayg · 0 comments
Owner

During #688 money688h's 200,000-row perf-VM comparison, origin/dev cc1af3c12b was OOM-killed during the cleared-mark phase. The current candidate 3ea25dc4b had completed its entire first run with zero failed marks, cleared p95 992.8 ms, amount-edit p95 15,970.8 ms, and burst RSS 5,763,231,744 bytes. This is a server crash, not a SLOW-only observation.

The VM has 7,879 MiB RAM and no swap. Both binaries used the same synthetic Home and production web build, under a single perf-run lock; the raw candidate run and partial pair are retained in docs/perf/baseline.json. The comparison aborted with browser TypeError: Failed to fetch, so no origin/dev p95 or completed 200k pair is claimed.

Kernel evidence, 2026-10-09 08:30:48 CEST:

oom-kill:constraint=CONSTRAINT_NONE,nodemask=(null),cpuset=user.slice,mems_allowed=0,global_oom,task_memcg=/user.slice/user-0.slice/session-c14938.scope,task=origin-dev-serv,pid=2214522,uid=0
Out of memory: Killed process 2214522 (origin-dev-serv) total-vm:9385148kB, anon-rss:5634884kB, file-rss:28kB, shmem-rss:0kB, UID:0 pgtables:12212kB oom_score_adj:0

Reproduce with bench/money-register-688.mjs, MONEY688_ROWS=200000, MONEY688_PAIRS=3, the origin/dev and candidate release binaries, Chromium on the perf VM. Build elsewhere and hold perf-run's shared lock. No test expectation or memory budget was changed. The owner must review the crash before claiming that origin/dev handles the 200k workload.

During #688 money688h's 200,000-row perf-VM comparison, origin/dev cc1af3c12b68ad26c8403adde1be39c096b9ddea was OOM-killed during the cleared-mark phase. The current candidate 3ea25dc4b had completed its entire first run with zero failed marks, cleared p95 992.8 ms, amount-edit p95 15,970.8 ms, and burst RSS 5,763,231,744 bytes. This is a server crash, not a SLOW-only observation. The VM has 7,879 MiB RAM and no swap. Both binaries used the same synthetic Home and production web build, under a single perf-run lock; the raw candidate run and partial pair are retained in docs/perf/baseline.json. The comparison aborted with browser TypeError: Failed to fetch, so no origin/dev p95 or completed 200k pair is claimed. Kernel evidence, 2026-10-09 08:30:48 CEST: ``` oom-kill:constraint=CONSTRAINT_NONE,nodemask=(null),cpuset=user.slice,mems_allowed=0,global_oom,task_memcg=/user.slice/user-0.slice/session-c14938.scope,task=origin-dev-serv,pid=2214522,uid=0 Out of memory: Killed process 2214522 (origin-dev-serv) total-vm:9385148kB, anon-rss:5634884kB, file-rss:28kB, shmem-rss:0kB, UID:0 pgtables:12212kB oom_score_adj:0 ``` Reproduce with bench/money-register-688.mjs, MONEY688_ROWS=200000, MONEY688_PAIRS=3, the origin/dev and candidate release binaries, Chromium on the perf VM. Build elsewhere and hold perf-run's shared lock. No test expectation or memory budget was changed. The owner must review the crash before claiming that origin/dev handles the 200k workload.
Commenting is not possible because the repository is archived.
No labels
No milestone
No project
No assignees
1 participant
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-v0#1502
No description provided.