Open Bug 1683186 Opened 5 years ago Updated 3 years ago

Intermittently unable to check for updates via the About dialog

Categories

(Toolkit :: Application Update, defect, P3)

defect

Tracking

()

Tracking Status
firefox-esr78 --- unaffected
firefox84 --- unaffected
firefox85 --- unaffected
firefox86 --- fix-optional

People

(Reporter: itiel_yn8, Unassigned)

References

(Regression)

Details

(Keywords: leave-open, regression)

Attachments

(2 files)

Attached image Screenshot

STR unknown.
In the attached screenshot the "Check for Updates" button appears (the app usually checks for updates without having to click anything when opening the dialog), clicking it does nothing visually.
(Also see the "You are currently on the X update channel" text appears without nightly)

From the console:

 NS_ERROR_NOT_INITIALIZED: Component returned failure code: 0xc1f30001 (NS_ERROR_NOT_INITIALIZED) [nsIUpdateSyncManager.isOtherInstanceRunning] UpdateService.jsm:366
    isOtherInstanceRunning resource://gre/modules/UpdateService.jsm:366
    get isOtherInstanceHandlingUpdates resource://gre/modules/UpdateService.jsm:3369
    check resource:///modules/AppUpdater.jsm:75
    appUpdater chrome://browser/content/aboutDialog-appUpdater.js:49
    init chrome://browser/content/aboutDialog.js:89
    AsyncFunctionNext self-hosted:689

Uncaught (in promise) 
Exception { name: "NS_ERROR_NOT_INITIALIZED", message: "Component returned failure code: 0xc1f30001 (NS_ERROR_NOT_INITIALIZED) [nsIUpdateSyncManager.isOtherInstanceRunning]", result: 3253927937, filename: "resource://gre/modules/UpdateService.jsm", lineNumber: 366, columnNumber: 0, data: null, stack: "isOtherInstanceRunning@resource://gre/modules/UpdateService.jsm:366:22\nget isOtherInstanceHandlingUpdates@resource://gre/modules/UpdateService.jsm:3369:33\ncheck@resource:///modules/AppUpdater.jsm:75:9\nappUpdater@chrome://browser/content/aboutDialog-appUpdater.js:49:20\ninit@chrome://browser/content/aboutDialog.js:89:19\n", location: XPCWrappedNative_NoHelper }
UpdateService.jsm:366

When clicking the Check for Updates button, this is logged:

Uncaught TypeError: can't access property "checkForUpdates", gAppUpdater is undefined
    oncommand chrome://browser/content/aboutDialog.xhtml:1
aboutDialog.xhtml:1:1
Flags: needinfo?(mhowell)

There is no need for a failure in isOtherInstanceRunning to break the entire update service, and that happening was not intentional, so the first thing I'm going to do is put up a patch to prevent that error from propagating like this.

But then we need to know why creating the lock file failed here. Itiel, is your OS locale also set to he, or just the browser? My first thought is that perhaps the bug is somehow locale-dependent.

Flags: needinfo?(mhowell) → needinfo?(itiel_yn8)
Keywords: regression
Regressed by: 1553982
Has Regression Range: --- → yes

Also, as a temporary workaround you can set the pref app.update.checkOnlyInstance.enabled to false and that will skip the code path that's failing.

(In reply to Molly Howell (she/her) [:mhowell] from comment #1)

But then we need to know why creating the lock file failed here. Itiel, is your OS locale also set to he, or just the browser? My first thought is that perhaps the bug is somehow locale-dependent.

Both are set to he.
I vaguely remember seeing an error in the console (in the past; not sure if this is still the case) about a lock file unable to be created, not sure if you're talking about the same one.

Flags: needinfo?(itiel_yn8)

(In reply to Itiel from comment #3)

Both are set to he.

Thank you, that gives us a place to start looking.

I vaguely remember seeing an error in the console (in the past; not sure if this is still the case) about a lock ile unable to be created, not sure if you're talking about the same one.

Probably not the same one; the one I'm talking about was just added this week in bug 1553982.

This doesn't address the root cause of the error, but it should allow updates
to proceed in spite of failures to create the sync manager's lock.

Assignee: nobody → mhowell
Status: NEW → ASSIGNED

The patch I just posted covers up the real bug, it doesn't fix it, so this bug should stay open until that happens.

Keywords: leave-open
Severity: -- → S2
Pushed by mhowell@mozilla.com: https://hg.mozilla.org/integration/autoland/rev/6307b67c66ff Part 1 - Don't let failures in the sync manager cascade into update service failures. r=bytesized

Set release status flags based on info from the regressing bug 1553982

The leave-open keyword is there and there is no activity for 6 months.
:mhowell, maybe it's time to close this bug?

Flags: needinfo?(mhowell)

I never did actually figure out why creating the lock file could have been failing, and I'm not working on this anymore, but it's still something we probably want to understand better.

Assignee: mhowell → nobody
Status: ASSIGNED → NEW
Flags: needinfo?(mhowell)
Priority: -- → P3
Severity: S2 → S3

The leave-open keyword is there and there is no activity for 6 months.
:bhearsum, maybe it's time to close this bug?
For more information, please visit auto_nag documentation.

Flags: needinfo?(bhearsum)

(In reply to Release mgmt bot [:suhaib / :marco/ :calixte] from comment #12)

The leave-open keyword is there and there is no activity for 6 months.
:bhearsum, maybe it's time to close this bug?
For more information, please visit auto_nag documentation.

Still a valid bug.

Flags: needinfo?(bhearsum)
You need to log in before you can comment on or make changes to this bug.

Attachment

General

Creator:
Created:
Updated:
Size: