Skip to content

Commit 370784d

Browse files
linesightclaude
andcommitted
Fix macOS CI V8 OOM: remove --single-process now that launchctl asuser fixes Mach ports
--single-process was added in cc0217e as a workaround for Mach port rendezvous failures (child processes could not look up the server in the CI bootstrap domain). b643615 fixed the root cause by running tests via "launchctl asuser", so --single-process is no longer needed. With --single-process still present, V8 fails to reserve a contiguous virtual memory CodeRange for each in-process renderer isolate (V8 process OOM: Failed to reserve virtual memory for CodeRange), causing osr_test to error out after step 4. Co-Authored-By: Claude Sonnet 4.6 <noreply@anthropic.com>
1 parent 1a17b7f commit 370784d

2 files changed

Lines changed: 10 additions & 12 deletions

File tree

unittests/main_test.py

Lines changed: 5 additions & 6 deletions
Original file line numberDiff line numberDiff line change
@@ -176,16 +176,15 @@ def test_main(self):
176176
# Suppress the GNOME Keyring unlock prompt on desktop sessions.
177177
switches["password-store"] = "basic"
178178
if MAC:
179-
# macOS CI runners run in a background bootstrap domain where
180-
# MachPortRendezvousServer lookups fail for child processes.
181-
# The CI workflow runs tests via "launchctl asuser" to place the
182-
# browser process in the user's login session bootstrap domain.
183-
# These switches add further subprocess-spawn reduction as guards.
179+
# The CI workflow runs tests via "launchctl asuser" so the browser
180+
# process lives in the user login session bootstrap domain and child
181+
# processes can look up MachPortRendezvousServer.
182+
# cefpython does not ship a chrome-sandbox binary.
184183
switches["no-sandbox"] = ""
184+
# No real GPU available on macOS CI runners.
185185
switches["disable-gpu"] = ""
186186
switches["disable-gpu-compositing"] = ""
187187
switches["in-process-gpu"] = ""
188-
switches["single-process"] = ""
189188
# Prevent macOS keychain authorization prompts during init
190189
# (matches CEF's own test infrastructure on macOS).
191190
switches["use-mock-keychain"] = ""

unittests/osr_test.py

Lines changed: 5 additions & 6 deletions
Original file line numberDiff line numberDiff line change
@@ -136,14 +136,13 @@ def test_osr(self):
136136
switches["disable-features"] = "StorageServiceOutOfProcess"
137137
switches["enable-features"] = "NetworkServiceInProcess"
138138
if MAC:
139-
# macOS CI runners run in a background bootstrap domain where
140-
# MachPortRendezvousServer lookups fail for child processes.
141-
# The CI workflow runs tests via "launchctl asuser" to place the
142-
# browser process in the user's login session bootstrap domain.
143-
# These switches add further subprocess-spawn reduction as guards.
139+
# The CI workflow runs tests via "launchctl asuser" so the browser
140+
# process lives in the user login session bootstrap domain and child
141+
# processes can look up MachPortRendezvousServer.
142+
# cefpython does not ship a chrome-sandbox binary.
144143
switches["no-sandbox"] = ""
144+
# No real GPU available on macOS CI runners.
145145
switches["in-process-gpu"] = ""
146-
switches["single-process"] = ""
147146
# Prevent macOS keychain authorization prompts during init
148147
# (matches CEF's own test infrastructure on macOS).
149148
switches["use-mock-keychain"] = ""

0 commit comments

Comments
 (0)