Closed
Bug 698662
Opened 14 years ago
Closed 13 years ago
error in console: this._stringBundle is undefined
Categories
(Firefox :: Sync, defect, P2)
Firefox
Sync
Tracking
()
RESOLVED
DUPLICATE
of bug 636947
People
(Reporter: dietrich, Assigned: nigelb)
Details
(Keywords: regression)
Attachments
(1 file)
3.30 KB,
patch
|
gps
:
review-
|
Details | Diff | Splinter Review |
points to this line in browser.js:
onSyncFinish: function SUI_onSyncFinish() {
let title = this._stringBundle.GetStringFromName("error.sync.title");
Comment 1•14 years ago
|
||
Are you able to reproduce this, Dietrich?
What were you doing around the time that this happened?
_stringBundle is just a lazy getter for
return Cc["@mozilla.org/intl/stringbundle;1"].
getService(Ci.nsIStringBundleService).
createBundle("chrome://weave/locale/services/sync.properties");
Reporter | ||
Comment 2•14 years ago
|
||
More info:
First there are a bunch of these in the console:
Error: gBrowser is not defined
Source File: chrome://browser/content/browser.js
Line: 3277
Which is from:
// Functions called by observers
onActivityStart: function SUI_onActivityStart() {
if (!gBrowser)
Then I see a bunch of these:
Error: this._stringBundle is undefined
Source File: chrome://browser/content/browser.js
Line: 3446
I was doing nothing this time. Laptop was idle. I sat down and opened the console, and this is what I saw.
Comment 3•14 years ago
|
||
OS X I presume? This is probably the hidden window receiving notifications. I bet we're not guarding against !gBrowser everywhere.
Reporter | ||
Comment 4•14 years ago
|
||
(In reply to Philipp von Weitershausen [:philikon] from comment #3)
> OS X I presume?
yessir
Comment 5•14 years ago
|
||
Magic 8-ball of responsibility says Ally.
Assignee | ||
Comment 6•14 years ago
|
||
Patch v1. I still haven't figured how to actually get this traceback, but this should fix the wrong if(gBrowser) and if(!gBrowser) checks throughout browser-syncui.js.
Updated•14 years ago
|
Attachment #578693 -
Flags: feedback?(ally) → review?(mconnor)
Comment 7•14 years ago
|
||
Comment on attachment 578693 [details] [diff] [review]
patch-v1
I don't think this patch actually addresses the problem.
I believe the underlying problem is not checking for "if (!gBrowser)" in every callback. For example:
>onSyncFinish: function SUI_onSyncFinish() {
> let title = this._stringBundle.GetStringFromName("error.sync.title");
We should bail if we don't have gBrowser defined. e.g.
> if (!gBrowser) {
> return;
> }
>
> let title = this._stringBundle...
This file is effectively concatenated to a larger file, so the GLOBAL_SCOPE workaround is not necessary.
Attachment #578693 -
Flags: review?(mconnor) → review-
Comment 8•14 years ago
|
||
My comment in the previous comment regarding the GLOBAL_SCOPE workaround isn't correct. We are seeing errors when checking gBrowser. This confounds both rnewman and myself, as gBrowser should always be in scope. No other browser-*.js file seems to conditionally check for gBrowser. We must be binding to a different scope somewhere or something.
Comment 9•14 years ago
|
||
(In reply to Gregory Szorc [:gps] from comment #8)
> My comment in the previous comment regarding the GLOBAL_SCOPE workaround
> isn't correct. We are seeing errors when checking gBrowser. This confounds
> both rnewman and myself, as gBrowser should always be in scope. No other
> browser-*.js file seems to conditionally check for gBrowser. We must be
> binding to a different scope somewhere or something.
This is most likely a lingering observer. The whole window has been garbage collected, including its scope, but the observer hasn't. So looking up stuff in the scope, like `gBrowser`, will fail. Happy hunting! :/
Updated•13 years ago
|
Status: ASSIGNED → RESOLVED
Closed: 13 years ago
Resolution: --- → DUPLICATE
Updated•7 years ago
|
Component: Firefox Sync: UI → Sync
Product: Cloud Services → Firefox
You need to log in
before you can comment on or make changes to this bug.
Description
•