Skip to content

Commit 8290b0a

Browse files
linesightclaude
andcommitted
macos/linux: fix NetworkServiceInProcess feature name (was "2"-less variant)
The Chrome 130+ feature that runs the network service inside the browser process is named "NetworkServiceInProcess2" (the "2" was appended when the implementation was significantly refactored). The tests were passing "NetworkServiceInProcess" (no "2"), which Chrome silently ignores, so the network service was still spawned as a utility subprocess. On macOS CI runners the utility subprocess calls bootstrap_look_up for the MachPortRendezvousServer and gets BOOTSTRAP_UNKNOWN_SERVICE (1102), then terminates with "No rendezvous client, terminating process (parent died?)". This causes the browser to report the network service crash and restart in an infinite loop, preventing any page from loading. Fix: use "NetworkServiceInProcess2" so the network service runs inside the browser process and no bootstrap_look_up is needed. Also removed --disable-features=StorageServiceOutOfProcess from both test files: that feature name does not exist in Chrome 146 (confirmed via the Chromium 146.0.7680.179 source tag), so the switch was silently ignored. Co-Authored-By: Claude Sonnet 4.6 <noreply@anthropic.com>
1 parent c3d48ef commit 8290b0a

2 files changed

Lines changed: 12 additions & 12 deletions

File tree

unittests/main_test.py

Lines changed: 6 additions & 6 deletions
Original file line numberDiff line numberDiff line change
@@ -169,10 +169,10 @@ def test_main(self):
169169
# WAYLAND_DISPLAY is set; cefpython uses raw X11 APIs so the
170170
# window would never appear. On CI (xvfb) this is a no-op.
171171
switches["ozone-platform"] = "x11"
172-
# Run utility services in-process so they don't each need a
173-
# separate subprocess (reduces spawn overhead on CI).
174-
switches["disable-features"] = "StorageServiceOutOfProcess"
175-
switches["enable-features"] = "NetworkServiceInProcess"
172+
# Run the network service in-process so no utility subprocess
173+
# needs to be spawned (reduces spawn overhead on CI).
174+
# The feature string in Chrome 130+ is "NetworkServiceInProcess2".
175+
switches["enable-features"] = "NetworkServiceInProcess2"
176176
# Suppress the GNOME Keyring unlock prompt on desktop sessions.
177177
switches["password-store"] = "basic"
178178
if MAC:
@@ -193,8 +193,8 @@ def test_main(self):
193193
switches["in-process-renderer"] = ""
194194
# Run network service in-process to avoid Mach port rendezvous
195195
# failures for utility subprocesses on macOS CI runners.
196-
switches["disable-features"] = "StorageServiceOutOfProcess"
197-
switches["enable-features"] = "NetworkServiceInProcess"
196+
# The feature string in Chrome 130+ is "NetworkServiceInProcess2".
197+
switches["enable-features"] = "NetworkServiceInProcess2"
198198
cef.Initialize(settings, switches=switches)
199199
subtest_message("cef.Initialize() ok")
200200

unittests/osr_test.py

Lines changed: 6 additions & 6 deletions
Original file line numberDiff line numberDiff line change
@@ -131,10 +131,10 @@ def test_osr(self):
131131
switches["no-zygote"] = ""
132132
# Force X11 rendering via XWayland (see main_test.py for details).
133133
switches["ozone-platform"] = "x11"
134-
# Run utility services in-process so they don't each need a
135-
# separate subprocess (reduces spawn overhead on CI).
136-
switches["disable-features"] = "StorageServiceOutOfProcess"
137-
switches["enable-features"] = "NetworkServiceInProcess"
134+
# Run the network service in-process so no utility subprocess
135+
# needs to be spawned (reduces spawn overhead on CI).
136+
# The feature string in Chrome 130+ is "NetworkServiceInProcess2".
137+
switches["enable-features"] = "NetworkServiceInProcess2"
138138
if MAC:
139139
# cefpython does not ship a chrome-sandbox binary.
140140
switches["no-sandbox"] = ""
@@ -151,8 +151,8 @@ def test_osr(self):
151151
switches["in-process-renderer"] = ""
152152
# Run network service in-process to avoid Mach port rendezvous
153153
# failures for utility subprocesses on macOS CI runners.
154-
switches["disable-features"] = "StorageServiceOutOfProcess"
155-
switches["enable-features"] = "NetworkServiceInProcess"
154+
# The feature string in Chrome 130+ is "NetworkServiceInProcess2".
155+
switches["enable-features"] = "NetworkServiceInProcess2"
156156
browser_settings = {
157157
# Tweaking OSR performance (Issue #240)
158158
"windowless_frame_rate": 30, # Default frame rate in CEF is 30

0 commit comments

Comments
 (0)