Over the past three months, an elusive bug in Google’s open-source Chromium project has caused a small percentage of Chrome extensions to silently fail.
The bug affects around three to five percent of users of several popular Chrome browser extensions, according to Jói Sigurdsson, founder and CEO of CrankWheel, maker of a screen sharing extension for sales teams.
As described in the Chrome bug reportevent handlers registered via
chrome.browserAction.onClicked.addListener will sometimes fail to be sent when the user clicks the associated button or icon. For someone using an affected extension, the result would be that the extension’s button simply stops responding to click events.
“Around April 10, we started getting reports from multiple users that clicking the CrankWheel button on their browser did nothing,” Sigurdsson explained in a post. blog post published last month. “Our initial suggestion to users was to disable and re-enable our extension, and that seemed to do the trick.”
“Five days later, the issue reoccurred randomly on my machine, and I was able to confirm that it was a Google Chrome/Chromium issue, and not an issue with our extension, and I logged an issue on the Chromium issue tracker, as well as the logs screen which confirms the replay and provides additional details.”
Beyond CrankWheek, Sigurdsson thinks several popular extensions that use the same browserAction API for event handling may be affected, including LastPass, Screencastify, Norton Password Manager, Mendeley Web Importer, Picture in Picture Extension (by Google), Crx Mouse Chrome Gestures, Save to Pocket, Google Mail Checker (by Google ) and Mute Tongue.
Makers of ad blockers and privacy extensions fear the end is near
Efforts to confirm this were unsuccessful. In a post to the Chromium Extensions Developer Forum on Monday, Sigurdsson said he had not heard from the developers of these extensions. However, an independent report indicates that the issue has been reproduced with Google Mail Checker and Mute Tab.
For about a week, there have been several reports similar problems from users of Microsoft Edge, which is based on Chromium.
Initially, the issues started occurring in Chrome 100, and Sigurdsson thought they might be limited to extensions built to the outdated Manifest v2 specification. But the problem was also reported for Chrome extensions built using Manifest v3 and a supposed fix in Chrome 102 obviously failed to fix things.
Google engineers have discussed the problem in several articles, but they are not inclined to try to offer a repair plan in the absence of a reliable way to reproduce the error.
Efforts to diagnose the problem have led to much speculation, but no definitive solution. The situation proved troubling enough that CrankWheel offered a $4,000 bounty to consistently reproduce the bug and a separate $4,000 bounty to fix it.
Last week, the company released a work via independent site Upwork in hopes someone can track down the vexing bug.
“What we need is a Chromium C++ expert to dig into the bug and hopefully fix it,” the post reads.
“We’d like to start with up to two full days of work at your hourly rate if you’re selected, plus we’re offering two $4,000 bonuses, one for a consistent and reasonably quick breeding scenario, and one for an actual fix. .
“Although we would pay your hourly rate, you would still be eligible for either or both bonuses, which we would pay through the Upwork platform, until the full value of your work to us based on your rate hours exceeds $5,000. After work worth $5,000 for your time, you would become ineligible for bonuses unless we enter into a separate agreement.”
In his forum post, Sigurdsson said he had already hired a C++ developer to dig into Chromium code for an answer, although he said he was willing to hire a second one if the person had the right skills. ®