Open Bug 1411767 Opened 7 years ago Updated 2 years ago

Non-fatal JS errors logged to console when running browser_PageActions.js

Categories

(Firefox :: Menus, defect, P3)

defect

Tracking

()

People

(Reporter: adw, Unassigned)

References

Details

(Whiteboard: [reserve-photon-structure])

When I run browser_PageActions.js locally, there are three JS errors logged to the console. The test finishes successfully anyway, so I'm not sure how important they are. The errors don't appear in any treeherder logs I looked at, but maybe that's because they're truncated? The first error is in the `withSubview` task: > 124 INFO TEST-PASS | browser/modules/test/browser/browser_PageActions.js | panelViewNode.id - "pageAction-urlbar-test-subview-subview" == "pageAction-urlbar-test-subview-subview" - > 125 INFO TEST-PASS | browser/modules/test/browser/browser_PageActions.js | panelViewNode should be non-null: [object XULElement] - {"__lastKnownBoundingRect":{}} == true - > 126 INFO TEST-PASS | browser/modules/test/browser/browser_PageActions.js | panelViewNode.id - "pageAction-urlbar-test-subview-subview" == "pageAction-urlbar-test-subview-subview" - > 127 INFO Console message: [JavaScript Error: "SlidingPanelViews :: index -1 out of bounds" {file: "resource:///modules/PanelMultiView.jsm" line: 77}] > set current@resource:///modules/PanelMultiView.jsm:77:13 > set currentView@resource:///modules/PanelMultiView.jsm:110:27 > set _currentSubView@resource:///modules/PanelMultiView.jsm:241:7 > hideAllViewsExcept@resource:///modules/PanelMultiView.jsm:486:5 > showSubView/this._currentShowPromise<@resource:///modules/PanelMultiView.jsm:593:11 > async*showSubView@resource:///modules/PanelMultiView.jsm:496:33 > showMainView@resource:///modules/PanelMultiView.jsm:448:14 > handleEvent@resource:///modules/PanelMultiView.jsm:1073:9 > hidePopup@chrome://global/content/bindings/popup.xml:150:13 > withSubview/subview.buttons[0].onCommand@chrome://mochitests/content/browser/browser/modules/test/browser/browser_PageActions.js:290:9 > onCommand@resource:///modules/PageActions.jsm:987:7 > _makePanelViewNodeForAction/<@chrome://browser/content/browser-pageActions.js:173:9 > withSubview@chrome://mochitests/content/browser/browser/modules/test/browser/browser_PageActions.js:388:3 > Async*Tester_execTest/<@chrome://mochikit/content/browser-test.js:807:21 > TaskImpl_run@resource://gre/modules/Task.jsm:331:42 > promise callback*TaskImpl_handleResultValue@resource://gre/modules/Task.jsm:408:7 > TaskImpl_run@resource://gre/modules/Task.jsm:339:15 > promise callback*TaskImpl_handleResultValue@resource://gre/modules/Task.jsm:408:7 > TaskImpl_run@resource://gre/modules/Task.jsm:339:15 > TaskImpl@resource://gre/modules/Task.jsm:280:3 > asyncFunction@resource://gre/modules/Task.jsm:252:14 > Task_spawn@resource://gre/modules/Task.jsm:166:12 > Tester_execTest@chrome://mochikit/content/browser-test.js:798:9 > Tester.prototype.nextTest</<@chrome://mochikit/content/browser-test.js:697:9 > SimpleTest.waitForFocus/waitForFocusInner/focusedOrLoaded/<@chrome://mochikit/content/tests/SimpleTest/SimpleTest.js:795:59 The second and third are in the `withIframe` task. They have the same stack and TEST-PASS lines before them: > 160 INFO TEST-PASS | browser/modules/test/browser/browser_PageActions.js | iframe localName - "iframe" == "iframe" - > 161 INFO TEST-PASS | browser/modules/test/browser/browser_PageActions.js | panelNode should be non-null: [object XULElement] - {"_prevFocus":{"QueryInterface":"function QueryInterface() {\n [native code]\n}","get":"function get() {\n [native code]\n == true - > 162 INFO TEST-PASS | browser/modules/test/browser/browser_PageActions.js | panelNode.id - "pageActionActivatedActionPanel" == "pageActionActivatedActionPanel" - > 163 INFO Console message: [JavaScript Error: "SlidingPanelViews :: index -1 out of bounds" {file: "resource:///modules/PanelMultiView.jsm" line: 77}] > set current@resource:///modules/PanelMultiView.jsm:77:13 > set currentView@resource:///modules/PanelMultiView.jsm:110:27 > set _currentSubView@resource:///modules/PanelMultiView.jsm:241:7 > hideAllViewsExcept@resource:///modules/PanelMultiView.jsm:486:5 > showSubView/this._currentShowPromise<@resource:///modules/PanelMultiView.jsm:593:11 > async*showSubView@resource:///modules/PanelMultiView.jsm:496:33 > showMainView@resource:///modules/PanelMultiView.jsm:448:14 > handleEvent@resource:///modules/PanelMultiView.jsm:1073:9 > hidePopup@chrome://global/content/bindings/popup.xml:150:13 > doCommandForAction@chrome://browser/content/browser-pageActions.js:495:5 > _makePanelButtonNodeForAction/<@chrome://browser/content/browser-pageActions.js:147:7 > doApply@chrome://mochikit/content/tests/SimpleTest/specialpowersAPI.js:148:10 > apply@chrome://mochikit/content/tests/SimpleTest/specialpowersAPI.js:213:30 > synthesizeMouseAtPoint@chrome://mochikit/content/tests/SimpleTest/EventUtils.js:425:7 > synthesizeMouse@chrome://mochikit/content/tests/SimpleTest/EventUtils.js:356:10 > synthesizeMouseAtCenter@chrome://mochikit/content/tests/SimpleTest/EventUtils.js:489:10 > withIframe@chrome://mochitests/content/browser/browser/modules/test/browser/browser_PageActions.js:499:3 > Async*Tester_execTest/<@chrome://mochikit/content/browser-test.js:807:21 > TaskImpl_run@resource://gre/modules/Task.jsm:331:42 > promise callback*TaskImpl_handleResultValue@resource://gre/modules/Task.jsm:408:7 > TaskImpl_run@resource://gre/modules/Task.jsm:339:15 > promise callback*TaskImpl_handleResultValue@resource://gre/modules/Task.jsm:408:7 > TaskImpl_run@resource://gre/modules/Task.jsm:339:15 > promise callback*TaskImpl_handleResultValue@resource://gre/modules/Task.jsm:408:7 > TaskImpl_run@resource://gre/modules/Task.jsm:339:15 > TaskImpl@resource://gre/modules/Task.jsm:280:3 > asyncFunction@resource://gre/modules/Task.jsm:252:14 > Task_spawn@resource://gre/modules/Task.jsm:166:12 > Tester_execTest@chrome://mochikit/content/browser-test.js:798:9 > Tester.prototype.nextTest</<@chrome://mochikit/content/browser-test.js:697:9 > SimpleTest.waitForFocus/waitForFocusInner/focusedOrLoaded/<@chrome://mochikit/content/tests/SimpleTest/SimpleTest.js:795:59
Priority: -- → P3
Whiteboard: [reserve-photon-structure]
Mike, do you know why/how this would happen? Seems the panelmultiview is confused.
Flags: needinfo?(mdeboer)
No, I don't know how/ when that would happen specifically. Generally speaking, the out of bounds error is thrown when the `currentView` setter is invoked with a panel that is not there - destroyed/ garbage collected or never added to the list dynamically using `_placeSubView()`.
Flags: needinfo?(mdeboer)
And sorry for the late reply; baby happened ;-)
Severity: normal → S3
You need to log in before you can comment on or make changes to this bug.