Error: TypeError: this._recipeManager is null Source file: resource://gre/modules/LoginManagerParent.jsm Line: 118/185

NEW
Unassigned

Status

()

P2
normal
4 years ago
9 months ago

People

(Reporter: philip.chee, Unassigned)

Tracking

({regression})

Trunk
regression
Points:
---

Firefox Tracking Flags

(firefox41 affected)

Details

(Whiteboard: [passwords:recipes], URL)

Attachments

(2 attachments)

(Reporter)

Description

4 years ago
Error: TypeError: this._recipeManager is null
Source file: resource://gre/modules/LoginManagerParent.jsm
Line: 118

It's a bit hard to locate the right line since this file is pre-processed but I think the immediate cause is this line:
http://hg.mozilla.org/mozilla-central/rev/53248ab3c730#l2.57
(In reply to Philip Chee from comment #0)
> Error: TypeError: this._recipeManager is null
> Source file: resource://gre/modules/LoginManagerParent.jsm
> Line: 118

What are your STR?

> It's a bit hard to locate the right line since this file is pre-processed
> but I think the immediate cause is this line:
> http://hg.mozilla.org/mozilla-central/rev/53248ab3c730#l2.57

To get the proper line (though in this case I'm not worried about it):
1) Load resource://gre/modules/LoginManagerParent.jsm in a tab of the session which has the error
2) Open View Source (Cmd-U on OS X)
3) Go to Line 118 (Cmd-L, 118, Return on OS X)
Flags: needinfo?(philip.chee)
Keywords: steps-wanted
Philip, I'm planning on uplifting bug 1145754 to Beta so if you have STR it would be good to know ASAP.
(Reporter)

Comment 3

4 years ago
Don't let me block you. Meanwhile I'll try to find a reliable STR.
Status: NEW → RESOLVED
Last Resolved: 4 years ago
Flags: needinfo?(philip.chee)
Resolution: --- → INCOMPLETE
STR on Fennec:

1) Go to addons.mozilla.org
2) Type a search query in the search box
3) Hit the green arrow submit button

I see this error appear in the log after hitting submit.
Status: RESOLVED → REOPENED
Resolution: INCOMPLETE → ---
I should also note that this only happens when I visit AMO as the first thing I do after startup. If I visit a page with a login form, then visit AMO again, I won't see the error.
(Reporter)

Comment 6

4 years ago
Based on this comment:
https://hg.mozilla.org/mozilla-central/annotate/53248ab3c730/toolkit/components/passwordmgr/LoginManagerParent.jsm#l170

This:
https://hg.mozilla.org/mozilla-central/annotate/53248ab3c730/toolkit/components/passwordmgr/LoginManagerParent.jsm#l225

Should be something like:
      case "RemoteLogins:findRecipes":
        let formHost = (new URL(data.formOrigin)).host;
        let recipeManager = yield this.recipeParentPromise;
        return recipeManager.getRecipesForHost(formHost);
And what's with the enclosing {} for each case?
Status: REOPENED → NEW
Keywords: steps-wanted

Comment 7

4 years ago
Loading this testcase as a local file trips "TypeError: this._recipeManager is null".
On inbound I'm getting this 100% repeatably:

From this line:
JavaScript error: resource://gre/modules/LoginManagerParent.jsm, line 185: TypeError: this._recipeManager is null
        return this._recipeManager.getRecipesForHost(formHost);

Load http://mozilla.github.io/webrtc-landing/data_test.html
Hit Start
type into "pc1 says" and hit return.  Error appears in browser console, and stdout.

Linux64 desktop, inbound, debug build
Not currently logged into hello
Flags: needinfo?(MattN+bmo)
Summary: Error: TypeError: this._recipeManager is null Source file: resource://gre/modules/LoginManagerParent.jsm Line: 118 → Error: TypeError: this._recipeManager is null Source file: resource://gre/modules/LoginManagerParent.jsm Line: 118/185
(Reporter)

Comment 9

3 years ago
this fixes the test case in attachment 8633103 [details]
Assignee: nobody → philip.chee
Status: NEW → ASSIGNED
Attachment #8685455 - Flags: review?(dolske)
Comment on attachment 8685455 [details] [diff] [review]
Proposed fix for Bug 1167872 this._recipeManager is null

Review of attachment 8685455 [details] [diff] [review]:
-----------------------------------------------------------------

