Page MenuHomePhabricator

Unable to select backend server in WikimediaDebug extension
Open, LowPublic

Description

Since at least yesterday, I’ve been unable to select a backend server in the WikimediaDebug extension. On Firefox, the popup looks like this:

WikimediaDebug-Firefox.png (169×286 px, 12 KB)

And if I click the dropdown, nothing happens. On Chromium, it sometimes looks like this after clicking the dropdown:
WikimediaDebug-Chromium.png (157×286 px, 8 KB)

Sometimes it also hangs the whole browser (Chromium only):
Chromium-hang.png (191×499 px, 13 KB)

In the Firefox Browser Console, the following error appears when clicking the dropdown:

Unchecked lastError value: Error: Promised response from onMessage listener went out of scope

It’s linked to the sendMessage line in the following snippet from the extension source code:

popup.js
// When opening the popup, also update the theme if needed.
// E.g. if the color scheme of the OS has changed meanwhile.
chrome.runtime.sendMessage( {
    action: 'set-theme',
    theme: ( window.matchMedia( '(prefers-color-scheme: dark)' ).matches )
        ? 'dark'
        : 'light'
} );

I’m on Firefox 91 / Chromium 92.

Event Timeline

Restricted Application added a subscriber: Aklapper. · View Herald Transcript
Lucas_Werkmeister_WMDE updated the task description. (Show Details)
Lucas_Werkmeister_WMDE updated the task description. (Show Details)

I think this should be a High-priority issue, because it effectively means that when deploying, I can’t test any servers other than mwdebug1001, and that server is read-only at the moment due to codfw being the active data center.

I'm unable to reproduce the issue on either Firefox 91 or Chrome 92.

I can reproduce on Firefox 91 / Fedora 34.

I asked three others in wikimedia-operations on IRC, and those were unable to reproduce the issue:

urbanecm: Krinkle: I use firefox as my main browser, and I'm able to use the extension. […]

dancy: Krinkle: Using Chrome Version 92.0.4515.107 (Official Build) (64-bit). no problems switching servers.

tgr: Krinkle: also had no issues on Chrome 92 / Ubuntu (I use the light theme)

I personally use Firefox 91 on macOS in dark mode.

I tried resetting my themes to light mode, both in GNOME and in the Firefox toolbar appearance and it's still not working.

In the Firefox Browser Console, the following error appears when clicking the dropdown:

Unchecked lastError value: Error: Promised response from onMessage listener went out of scope

In addition to this, I also see:

Promise rejected after context unloaded: Actor 'Conduits' destroyed before query 'RuntimeMessage' was resolved

pointing at the same line 93.

Change 714418 had a related patch set uploaded (by Legoktm; author: Legoktm):

[operations/mediawiki-config@master] debug.json: List primary DC servers first

https://gerrit.wikimedia.org/r/714418

I can reproduce on Firefox 91 / Fedora 34.

Thank goodness it’s not just me ^^ I’m on Ubuntu 21.04 (Hirsute) btw.

I was also able to use WikimediaDebug on another laptop yesterday (Firefox 91, Arch Linux).

Change 714418 merged by jenkins-bot:

[operations/mediawiki-config@master] debug.json: List primary DC servers first

https://gerrit.wikimedia.org/r/714418

Mentioned in SAL (#wikimedia-operations) [2021-08-25T22:10:45Z] <legoktm@deploy1002> Synchronized debug.json: List primary DC servers first (T289246) (duration: 01m 04s)

Legoktm lowered the priority of this task from High to Low.Aug 25 2021, 10:12 PM

Lowering priority since apparently this only affects 2 of us and we have a workaround in place in that mwdebug2001 can now (only) be used.

To help narrow down, does it happen when other extensions are disabled after a browser restart? For Chromium, does it happen in a new profile when only this extension installed?

I’ve had it happen in a completely new Firefox profile with no other extensions. (Haven’t tried a new Chromium profile yet.)