New issue
Advanced search Search tips
Note: Color blocks (like or ) mean that a user may not be available. Tooltip shows the reason.

Issue 905563 link

Starred by 1 user

Issue metadata

Status: Fixed
Owner:
Closed: Nov 21
Cc:
Components:
EstimatedDays: ----
NextAction: ----
OS: ----
Pri: 3
Type: Bug



Sign in to add a comment

[WPT] New failures introduced in external/wpt/webrtc by import https://crrev.com/c/1337291

Issue description

WPT import https://crrev.com/c/1337291 introduced new failures in external/wpt/webrtc:

List of new failures:
virtual/webrtc-wpt-unified-plan/external/wpt/webrtc/RTCPeerConnection-onnegotiationneeded.html new failing tests: https://crrev.com/c/1337291/4/third_party/WebKit/LayoutTests/virtual/webrtc-wpt-unified-plan/external/wpt/webrtc/RTCPeerConnection-onnegotiationneeded-expected.txt

This import contains upstream changes from f082fd63300fec7b6201cf5e0eaf0944ee7ccb6e to 42abd6cc7ebd7c0b0513639e1a8c1bd958638fed:
Merge pull request #14040 from youennf/remove-offerToReceiveAudio-use-outside-legacy: https://github.com/web-platform-tests/wpt/commit/42abd6cc7ebd7c0b0513639e1a8c1bd958638fed
Fix wpt: service-worker/navigation-redirect.https.html: https://github.com/web-platform-tests/wpt/commit/6856483bcc86322198f10e0c42385a7f9127eb66
[css-grid] Consider scrollbars in PopulateGridPositionsForDirection(): https://github.com/web-platform-tests/wpt/commit/ca8728e002fdfcdde1ee2efd39ebaccc823bf9b2
webdriver: replace iterator with literal list: https://github.com/web-platform-tests/wpt/commit/c9bbe9f44cc5854bd95b289905bd6988b9081d07
Worklet: Modernize service worker interception tests for worklets using async/await: https://github.com/web-platform-tests/wpt/commit/d16eb1ce23500e7234f58df86a59d5c00d222118
[wptserve] Eliminate race condition (#14024): https://github.com/web-platform-tests/wpt/commit/cbb25e2c99696956ed2a36e7bcdbdee1dca71705
Replace direct use of offerToReceiveAudio by generateAudioReceiveOnlyOffer. This allows to use non legacy APIs by default if supported.: https://github.com/web-platform-tests/wpt/commit/27e0acb4312abf064d6491ff29db3852a958dff8 [affecting this directory]

 
Components: -Blink>WebRTC Blink>WebRTC>PeerConnection
Owner: hbos@chromium.org
Status: Assigned (was: Untriaged)
Labels: Pri-3 Type-Bug
New failure is "FAIL negotiationneeded event should not fire if signaling state is not stable assert_unreached: Pending promise should never be resolved. Instead it is fulfilled with: [object Object] Reached unreachable code"

https://chromium-review.googlesource.com/c/chromium/src/+/1337291/4/third_party/WebKit/LayoutTests/virtual/webrtc-wpt-unified-plan/external/wpt/webrtc/RTCPeerConnection-onnegotiationneeded-expected.txt


This seems like the test should be flaky. The test fires a subsidiary async_test that waits for 100 ms and then fails if the event is fired.
The spec says that negotiationneeded will fire after the return to stable state, and I don't see where in the code it guarantees that it returns to stable state.

But the real cause is that generateAudioReceiveOnlyOffer(pc) calls pc.addTransceiver before calling pc.createOffer(), and pc.addTransceiver will cause negotiationneeded to fire before setLocalDescription(). The test needs to be rewritten to either disregard the initial signal or to not cause it to be fired.

Cc: yfab...@apple.com
Project Member

Comment 6 by bugdroid1@chromium.org, Nov 21

The following revision refers to this bug:
  https://chromium.googlesource.com/chromium/src.git/+/3b33b6fc54b0f6689866a1cdd45df64d85d57d4b

commit 3b33b6fc54b0f6689866a1cdd45df64d85d57d4b
Author: Harald Alvestrand <hta@chromium.org>
Date: Wed Nov 21 11:27:27 2018

Fix test failure caused by inappropriate event sequencing.

This is a minimal fix - move the generation of the track (which
causes onnegotiationneeded) to before we set the expectation that
no event will be fired.

Bug:  chromium:905563 
Change-Id: I879f6eb6130d719d7eaad71fed85044b690f0cb9
Reviewed-on: https://chromium-review.googlesource.com/c/1346030
Reviewed-by: Guido Urdaneta <guidou@chromium.org>
Commit-Queue: Harald Alvestrand <hta@chromium.org>
Cr-Commit-Position: refs/heads/master@{#609999}
[modify] https://crrev.com/3b33b6fc54b0f6689866a1cdd45df64d85d57d4b/third_party/WebKit/LayoutTests/external/wpt/webrtc/RTCPeerConnection-onnegotiationneeded.html
[modify] https://crrev.com/3b33b6fc54b0f6689866a1cdd45df64d85d57d4b/third_party/WebKit/LayoutTests/virtual/webrtc-wpt-unified-plan/external/wpt/webrtc/RTCPeerConnection-onnegotiationneeded-expected.txt

Owner: hta@chromium.org
Status: Fixed (was: Assigned)

Sign in to add a comment