::: toolkit/components/passwordmgr/LoginManagerParent.jsm
@@ +186,5 @@
>  
>        case "RemoteLogins:findRecipes": {
>          let formHost = (new URL(data.formOrigin)).host;
> +        let recipeManager = yield this.recipeParentPromise;
> +        return recipeManager.getRecipesForHost(formHost);

I believe this needs to be a sync. response for sendSyncMessage and I don't think `yield` here (side note: outside a generator function) will achieve that.
Does this pass tests? I suspect it won't. I've been thinking that the "solution" to this bug may to have it start the async init after first use if _recipeManager is null so the first time it will still give an error but then it will correct itself for the future.
(Reporter)

Comment 12

3 years ago
Comment on attachment 8685455 [details] [diff] [review]
Proposed fix for Bug 1167872 this._recipeManager is null

(In reply to Matthew N. [:MattN] from comment #11)
> Does this pass tests? I suspect it won't. I've been thinking that the
> "solution" to this bug may to have it start the async init after first use
> if _recipeManager is null so the first time it will still give an error but
> then it will correct itself for the future.

You're right it doesn't actually work
Attachment #8685455 - Flags: review?(dolske) → review-
(Reporter)

Updated

3 years ago
Assignee: philip.chee → nobody
Status: ASSIGNED → NEW

Comment 13

3 years ago
Firefox 43.0.4 (32-Bit) on Windows 7 64-Bit

When I enroll for a new certificate with Firefox I hit this problem when trying to import the certificate for the key Firefox created for me. The certificate doesn't get imported, I can't see or export the Certificate/Key pair.

Is there a workaround to extract the ssl-key from my firefox without importing the certificate?
Whiteboard: [passwords:recipes]
(Quoting Eric Rahm [:erahm] from bug 1309057 comment #0)
> +++ This bug was initially created as a clone of Bug #1145754 +++
> 
> > 220 JavaScript error: resource://gre/modules/LoginManagerParent.jsm, line 75: TypeError: this._recipeManager is null
> 
> This warning [1] shows up in the following test suites:
> 
> >     38 - desktop-test-linux64/debug-web-platform-tests-2 2
> >     38 - desktop-test-linux64/debug-web-platform-tests-e10s-2 2
> >     12 - desktop-test-linux64/debug-mochitest-1 1
> >     11 - desktop-test-linux64/debug-mochitest-e10s-3 3
> >     11 - desktop-test-linux64/debug-mochitest-3 3
> >     10 - desktop-test-linux64/debug-mochitest-e10s-1 1
> >      9 - desktop-test-linux64/debug-mochitest-10 10
> >      9 - desktop-test-linux64/debug-mochitest-e10s-10 10
> >      7 - desktop-test-linux64/debug-mochitest-e10s-5 5
> >      7 - desktop-test-linux64/debug-mochitest-5 5
> >      6 - desktop-test-linux64/debug-web-platform-tests-3 3
> >      6 - desktop-test-linux64/debug-web-platform-tests-e10s-3 3
> >      5 - desktop-test-linux64/debug-mochitest-jetpack JP
> >      4 - desktop-test-linux64/debug-mochitest-browser-chrome-7 bc7
> >      4 - desktop-test-linux64/debug-mochitest-browser-chrome-2 bc2
> >      4 - desktop-test-linux64/debug-mochitest-browser-chrome-e10s-7 bc7
> >      4 - desktop-test-linux64/debug-mochitest-browser-chrome-6 bc6
> >      3 - desktop-test-linux64/debug-mochitest-browser-chrome-1 bc1
> >      3 - desktop-test-linux64/debug-mochitest-browser-chrome-e10s-3 bc3
> >      2 - desktop-test-linux64/debug-web-platform-tests-e10s-5 5
> >      2 - desktop-test-linux64/debug-mochitest-e10s-4 4
> >      2 - desktop-test-linux64/debug-mochitest-browser-chrome-e10s-5 bc5
> >      2 - desktop-test-linux64/debug-mochitest-devtools-chrome-10 dt10
> >      2 - desktop-test-linux64/debug-mochitest-browser-chrome-e10s-1 bc1
> >      2 - desktop-test-linux64/debug-mochitest-4 4
> >      2 - desktop-test-linux64/debug-web-platform-tests-5 5
> >      1 - desktop-test-linux64/debug-web-platform-tests-e10s-10 10
> >      1 - desktop-test-linux64/debug-mochitest-devtools-chrome-8 dt8
> >      1 - desktop-test-linux64/debug-mochitest-6 6
> >      1 - desktop-test-linux64/debug-web-platform-tests-12 12
> >      1 - desktop-test-linux64/debug-crashtest-e10s C
> >      1 - desktop-test-linux64/debug-web-platform-tests-e10s-8 8
> >      1 - desktop-test-linux64/debug-web-platform-tests-8 8
> >      1 - desktop-test-linux64/debug-web-platform-tests-e10s-12 12
> >      1 - desktop-test-linux64/debug-mochitest-e10s-6 6
> >      1 - desktop-test-linux64/debug-web-platform-tests-10 10
> >      1 - desktop-test-linux64/debug-mochitest-devtools-chrome-3 dt3
> >      1 - desktop-test-linux64/debug-mochitest-browser-chrome-e10s-4 bc4
> >      1 - desktop-test-linux64/debug-crashtest C
> >      1 - desktop-test-linux64/debug-mochitest-browser-chrome-5 bc5
> >      1 - desktop-test-linux64/debug-mochitest-browser-chrome-3 bc3
> 
> It shows up in 130 tests. A few of the most prevalent:
> 
> >     11 - [e10s] /html/semantics/forms/form-submission-0/submit-entity-body.html
> >     11 -        /html/semantics/forms/form-submission-0/submit-entity-body.html
> >      8 - [e10s] dom/filesystem/compat/tests/test_formSubmission.html
> >      8 -        dom/filesystem/compat/tests/test_formSubmission.html
> >      6 - [e10s] toolkit/components/extensions/test/mochitest/test_ext_webrequest.html
> >      6 -        toolkit/components/extensions/test/mochitest/test_ext_webrequest.html
> >      5 -        dom/security/test/csp/test_upgrade_insecure.html
> >      5 - [e10s] dom/security/test/csp/test_upgrade_insecure.html
> >      4 - [e10s] browser/base/content/test/general/browser_addKeywordSearch.js
> >      4 -        browser/base/content/test/general/browser_addKeywordSearch.js
> 
> [1]
> http://searchfox.org/mozilla-central/rev/
> 3e03a4064eb585d96f28023785a5c242969878a6/toolkit/components/passwordmgr/
> LoginManagerParent.jsm#75

Updated

2 years ago
Duplicate of this bug: 1322987
Lowering to P2 as there's no user-facing impact. There are no resources currently working on password manager but I'm trying to change that.
Flags: needinfo?(MattN+bmo)
Keywords: regression
Priority: P1 → P2
Duplicate of this bug: 1341034
You need to log in before you can comment on or make changes to this bug.