An “experiment” in Chrome 72 is causing a bug that breaks certain extensions, including ad blockers, extensions that integrate with Gmail, and some VPNs. Thankfully it’s easy to fix, and get your extensions back to working as expected.
The Chrome bug, via Techdows, lets some web requests bypass your extensions entirely. Not everyone is affected by the bug, as it’s tied to an “experiment” in Chrome that Google has enabled for a certain percentage of users.
The experiment, called “Enable network service,” tells Chrome to launch a separate process for “service workers,” or background tasks for web pages. A few bugs in service workers, combined with the network service experiment, is inadvertently bypassing Chrome extensions. Google has already identified and reportedly fixed one of the bugs in time for Chrome 73, but at least one more is still outstanding.
The type of Chrome extension most commonly affected by the bug is ad blockers, which currently are unable to process some things like Google Analytics requests from Gmail which can go through unhindered. Business extensions that integrate with Gmail, like Groove, HubSpot, Mailtrack, and Yesware, and certain VPN extensions like WindStream seem to also be affected.
Google is able to control the number of users on different experiments, like the network service, remotely. However, despite the number of extensions (each with millions of users) affected by the bug, Google has no intention of temporarily rolling back the experiment, citing the high long-term importance of the network service.
At this point, if this is the only breakage in the experiment we’re not rolling back. The reason is that as a relative percentage of users of Chrome, this is still small (e.g. less than 0.1%). When launching multi-year projects that impact a large part of the codebase, it’s impossible to avoid any regressions. We have to balance making forward progress and avoiding other regressions creeping in with breaking some edge cases. The best way for extension authors to avoid this is to use dev/beta channels.
Update 2/19: Google has now fixed the remaining bug in the network service, and gotten approval to push an update to Chrome 72 stable which includes both fixes. According to a comment from a Chromium developer, the update should arrive later this week.
The developer also strongly urged all extension developers to use Google Chrome Beta whenever possible, so that problems like these can be caught and fixed without affecting the “stable” version of Chrome.
[…] the fix will go out this week in an update to 72. Please switch to Chrome beta and not stable; fixing these regressions is much easier for everyone and won’t impact users if they’re brought up in beta.
In the meantime, the fix below is still the best way to your extensions back up and running as expected.
While Google may be unwilling to roll back the experiment, thankfully it’s possible to turn it off yourself from chrome://flags by specifically setting the flag #network-service to “Disabled.” Once you’ve done that and restarted Chrome, all of your extensions should be back to normal.