Intermittent browser/components/extensions/test/browser/test-oop-extensions/browser_ext_popup_select.js | Select popup has the correct y origin - Got 99, expected 94

RESOLVED FIXED in Firefox 63

Status

defect
P5
normal
RESOLVED FIXED
Last year
6 months ago

People

(Reporter: intermittent-bug-filer, Assigned: rpl)

Tracking

({intermittent-failure})

unspecified
mozilla63
Bug Flags:
qe-verify -

Firefox Tracking Flags

(firefox63 fixed)

Details

(Whiteboard: [stockwell fixed])

Attachments

(1 attachment)

Filed by: apavel [at] mozilla.com

https://treeherder.mozilla.org/logviewer.html#?job_id=191494188&repo=autoland

https://queue.taskcluster.net/v1/task/EDxEgsWUQDeFuUYb8ZYZ4w/runs/0/artifacts/public/logs/live_backing.log

00:21:52     INFO - GECKO(2888) | 1533169312927	Marionette	TRACE	2 -> [0,6,"WebDriver:ExecuteScript",{"scriptTimeout":null,"newSandbox":true,"args":[{"testUrl":"about:blank","flavor":"browser-chr ...  new CustomEvent(\"mochitest-load\", {\"detail\": [flavor, url]});\nwin.dispatchEvent(ev);","sandbox":"default","line":1757}]
00:21:52     INFO - GECKO(2888) | 1533169312936	Marionette	TRACE	2 <- [1,6,null,{"value":null}]
00:21:52     INFO - GECKO(2888) | 1533169312963	Marionette	TRACE	2 -> [0,7,"Marionette:SetContext",{"value":"content"}]
00:21:52     INFO - GECKO(2888) | 1533169312964	Marionette	TRACE	2 <- [1,7,null,{"value":null}]
00:21:52     INFO - GECKO(2888) | 1533169312966	Marionette	TRACE	2 -> [0,8,"WebDriver:DeleteSession",{}]
00:21:52     INFO - GECKO(2888) | 1533169312967	Marionette	TRACE	2 <- [1,8,null,{"value":null}]
00:21:52     INFO - runtests.py | Waiting for browser...
00:21:52     INFO - GECKO(2888) | 1533169312970	Marionette	DEBUG	Closed connection 2
00:21:53     INFO - *** Start BrowserChrome Test Results ***
00:21:53     INFO - checking window state
00:21:53     INFO - TEST-START | browser/components/extensions/test/browser/test-oop-extensions/browser_ext_popup_select.js
00:21:53     INFO - TEST-INFO | started process screenshot
00:21:53     INFO - TEST-INFO | screenshot: exit 0
00:21:53     INFO - Buffered messages logged at 00:21:53
00:21:53     INFO - Entering test bound testPopupSelectPopup
00:21:53     INFO - Extension loaded
00:21:53     INFO - Console message: [JavaScript Warning: "Use of nsIFile in content process is deprecated." {file: "resource://gre/modules/FileUtils.jsm" line: 170}]
00:21:53     INFO - Test browserAction popup
00:21:53     INFO - TEST-PASS | browser/components/extensions/test/browser/test-oop-extensions/browser_ext_popup_select.js | Expect widget not to be overflowed - 
00:21:53     INFO - TEST-PASS | browser/components/extensions/test/browser/test-oop-extensions/browser_ext_popup_select.js | Select popup has the correct x origin - 
00:21:53     INFO - Buffered messages finished
00:21:53     INFO - TEST-UNEXPECTED-FAIL | browser/components/extensions/test/browser/test-oop-extensions/browser_ext_popup_select.js | Select popup has the correct y origin - Got 99, expected 94
00:21:53     INFO - Stack trace:
00:21:53     INFO - chrome://mochikit/content/browser-test.js:test_is:1305
00:21:53     INFO - chrome://mochitests/content/browser/browser/components/extensions/test/browser/test-oop-extensions/browser_ext_popup_select.js:testPanel:66
00:21:53     INFO - chrome://mochitests/content/browser/browser/components/extensions/test/browser/test-oop-extensions/browser_ext_popup_select.js:testPopupSelectPopup:75
00:21:53     INFO - chrome://mochikit/content/browser-test.js:Tester_execTest/<:1103
00:21:53     INFO - chrome://mochikit/content/browser-test.js:Tester_execTest:1094
00:21:53     INFO - chrome://mochikit/content/browser-test.js:nextTest/<:996
00:21:53     INFO - chrome://mochikit/content/tests/SimpleTest/SimpleTest.js:SimpleTest.waitForFocus/waitForFocusInner/focusedOrLoaded/<:795
00:21:53     INFO - GECKO(2888) | JavaScript error: resource://gre/modules/SelectParentHelper.jsm, line 226: TypeError: currentBrowser.messageManager is null
00:21:53     INFO - Test pageAction popup
00:21:53     INFO - Console message: [JavaScript Error: "TypeError: currentBrowser.messageManager is null" {file: "resource://gre/modules/SelectParentHelper.jsm" line: 226}]
00:21:53     INFO - GECKO(2888) | JavaScript error: resource://gre/modules/SelectParentHelper.jsm, line 193: TypeError: currentBrowser.messageManager is undefined
00:21:53     INFO - Console message: [JavaScript Error: "TypeError: currentBrowser.messageManager is undefined" {file: "resource://gre/modules/SelectParentHelper.jsm" line: 193}]
00:21:53     INFO - TEST-PASS | browser/components/extensions/test/browser/test-oop-extensions/browser_ext_popup_select.js | Select popup has the correct x origin - 
00:21:53     INFO - TEST-PASS | browser/components/extensions/test/browser/test-oop-extensions/browser_ext_popup_select.js | Select popup has the correct y origin - 
00:21:53     INFO - GECKO(2888) | JavaScript error: resource://gre/modules/SelectParentHelper.jsm, line 226: TypeError: currentBrowser.messageManager is null
00:21:53     INFO - Console message: [JavaScript Error: "TypeError: currentBrowser.messageManager is null" {file: "resource://gre/modules/SelectParentHelper.jsm" line: 226}]
00:21:53     INFO - Leaving test bound testPopupSelectPopup
00:21:53     INFO - GECKO(2888) | MEMORY STAT | vsize 1723MB | vsizeMaxContiguous 130348901MB | residentFast 249MB | heapAllocated 124MB
00:21:53     INFO - TEST-OK | browser/components/extensions/test/browser/test-oop-extensions/browser_ext_popup_select.js | took 795ms
This bug has failed 48 times in the last 7 days only on windows64 on pgo and opt build types.

Here is a recent log:
https://treeherder.mozilla.org/logviewer.html#?job_id=193246811&repo=mozilla-central&lineNumber=2331

TEST-PASS | browser/components/extensions/test/browser/test-oop-extensions/browser_ext_popup_select.js | Select popup has the correct x origin - 
10:40:13     INFO - Buffered messages finished
10:40:13     INFO - TEST-UNEXPECTED-FAIL | browser/components/extensions/test/browser/test-oop-extensions/browser_ext_popup_select.js | Select popup has the correct y origin - Got 99, expected 94
10:40:13     INFO - Stack trace:
10:40:13     INFO - chrome://mochikit/content/browser-test.js:test_is:1308
10:40:13     INFO - chrome://mochitests/content/browser/browser/components/extensions/test/browser/test-oop-extensions/browser_ext_popup_select.js:testPanel:66
10:40:13     INFO - chrome://mochitests/content/browser/browser/components/extensions/test/browser/test-oop-extensions/browser_ext_popup_select.js:testPopupSelectPopup:75
10:40:13     INFO - chrome://mochikit/content/browser-test.js:Tester_execTest/<:1106
10:40:13     INFO - chrome://mochikit/content/browser-test.js:Tester_execTest:1097
10:40:13     INFO - chrome://mochikit/content/browser-test.js:nextTest/<:999
10:40:13     INFO - chrome://mochikit/content/tests/SimpleTest/SimpleTest.js:SimpleTest.waitForFocus/waitForFocusInner/focusedOrLoaded/<:795
10:40:13     INFO - GECKO(5028) | JavaScript error: resource://gre/modules/SelectParentHelper.jsm, line 226: TypeError: currentBrowser.messageManager is null
10:40:13     INFO - Test pageAction popup
10:40:13     INFO - Console message: [JavaScript Error: "TypeError: currentBrowser.messageManager is null" {file: "resource://gre/modules/SelectParentHelper.jsm" line: 226}]
10:40:13     INFO - GECKO(5028) | JavaScript error: resource://gre/modules/SelectParentHelper.jsm, line 193: TypeError: currentBrowser.messageManager is undefined
10:40:13     INFO - Console message: [JavaScript Error: "TypeError: currentBrowser.messageManager is undefined" {file: "resource://gre/modules/SelectParentHelper.jsm" line: 193}]
10:40:13     INFO - TEST-PASS | browser/components/extensions/test/browser/test-oop-extensions/browser_ext_popup_select.js | Select popup has the correct x origin - 
10:40:13     INFO - TEST-PASS | browser/components/extensions/test/browser/test-oop-extensions/browser_ext_popup_select.js | Select popup has the correct y origin - 
10:40:13     INFO - GECKO(5028) | JavaScript error: resource://gre/modules/SelectParentHelper.jsm, line 226: TypeError: currentBrowser.messageManager is null
10:40:13     INFO - Console message: [JavaScript Error: "TypeError: currentBrowser.messageManager is null" {file: "resource://gre/modules/SelectParentHelper.jsm" line: 226}]
10:40:13     INFO - Leaving test bound testPopupSelectPopup
10:40:13     INFO - GECKO(5028) | MEMORY STAT | vsize 1707MB | vsizeMaxContiguous 130866417MB | residentFast 249MB | heapAllocated 125MB
10:40:13     INFO - TEST-OK | browser/components/extensions/test/browser/test-oop-extensions/browser_ext_popup_select.js | took 784ms

ddurst: Can you please take a look at this bug?
Flags: needinfo?(ddurst)
Whiteboard: [stockwell needswork]
From what I saw by reproducing it locally (e.g. I've also been able to trigger it locally pretty often on linux64 by using "./mach mochitest --verify"), the select popup may sometimes be still using part of its previous position while switching between the test case for the browserAction and the test case for the pageAction.

On linux64 this test was also (from time to time) sending the mouse event when the select element wasn't yet ready to be clicked in the extension popup.

This patch aims to make the behaviors of this test more stable by applying the following changes:
- disable the cosmeticAnimations while running these tests
- explicitly wait the select element in the popup (using ContentTask.spawn and ContentTaskUtils.waitForCondition) before sending it a mouse event
- explicilty close the select popup (and wait the select popup to be hidden) before proceeding to the next test case

The following push to try seems to confirm that these changes are helping to make the test more stable:
- https://treeherder.mozilla.org/#/jobs?repo=try&revision=086c526724ba409068d679036dd3ef13788535b6&selectedJob=194152144
Assignee: nobody → lgreco
Status: NEW → ASSIGNED
Flags: needinfo?(ddurst)
Comment on attachment 9001379 [details]
Bug 1480292 - Fix browser_ext_popup_select intermittent failures.

Shane Caraveo (:mixedpuppy) has approved the revision.
Attachment #9001379 - Flags: review+
Pushed by luca.greco@alcacoop.it:
https://hg.mozilla.org/integration/autoland/rev/f35fa6e7fb46
Fix browser_ext_popup_select intermittent failures. r=mixedpuppy
https://hg.mozilla.org/mozilla-central/rev/f35fa6e7fb46
Status: ASSIGNED → RESOLVED
Closed: 11 months ago
Resolution: --- → FIXED
Target Milestone: --- → mozilla63
Flags: qe-verify-
See Also: → 1482004, 1483701
Whiteboard: [stockwell disable-recommended] → [stockwell fixed]
You need to log in before you can comment on or make changes to this bug.