Skip to content

Commit 7a5762d

Browse files
linesightclaude
andcommitted
macos: add --jitless to fix V8 CodeRange OOM in --single-process mode
--single-process runs the renderer's V8 in the browser process, which requires a large contiguous virtual memory reservation for JIT code (CodeRange). On older macOS-14 CI runner images this reservation fails: V8 process OOM (Failed to reserve virtual memory for CodeRange) --jitless disables all V8 JIT compilers (Sparkplug, Maglev, Turbofan), eliminating the CodeRange requirement entirely. Unit test JS is simple enough that interpreted execution is sufficient. Co-Authored-By: Claude Sonnet 4.6 <noreply@anthropic.com>
1 parent f10daa6 commit 7a5762d

2 files changed

Lines changed: 12 additions & 0 deletions

File tree

unittests/main_test.py

Lines changed: 6 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -193,6 +193,12 @@ def test_main(self):
193193
# --single-process runs the renderer in the browser process,
194194
# eliminating renderer subprocess bootstrap_look_up failures.
195195
switches["single-process"] = ""
196+
# --single-process puts the renderer's V8 in the browser process,
197+
# which requires a large contiguous CodeRange for JIT code.
198+
# On constrained CI runner images this reservation fails with an
199+
# OOM error. --jitless disables all V8 JIT compilers, eliminating
200+
# the CodeRange requirement entirely.
201+
switches["js-flags"] = "--jitless"
196202
# Run network service in-process to avoid Mach port rendezvous
197203
# failures for utility subprocesses on macOS CI runners.
198204
# The feature string in Chrome 130+ is "NetworkServiceInProcess2".

unittests/osr_test.py

Lines changed: 6 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -151,6 +151,12 @@ def test_osr(self):
151151
# --single-process runs the renderer in the browser process,
152152
# eliminating renderer subprocess bootstrap_look_up failures.
153153
switches["single-process"] = ""
154+
# --single-process puts the renderer's V8 in the browser process,
155+
# which requires a large contiguous CodeRange for JIT code.
156+
# On constrained CI runner images this reservation fails with an
157+
# OOM error. --jitless disables all V8 JIT compilers, eliminating
158+
# the CodeRange requirement entirely.
159+
switches["js-flags"] = "--jitless"
154160
# Run network service in-process to avoid Mach port rendezvous
155161
# failures for utility subprocesses on macOS CI runners.
156162
# The feature string in Chrome 130+ is "NetworkServiceInProcess2".

0 commit comments

Comments
 (0)