Closed Bug 1125518 Opened 10 years ago Closed 10 years ago

Intermittent browser_inspector_destroy-before-ready.js,browser_telemetry_button_eyedropper.js,browser_webconsole_split.js | uncaught exception - TypeError: self._init is not a function at toolbar.xml:144

Categories

(DevTools :: Inspector, defect)

x86_64
macOS
defect
Not set
normal

Tracking

(Not tracked)

RESOLVED WORKSFORME

People

(Reporter: RyanVM, Unassigned)

References

Details

(Keywords: intermittent-failure)

11:56:45 INFO - 825 INFO TEST-START | browser/devtools/inspector/test/browser_inspector_destroy-before-ready.js 11:56:45 INFO - ************************* 11:56:45 INFO - A coding exception was thrown in a Promise resolution callback. 11:56:45 INFO - See https://developer.mozilla.org/Mozilla/JavaScript_code_modules/Promise.jsm/Promise 11:56:45 INFO - Full message: TypeError: this._target is null 11:56:45 INFO - Full stack: InspectorPanel.prototype.selectionCssSelector@resource://gre/modules/commonjs/toolkit/loader.js -> resource:///modules/devtools/inspector/inspector-panel.js:397:7 11:56:45 INFO - InspectorPanel_onNewSelection/<@resource://gre/modules/commonjs/toolkit/loader.js -> resource:///modules/devtools/inspector/inspector-panel.js:434:9 11:56:45 INFO - Handler.prototype.process@resource://gre/modules/Promise.jsm -> resource://gre/modules/Promise-backend.js:870:23 11:56:45 INFO - this.PromiseWalker.walkerLoop@resource://gre/modules/Promise.jsm -> resource://gre/modules/Promise-backend.js:749:7 11:56:45 INFO - this.PromiseWalker.scheduleWalkerLoop/<@resource://gre/modules/Promise.jsm -> resource://gre/modules/Promise-backend.js:691:37 11:56:45 INFO - ************************* 11:56:45 INFO - console.warn: Could not set the unique selector for the newly selected node, the inspector was destroyed. 11:56:45 INFO - console.error: 11:56:45 INFO - markup view destroyed 11:56:45 INFO - console.error: 11:56:45 INFO - markup view destroyed 11:56:45 INFO - console.warn: Could not show the node, the markup-view was destroyed while waiting for children 11:56:45 INFO - console.warn: Could not mark node as selected, the markup-view was destroyed while showing the node. 11:56:45 INFO - console.error: 11:56:45 INFO - markup view destroyed 11:56:45 INFO - 826 INFO checking window state 11:56:45 INFO - 827 INFO Entering test 11:56:45 INFO - 828 INFO TEST-PASS | browser/devtools/inspector/test/browser_inspector_destroy-before-ready.js | undefined assertion name 11:56:45 INFO - 829 INFO Adding a new tab with URL: 'data:text/html;charset=utf-8,test inspector destroy' 11:56:45 INFO - 830 INFO Loading the helper frame script chrome://mochitests/content/browser/browser/devtools/inspector/test/doc_frame_script.js 11:56:45 INFO - 831 INFO Waiting for event: 'load' on [object XULElement]. 11:56:45 INFO - 832 INFO Got event: 'load' on [object XULElement]. 11:56:45 INFO - 833 INFO URL 'data:text/html;charset=utf-8,test inspector destroy' loading complete 11:56:45 INFO - 834 INFO Open the toolbox on the debugger panel 11:56:45 INFO - 835 INFO Switch to the inspector panel and immediately end the test 11:56:45 INFO - 836 INFO Leaving test 11:56:45 INFO - 837 INFO TEST-UNEXPECTED-FAIL | browser/devtools/inspector/test/browser_inspector_destroy-before-ready.js | uncaught exception - TypeError: self._init is not a function at chrome://global/content/bindings/toolbar.xml:144 11:56:45 INFO - Stack trace: 11:56:45 INFO - chrome://mochikit/content/tests/SimpleTest/SimpleTest.js:simpletestOnerror:1474 11:56:45 INFO - null:null:0 11:56:45 INFO - JavaScript error: chrome://global/content/bindings/toolbar.xml, line 144: TypeError: self._init is not a function 11:56:45 INFO - 838 INFO Console message: [JavaScript Error: "TypeError: self._init is not a function" {file: "chrome://global/content/bindings/toolbar.xml" line: 144}] 11:56:46 INFO - 839 INFO MEMORY STAT vsize after test: 4026671104 11:56:46 INFO - 840 INFO MEMORY STAT residentFast after test: 460558336 11:56:46 INFO - 841 INFO MEMORY STAT heapAllocated after test: 141414216 11:56:46 INFO - 842 INFO TEST-OK | browser/devtools/inspector/test/browser_inspector_destroy-before-ready.js | took 883ms
Summary: Intermittent browser_inspector_destroy-before-ready.js | uncaught exception - TypeError: self._init is not a function at chrome://global/content/bindings/toolbar.xml:144 → Intermittent browser_inspector_destroy-before-ready.js,browser_telemetry_button_eyedropper.js,browser_webconsole_split.js | uncaught exception - TypeError: self._init is not a function at toolbar.xml:144
Sami, interested in investigating this one? :)
Flags: needinfo?(sjakthol)
An uncaught exception in a test that opens each tool once. Sound like fun. Luckily all of the duplicates seem to open inspector which is likely the culprit here.
Flags: needinfo?(sjakthol)
I took a stab at this a while back but that lead nowhere. I pushed some debugging code to try and kept the Mac test-slaves busy for a few weekends but wasn't able to reproduce this there. The failure itself is rather simple and could be easily averted by just checking if self._init is a function before calling it. The exception happens in an event handler so that the global for the element (or whatever this refers to in a XBL constructor) seems to be destroyed and references to it (in this case 'self') before the document.readyState changes to complete. Finding the real reason that's causing self._init to become something other than a function without real knowledge of how these things work is next to impossible.
Interesting that it hasn't hit since early April. I wonder if something changed in the mean time that made it go away.
Inactive; closing (see bug 1180138).
Status: NEW → RESOLVED
Closed: 10 years ago
Resolution: --- → WORKSFORME
Product: Firefox → DevTools
You need to log in before you can comment on or make changes to this bug.