Closed Bug 1525232 Opened 5 years ago Closed 5 years ago

Perma dom/media/tests/mochitest/identity/test_fingerprints.html | error in test: Promise rejection value is a non-unwrappable cross-compartment wrapper.

Categories

(Core :: WebRTC, defect, P5)

defect

Tracking

()

RESOLVED DUPLICATE of bug 1525191

People

(Reporter: intermittent-bug-filer, Unassigned)

References

Details

(Keywords: intermittent-failure)

#[markdown(off)]
Filed by: rmaries [at] mozilla.com

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

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

08:49:13 INFO - TEST-START | dom/media/tests/mochitest/identity/test_fingerprints.html
08:49:14 INFO - GECKO(4140) | TEST DEVICES: No test device found in media.audio_loopback_dev, using fake audio streams.
08:49:14 INFO - GECKO(4140) | TEST DEVICES: No test device found in media.video_loopback_dev, using fake video streams.
08:49:14 INFO - GECKO(4140) | [Child 1136: Main Thread]: I/signaling [main|PeerConnectionImpl] PeerConnectionImpl.cpp:337: PeerConnectionImpl: PeerConnectionImpl constructor for
08:49:14 INFO - GECKO(4140) | (unknown/INFO) insert '' (registry) succeeded:
08:49:14 INFO - GECKO(4140) | (registry/INFO) Initialized registry
08:49:14 INFO - GECKO(4140) | (registry/INFO) insert 'ice' (registry) succeeded: ice
08:49:14 INFO - GECKO(4140) | (registry/INFO) insert 'ice.pref' (registry) succeeded: ice.pref
08:49:14 INFO - GECKO(4140) | (registry/INFO) insert 'ice.pref.type' (registry) succeeded: ice.pref.type
08:49:14 INFO - GECKO(4140) | (registry/INFO) insert 'ice.pref.type.srv_rflx' (UCHAR) succeeded: 0x64
08:49:14 INFO - GECKO(4140) | (registry/INFO) insert 'ice.pref.type.peer_rflx' (UCHAR) succeeded: 0x6e
08:49:14 INFO - GECKO(4140) | (registry/INFO) insert 'ice.pref.type.host' (UCHAR) succeeded: 0x7e
08:49:14 INFO - GECKO(4140) | (registry/INFO) insert 'ice.pref.type.relayed' (UCHAR) succeeded: 0x05
08:49:14 INFO - GECKO(4140) | (registry/INFO) insert 'ice.pref.type.srv_rflx_tcp' (UCHAR) succeeded: 0x63
08:49:14 INFO - GECKO(4140) | (registry/INFO) insert 'ice.pref.type.peer_rflx_tcp' (UCHAR) succeeded: 0x6d
08:49:14 INFO - GECKO(4140) | (registry/INFO) insert 'ice.pref.type.host_tcp' (UCHAR) succeeded: 0x7d
08:49:14 INFO - GECKO(4140) | (registry/INFO) insert 'ice.pref.type.relayed_tcp' (UCHAR) succeeded: 0x00
08:49:14 INFO - GECKO(4140) | (registry/INFO) insert 'stun' (registry) succeeded: stun
08:49:14 INFO - GECKO(4140) | (registry/INFO) insert 'stun.client' (registry) succeeded: stun.client
08:49:14 INFO - GECKO(4140) | (registry/INFO) insert 'stun.client.maximum_transmits' (UINT4) succeeded: 14
08:49:14 INFO - GECKO(4140) | (registry/INFO) insert 'ice.trickle_grace_period' (UINT4) succeeded: 30000
08:49:14 INFO - GECKO(4140) | (registry/INFO) insert 'ice.tcp' (registry) succeeded: ice.tcp
08:49:14 INFO - GECKO(4140) | (registry/INFO) insert 'ice.tcp.so_sock_count' (INT4) succeeded: 0
08:49:14 INFO - GECKO(4140) | (registry/INFO) insert 'ice.tcp.listen_backlog' (INT4) succeeded: 10
08:49:14 INFO - GECKO(4140) | (registry/INFO) insert 'ice.tcp.disable' (char) succeeded: \000
08:49:14 INFO - GECKO(4140) | [Parent 5216: Socket Thread]: D/mtransport NrIceCtx static call to find local stun addresses
08:49:14 INFO - GECKO(4140) | [Child 1136: Main Thread]: I/signaling [main|PeerConnectionImpl] PeerConnectionImpl.cpp:337: PeerConnectionImpl: PeerConnectionImpl constructor for
08:49:14 INFO - GECKO(4140) | [Parent 5216: Socket Thread]: D/mtransport NrIceCtx static call to find local stun addresses
08:49:14 INFO - GECKO(4140) | TEST DEVICES: No test device found in media.audio_loopback_dev, using fake audio streams.
08:49:14 INFO - GECKO(4140) | TEST DEVICES: No test device found in media.video_loopback_dev, using fake video streams.
08:49:14 INFO - GECKO(4140) | [Child 1136: Main Thread]: I/signaling [main|PeerConnectionMedia] PeerConnectionMedia.cpp:79: OnStunAddrsAvailable: receiving (3) stun addrs
08:49:14 INFO - GECKO(4140) | [Child 1136: Main Thread]: I/signaling [main|PeerConnectionMedia] PeerConnectionMedia.cpp:79: OnStunAddrsAvailable: receiving (3) stun addrs
08:49:14 INFO - GECKO(4140) | [Child 1136: Main Thread]: I/signaling [main|PeerConnectionMedia] PeerConnectionMedia.cpp:51: OnProxyAvailable: Proxy Available: 0
08:49:14 INFO - GECKO(4140) | [Child 1136: Main Thread]: I/signaling [main|PeerConnectionMedia] PeerConnectionMedia.cpp:66: SetProxyOnPcm: Had proxyinfo
08:49:14 INFO - GECKO(4140) | [Child 1136: Main Thread]: I/signaling [main|PeerConnectionMedia] PeerConnectionMedia.cpp:51: OnProxyAvailable: Proxy Available: 0
08:49:14 INFO - GECKO(4140) | [Child 1136: Main Thread]: I/signaling [main|PeerConnectionMedia] PeerConnectionMedia.cpp:66: SetProxyOnPcm: Had proxyinfo
08:49:14 INFO - GECKO(4140) | JavaScript error: resource://gre/modules/media/IdpSandbox.jsm, line 72: Error: Load failed: 2153390069
08:49:14 INFO - TEST-INFO | started process screenshot
08:49:14 INFO - TEST-INFO | screenshot: exit 0
08:49:14 INFO - Buffered messages logged at 08:49:14
08:49:14 INFO - TEST-PASS | dom/media/tests/mochitest/identity/test_fingerprints.html | A valid string reason is expected
08:49:14 INFO - TEST-PASS | dom/media/tests/mochitest/identity/test_fingerprints.html | Reason cannot be empty
08:49:14 INFO - TEST-PASS | dom/media/tests/mochitest/identity/test_fingerprints.html | A valid string reason is expected
08:49:14 INFO - TEST-PASS | dom/media/tests/mochitest/identity/test_fingerprints.html | Reason cannot be empty
08:49:14 INFO - Skipping ICE Server for this test
08:49:14 INFO - Call getUserMedia for {"video":true}
08:49:14 INFO - TEST-PASS | dom/media/tests/mochitest/identity/test_fingerprints.html | No audio tracks shall be present
08:49:14 INFO - TEST-PASS | dom/media/tests/mochitest/identity/test_fingerprints.html | One video track shall be present
08:49:14 INFO - TEST-PASS | dom/media/tests/mochitest/identity/test_fingerprints.html | Track kind should be video
08:49:14 INFO - TEST-PASS | dom/media/tests/mochitest/identity/test_fingerprints.html | Track id should be defined
08:49:14 INFO - TEST-PASS | dom/media/tests/mochitest/identity/test_fingerprints.html | Track should not be muted
08:49:14 INFO - TEST-PASS | dom/media/tests/mochitest/identity/test_fingerprints.html | Got test stream
08:49:14 INFO - TEST-PASS | dom/media/tests/mochitest/identity/test_fingerprints.html | Got offer
08:49:14 INFO - Buffered messages finished
08:49:14 INFO - TEST-UNEXPECTED-FAIL | dom/media/tests/mochitest/identity/test_fingerprints.html | error in test: Promise rejection value is a non-unwrappable cross-compartment wrapper.
08:49:14 INFO - promise callback*@http://mochi.test:8888/tests/dom/media/tests/mochitest/identity/test_fingerprints.html:69:29
08:49:14 INFO - async*runNetworkTest/<@http://mochi.test:8888/tests/dom/media/tests/mochitest/pc.js:2187:13
08:49:14 INFO - async*runTestWhenReady/<@http://mochi.test:8888/tests/dom/media/tests/mochitest/head.js:473:41
08:49:14 INFO - promise callback*runTestWhenReady@http://mochi.test:8888/tests/dom/media/tests/mochitest/head.js:473:10
08:49:14 INFO - runNetworkTest@http://mochi.test:8888/tests/dom/media/tests/mochitest/pc.js:2169:9
08:49:14 INFO - async*@http://mochi.test:8888/tests/dom/media/tests/mochitest/identity/test_fingerprints.html:51:1
08:49:14 INFO -
08:49:14 INFO - SimpleTest.ok@SimpleTest/SimpleTest.js:275:7
08:49:14 INFO - @dom/media/tests/mochitest/identity/test_fingerprints.html:81:5
08:49:14 INFO - async*runNetworkTest/<@dom/media/tests/mochitest/pc.js:2187:13
08:49:14 INFO - async*runTestWhenReady/<@dom/media/tests/mochitest/head.js:473:41
08:49:14 INFO - promise callback*runTestWhenReady@dom/media/tests/mochitest/head.js:473:10
08:49:14 INFO - runNetworkTest@dom/media/tests/mochitest/pc.js:2169:9
08:49:14 INFO - async*@dom/media/tests/mochitest/identity/test_fingerprints.html:51:1
08:49:14 INFO - GECKO(4140) | [Child 1136: Main Thread]: I/signaling [main|PeerConnectionImpl] PeerConnectionImpl.cpp:2322: CloseInt: Closing PeerConnectionImpl 0922afc1de2330e3; ending call
08:49:14 INFO - GECKO(4140) | [Child 1136: Main Thread]: I/jsep [1549356554308000 (id=6442450952 url=http://mochi.test:8888/tests/dom/media/tests/mochitest/identity/test_fingerprints.html)]: stable -> closed
08:49:14 INFO - GECKO(4140) | [Child 1136: Main Thread]: I/signaling [main|PeerConnectionImpl] PeerConnectionImpl.cpp:2322: CloseInt: Closing PeerConnectionImpl 509e70436deaf35d; ending call
08:49:14 INFO - GECKO(4140) | [Child 1136: Main Thread]: I/jsep [1549356554317000 (id=6442450952 url=http://mochi.test:8888/tests/dom/media/tests/mochitest/identity/test_fingerprints.html)]: stable -> closed
08:49:14 INFO - GECKO(4140) | MEMORY STAT | vsize 487MB | vsizeMaxContiguous 1025MB | residentFast 74MB | heapAllocated 10MB

Flags: needinfo?(jib)
Summary: Intermittent dom/media/tests/mochitest/identity/test_fingerprints.html | error in test: Promise rejection value is a non-unwrappable cross-compartment wrapper. → Perma dom/media/tests/mochitest/identity/test_fingerprints.html | error in test: Promise rejection value is a non-unwrappable cross-compartment wrapper.

This seems like an infrastructure regression. All identity tests suddenly fail all at once, much like bug 1516441 on android a month ago. I'm not aware of any changes then or now to the identity code being tested.

Is there a way to get a regression window when Tier 2 tests perma fail like this? Is it effectively https://hg.mozilla.org/mozilla-central/pushloghtml?changeset=be1beccfb86d394a75f4af64dd8e21f5fff8ff88 ?

I can't tell from that list what might affect this or whom to ni? next.

FWIW the identity sub-folder has slightly different test harness setup than other code. The identity code is also sometimes sensitive to sandboxing changes. That's all I know.

error in test: Promise rejection value is a non-unwrappable cross-compartment

Oh, and this error means that something failed, but we're not allowed to see the error. This is caused by well-meaning cross-compartment wrappers protecting the PeerConnection.js browser code from leaking to content. Basically, the error object passed out as a promise rejection value is from a different compartment.

I can try to submit a patch to make the error visible, though the actual error may not reveal much, since they all seem to fail.

Flags: needinfo?(jib)

No need. Running the first test locally gives me:

DebuggeeWouldRun: debuggee `resource://devtools/shared/base-loader.js:364' would run builtin-modules.js:202:11
Ignoring unrecognized chrome manifest directive 'interfaces'. httpd.manifest:1
Use of nsIFile in content process is deprecated. PerTestCoverageUtils.jsm:23:22
The script from “http://mochi.test:8888/tests/dom/media/test/manifest.js” was loaded even though its MIME type (“text/html”) is not a valid JavaScript MIME type.[Learn More] test_fingerprints.html
Loading failed for the <script> with source “http://mochi.test:8888/tests/dom/media/test/manifest.js”. test_fingerprints.html:1:1
Error: Load failed: 2153390069 IdpSandbox.jsm:72:19
PAC file installed from data: URI

I.e. fails here: https://searchfox.org/mozilla-central/rev/9eb30227b21e0aa40d51d9f9b08bb0b113c5fadb/dom/media/IdpSandbox.jsm#72

with the error 2153390069 a.k.a. 'sec_error_expired_certificate'

So I think this is caused by bug 1525191.

See Also: → 1525191
Status: NEW → RESOLVED
Closed: 5 years ago
Resolution: --- → DUPLICATE
You need to log in before you can comment on or make changes to this bug.