Open Bug 1167872 Opened 6 years ago Updated 10 months ago

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

Categories

(Toolkit :: Password Manager, defect, P3)

defect

Tracking

()

Tracking Status
firefox41 --- affected

People

(Reporter: philip.chee, Unassigned)

References

()

Details

(Keywords: regression, Whiteboard: [passwords:recipes])

Attachments

(2 files)

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.
Don't let me block you. Meanwhile I'll try to find a reliable STR.
Status: NEW → RESOLVED
Closed: 6 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.
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
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
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.
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-
Assignee: philip.chee → nobody
Status: ASSIGNED → NEW
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]
Duplicate of this bug: 1309057
(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
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: 1322937
Duplicate of this bug: 1433356
Duplicate of this bug: 1341034

I'm not sure if this is still happening as much and I haven't seen it cause real issues so moving to P3.

Priority: P2 → P3
You need to log in before you can comment on or make changes to this bug.