Closed Bug 903274 Opened 11 years ago Closed 10 years ago

this.updateDisplay is not a function at chrome://browser/content/search/search.xml:79 from every window during tpaint and tspaint

Categories

(Firefox :: Search, defect)

defect
Not set
normal

Tracking

()

RESOLVED FIXED
Firefox 29
Tracking Status
firefox27 --- wontfix
firefox28 --- wontfix
firefox29 --- fixed
firefox-esr24 --- wontfix
b2g-v1.2 --- wontfix
b2g-v1.3 --- wontfix

People

(Reporter: MattN, Assigned: Gavin)

References

Details

(Whiteboard: [qa-])

Attachments

(1 file)

21:20:44     INFO -  [Exception... "'[JavaScript Error: "this.updateDisplay is not a function" {file: "chrome://browser/content/search/search.xml" line: 79}]' when calling method: [nsIBrowserSearchInitObserver::onInitComplete]"  nsresult: "0x80570021 (NS_ERROR_XPC_JAVASCRIPT_ERROR_WITH_DETAILS)"  location: "JS frame :: resource://gre/components/nsSearchService.js :: onSuccess :: line 3216"  data: yes]

This seems to happen on most, if not all, windows during tpaint talos runs. I think the error happens because the callback is being called after the binding is destroyed.

Log: https://tbpl.mozilla.org/php/getParsedLog.php?id=26337997&tree=Try&full=1

I think this is mostly just log spew and probably doesn't have much impact elsewhere but correct me if I'm wrong.
I agree that this is probably harmless.

Can we set a "_destroyed" expando on the node from the XBL destructor, and then check it in the initialization callback? Failing that, we could just null check this.updateDisplay.
I see this same JavaScript error every time I run a debug Firefox build if I have customized Australis to remove the search bar.

************************************************************
* Call to xpconnect wrapped JSObject produced this error:  *
[Exception... "'[JavaScript Error: "this.updateDisplay is not a function" {file: "chrome://browser/content/search/search.xml" line: 83}]' when calling method: [nsIBrowserSearchInitObserver::onInitComplete]"  nsresult: "0x80570021 (NS_ERROR_XPC_JAVASCRIPT_ERROR_WITH_DETAILS)"  location: "JS frame :: file:///Users/cpeterson/Code/mozilla/inbound/objdir-mac/dist/NightlyDebug.app/Contents/MacOS/components/nsSearchService.js :: onSuccess :: line 3720"  data: yes]
************************************************************
(In reply to Chris Peterson (:cpeterson) from comment #2)
> I see this same JavaScript error every time I run a debug Firefox build if I
> have customized Australis to remove the search bar.

That's strange. Search bar binding code shouldn't be running at all in that case...
Oh, unless you meant that you moved the search bar into the Australis menu panel - I see this bug then as well.
I see this error when I move the search bar into the Australis menu panel, but I confirmed that I also see this error when I remove the search bar.
Oh, I suppose the search bar is in the document to start with, until the customizable toolbar code removes it. It would be nice to find a way to avoid that somehow...
Summary: this.updateDisplay is not a function at chrome://browser/content/search/search.xml:79 from every window during tpaint → this.updateDisplay is not a function at chrome://browser/content/search/search.xml:79 from every window during tpaint and tspaint
Attached patch patchSplinter Review
This fixes it for me.
Assignee: nobody → gavin.sharp
Status: NEW → ASSIGNED
Attachment #8357531 - Flags: review?(MattN+bmo)
Attachment #8357531 - Flags: review?(MattN+bmo) → review+
https://hg.mozilla.org/mozilla-central/rev/f3e7fa7d9748
Status: ASSIGNED → RESOLVED
Closed: 10 years ago
Resolution: --- → FIXED
Comment on attachment 8357531 [details] [diff] [review]
patch

[Approval Request Comment]
Bug caused by (feature/regressing bug #): none
User impact if declined: tbpl logspam on nearly every talos run
Testing completed: on m-c
Risk to taking this patch (and alternatives if risky): none, just an early return in the event of an already-destroyed binding
String or UUID changes made by this patch: none
Attachment #8357531 - Flags: approval-mozilla-esr24?
Attachment #8357531 - Flags: approval-mozilla-beta?
Attachment #8357531 - Flags: approval-mozilla-b2g26?
Attachment #8357531 - Flags: approval-mozilla-aurora?
Attachment #8357531 - Flags: approval-mozilla-esr24?
Attachment #8357531 - Flags: approval-mozilla-esr24+
Attachment #8357531 - Flags: approval-mozilla-beta?
Attachment #8357531 - Flags: approval-mozilla-beta+
Attachment #8357531 - Flags: approval-mozilla-b2g26?
Attachment #8357531 - Flags: approval-mozilla-b2g26+
Attachment #8357531 - Flags: approval-mozilla-aurora?
Attachment #8357531 - Flags: approval-mozilla-aurora+
Should this have in-testsuite tests?
Flags: in-testsuite?
Flags: in-testsuite? → in-testsuite-
Gavin, given in-testsuite-, is there any manual testing QA needs to do here?
Flags: needinfo?(gavin.sharp)
no
Flags: needinfo?(gavin.sharp)
Thanks Gavin, tagging this bug [qa-].
Whiteboard: [qa-]
Depends on: 960864
Attachment #8357531 - Flags: approval-mozilla-esr24+
Attachment #8357531 - Flags: approval-mozilla-beta+
Attachment #8357531 - Flags: approval-mozilla-b2g26+
Attachment #8357531 - Flags: approval-mozilla-aurora+
You need to log in before you can comment on or make changes to this bug.

Attachment

General

Created:
Updated:
Size: