Closed Bug 1323880 Opened 6 years ago Closed 6 years ago

Intermittent browser/base/content/test/webrtc/browser_devices_get_user_media_screen.js | expected notification recording-window-ended - Got undefined, expected 1 and five more

Categories

(Firefox :: Site Permissions, defect)

51 Branch
defect
Not set
normal

Tracking

()

RESOLVED FIXED
Firefox 54
Tracking Status
firefox52 --- unaffected
firefox53 --- fixed
firefox54 --- fixed

People

(Reporter: philor, Assigned: florian)

References

Details

(Keywords: intermittent-failure, Whiteboard: [stockwell fixed])

Attachments

(1 file)

Pretty frequent on Win8 PGO, which usually means that it fails when the browser is fast and it'll fail some on Win7 and OS X too.

https://treeherder.mozilla.org/logviewer.html#?job_id=40662105&repo=mozilla-inbound

15:05:12     INFO - TEST-UNEXPECTED-FAIL | browser/base/content/test/webrtc/browser_devices_get_user_media_screen.js | expected notification recording-window-ended - Got undefined, expected 1
15:05:12     INFO - Stack trace:
15:05:12     INFO - chrome://mochikit/content/browser-test.js:test_is:913
15:05:12     INFO - chrome://mochitests/content/browser/browser/base/content/test/webrtc/head.js:listener:212
15:05:12     INFO - Not taking screenshot here: see the one that was previously logged
15:05:12     INFO - TEST-UNEXPECTED-FAIL | browser/base/content/test/webrtc/browser_devices_get_user_media_screen.js | recording-device-events notification unexpected - Got -1, expected 0
15:05:12     INFO - Stack trace:
15:05:12     INFO - chrome://mochikit/content/browser-test.js:test_is:913
15:05:12     INFO - chrome://mochitests/content/browser/browser/base/content/test/webrtc/head.js:listener:237
15:05:12     INFO - Not taking screenshot here: see the one that was previously logged
15:05:12     INFO - TEST-UNEXPECTED-FAIL | browser/base/content/test/webrtc/browser_devices_get_user_media_screen.js | expected nothing to be shared - {"screen":"Screen"} deepEqual {} - JS frame :: chrome://mochitests/content/browser/browser/base/content/test/webrtc/head.js :: checkNotSharing :: line 488
15:05:12     INFO - Stack trace:
15:05:12     INFO -     chrome://mochitests/content/browser/browser/base/content/test/webrtc/head.js:checkNotSharing:488
15:05:12     INFO -     process@resource://gre/modules/Promise.jsm -> resource://gre/modules/Promise-backend.js:932:23
15:05:12     INFO -     walkerLoop@resource://gre/modules/Promise.jsm -> resource://gre/modules/Promise-backend.js:813:7
15:05:12     INFO -     Promise*scheduleWalkerLoop@resource://gre/modules/Promise.jsm -> resource://gre/modules/Promise-backend.js:744:11
15:05:12     INFO -     schedulePromise@resource://gre/modules/Promise.jsm -> resource://gre/modules/Promise-backend.js:776:7
15:05:12     INFO -     completePromise@resource://gre/modules/Promise.jsm -> resource://gre/modules/Promise-backend.js:711:7
15:05:12     INFO -     listener@chrome://mochitests/content/browser/browser/base/content/test/webrtc/head.js:240:7
15:05:12     INFO - Not taking screenshot here: see the one that was previously logged
15:05:12     INFO - TEST-UNEXPECTED-FAIL | browser/base/content/test/webrtc/browser_devices_get_user_media_screen.js | no sharing indicator on the control center icon - 
15:05:12     INFO - Stack trace:
15:05:12     INFO -     chrome://mochitests/content/browser/browser/base/content/test/webrtc/head.js:checkNotSharing:491
15:05:12     INFO -     process@resource://gre/modules/Promise.jsm -> resource://gre/modules/Promise-backend.js:932:23
15:05:12     INFO -     walkerLoop@resource://gre/modules/Promise.jsm -> resource://gre/modules/Promise-backend.js:813:7
15:05:12     INFO -     Promise*scheduleWalkerLoop@resource://gre/modules/Promise.jsm -> resource://gre/modules/Promise-backend.js:744:11
15:05:12     INFO -     schedulePromise@resource://gre/modules/Promise.jsm -> resource://gre/modules/Promise-backend.js:776:7
15:05:12     INFO -     completePromise@resource://gre/modules/Promise.jsm -> resource://gre/modules/Promise-backend.js:711:7
15:05:12     INFO -     listener@chrome://mochitests/content/browser/browser/base/content/test/webrtc/head.js:240:7
15:05:12     INFO - waiting for the global indicator to be hidden
15:05:12     INFO - TEST DEVICES: No test devices found (in media.{audio,video}_loopback_dev, using fake streams.
15:05:12     INFO - TEST-PASS | browser/base/content/test/webrtc/browser_devices_get_user_media_screen.js | WebRTC indicator hidden - 
15:05:12     INFO - TEST-PASS | browser/base/content/test/webrtc/browser_devices_get_user_media_screen.js | camera global indicator as expected - 
15:05:12     INFO - TEST-PASS | browser/base/content/test/webrtc/browser_devices_get_user_media_screen.js | microphone global indicator as expected - 
15:05:12     INFO - TEST-PASS | browser/base/content/test/webrtc/browser_devices_get_user_media_screen.js | screen global indicator as expected - 
15:05:12     INFO - TEST-PASS | browser/base/content/test/webrtc/browser_devices_get_user_media_screen.js | WebRTC menu should be hidden - 
15:05:12     INFO - TEST-PASS | browser/base/content/test/webrtc/browser_devices_get_user_media_screen.js | popup WebRTC indicator hidden - 
15:05:12     INFO - Not taking screenshot here: see the one that was previously logged
15:05:12     INFO - TEST-UNEXPECTED-FAIL | browser/base/content/test/webrtc/browser_devices_get_user_media_screen.js | recording-window-ended notification unexpected - Got 1, expected 0
15:05:12     INFO - Stack trace:
15:05:12     INFO - chrome://mochikit/content/browser-test.js:test_is:913
15:05:12     INFO - chrome://mochitests/content/browser/browser/base/content/test/webrtc/head.js:listener:237
15:05:12     INFO - Not taking screenshot here: see the one that was previously logged
15:05:12     INFO - TEST-UNEXPECTED-FAIL | browser/base/content/test/webrtc/browser_devices_get_user_media_screen.js | recording-device-events notification unexpected - Got 1, expected 0
15:05:12     INFO - Stack trace:
15:05:12     INFO - chrome://mochikit/content/browser-test.js:test_is:913
15:05:12     INFO - chrome://mochitests/content/browser/browser/base/content/test/webrtc/head.js:listener:237
(In reply to OrangeFactor Robot from comment #1)

> Platform breakdown:
> * windows8-64: 17
> * linux32: 2
> * windows7-32-vm: 1

The 2 linux32 failures here have a different error message ("recording-device-events notification unexpected - Got 1, expected 0" or "expected notification recording-device-events - Got 2, expected 1") and are actually bug 1320994.
(In reply to Florian Quèze [:florian] [:flo] from comment #2)
> (In reply to OrangeFactor Robot from comment #1)
> 
> > Platform breakdown:
> > * windows8-64: 17
> > * linux32: 2
> > * windows7-32-vm: 1
> 
> The 2 linux32 failures here have a different error message
> ("recording-device-events notification unexpected - Got 1, expected 0" or
> "expected notification recording-device-events - Got 2, expected 1") and are
> actually bug 1320994.

Well, I see the more specific bug 1324303 and bug 1324261 have been filed for these 2 specific failures.
:flo, I see a lot of win8 errors here as well as a good amount of linux32 errors in bug 1324303 and bug 1324261.

If you add those up, this test is trending on our top 10 list of intermittent failures- by itself, this bug is the only one to cross the >=30 failures/week threshold where we will investigate and work towards resolving/disabling the test case.

Can you take a look at this test case and try to solve these issues?  Do let me know if you could work better with more information and I can try to get it for you!
Flags: needinfo?(florian)
(In reply to Joel Maher ( :jmaher) from comment #10)
> :flo, I see a lot of win8 errors here as well as a good amount of linux32
> errors in bug 1324303 and bug 1324261.
> 
> If you add those up, this test is trending on our top 10 list of
> intermittent failures- by itself, this bug is the only one to cross the >=30
> failures/week threshold where we will investigate and work towards
> resolving/disabling the test case.
> 
> Can you take a look at this test case and try to solve these issues?

So the failure here is with undefined as the result. I think that's because we are not waiting long enough.

I don't know why the order of the recording-device-events and recording-window-ended notifications isn't deterministic on Windows 8, but I don't think the order is very important, so the patch I just pushed to try waits for both.


bug 1324303 and bug 1324261 are the recording-device-events notifications count being non deterministic, that's actually bug 1320994, and is the reason why the test is currently disabled on Linux opt.


Additionally, on brasstacks I see two OS X failures associated with this bug, but they are a different issue:

TEST-UNEXPECTED-FAIL | browser/base/content/test/webrtc/browser_devices_get_user_media_screen.js | NotFoundError, likely because there's no other application running. - Got error: OverconstrainedError: Constraints could be not satisfied., expected error: NotFoundError: The object can not be found here.

We could make the test hide that if needed, but really it's a platform bug that needs fixing.
Flags: needinfo?(florian)
Assignee: nobody → florian
Status: NEW → ASSIGNED
Comment on attachment 8832634 [details] [diff] [review]
Wait for the recording-window-ended notification

Review of attachment 8832634 [details] [diff] [review]:
-----------------------------------------------------------------

LGTM
Attachment #8832634 - Flags: review?(past) → review+
https://hg.mozilla.org/integration/mozilla-inbound/rev/b7f8236613d805aafb25c083b0af3efaa5fdf6aa
Bug 1323880 - Wait for the recording-window-ended notification instead of expecting it to happen before recording-device-events when reloading the page, r=past.
https://hg.mozilla.org/mozilla-central/rev/b7f8236613d8
Status: ASSIGNED → RESOLVED
Closed: 6 years ago
Resolution: --- → FIXED
Target Milestone: --- → Firefox 54
Depends on: 1338038
Whiteboard: [stockwell fixed]
You need to log in before you can comment on or make changes to this bug.