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

Issue 831996 link

Starred by 2 users

Issue metadata

Status: Fixed
Owner:
Last visit > 30 days ago
Closed: Apr 2018
Cc:
Components:
EstimatedDays: ----
NextAction: ----
OS: Linux
Pri: 2
Type: Bug



Sign in to add a comment

DOMException when trying to apply an answer with an empty bundle group

Reported by sca...@twilio.com, Apr 12 2018

Issue description

UserAgent: Mozilla/5.0 (X11; Linux x86_64) AppleWebKit/537.36 (KHTML, like Gecko) Ubuntu Chromium/65.0.3325.181 Chrome/65.0.3325.181 Safari/537.36

Steps to reproduce the problem:
1. Create an SDP offer that contains, for example, an m= line with video
2. Remote peer does not support that video codec. Answer set the port to 0 for that m line and remove the mid from bundle group.
3. Apply answer to the local peer

Here you have a simple jsfiddle that emulates this issue:
https://jsfiddle.net/sancane/yvLudL32/69/

What is the expected behavior?
Local peer should accept the answer given that empty groups are valid ones, it is not an error it just mean the remote peer did not support the offer.

What went wrong?
Error applying the answer: DOMException: Failed to set remote answer sdp: Failed to enable BUNDLE.

Did this work before? N/A 

Does this work in other browsers? Yes

Chrome version: 65.0.3325.181  Channel: stable
OS Version: 
Flash Version: 

* According to the Session Description Protocol (SDP) Grouping FrameworkRFC rfc5888, section 9 paragraph 2

A SIP entity that receives an offer that contains an "a=group" line
with semantics that are understood MUST return an answer that
contains an "a=group" line with the same semantics. The
identification-tags contained in this "a=group" line MUST be the same
as those received in the offer, or a subset of them (zero
dentification-tags is a valid subset). When the identification-tags
in the answer are a subset, the "group" value to be used in the
session MUST be the one present in the answer.
So 0 tags in the group is a valid value.
Furthermore, section 8 of draft-ietf-mmusic-sdp-bundle-negotiation-39 states that:

The generic rules and procedures defined in RFC3264 and RFC5888
also apply to the BUNDLE extension. For example, if an offer is
rejected by the answerer, the previously negotiated SDP parameters
and characteristics (including those associated with a BUNDLE group)
apply. Hence, if an offerer generates an offer in which the offerer
wants to create a BUNDLE group, and the answerer rejects the offer,
the BUNDLE group is not created.
So it seems that same restriction for groups negotiation are applied for bundle too.

* JSEP 5.3 refers to ref5888 and draft-ietf-mmusic-sdp-bundle-negotiation-39 to negotiate brundle groups:

If "a=group" attributes with semantics of "BUNDLE" are offered,
corresponding session-level "a=group" attributes MUST be added as
specified in RFC5888. These attributes MUST have semantics
"BUNDLE", and MUST include the all mid identifiers from the offered
bundle groups that have not been rejected....
 
Components: -Blink>WebRTC Blink>WebRTC>PeerConnection

Comment 2 by hbos@chromium.org, Apr 12 2018

Owner: deadbeef@chromium.org
deadbeef@ can you take a look or retriage?

Comment 3 by guidou@chromium.org, Apr 12 2018

Status: Assigned (was: Unconfirmed)
Labels: RegressedIn-67 Merge-Request-67 Stability-Crash
Status: Started (was: Assigned)
I agree this is an issue; fixing: https://webrtc-review.googlesource.com/c/src/+/69720

Requesting merge to M67 since the behavior has actually regressed; in M67 this will cause a crash rather than just throwing a DOMException.
Project Member

Comment 5 by sheriffbot@chromium.org, Apr 12 2018

Labels: -Merge-Request-67 Merge-Review-67 Hotlist-Merge-Review
This bug requires manual review: We don't branch M67 until 2018-04-12.
Please contact the milestone owner if you have questions.
Owners: cmasso@(Android), cmasso@(iOS), kbleicher@(ChromeOS), govind@(Desktop)

For more details visit https://www.chromium.org/issue-tracking/autotriage - Your friendly Sheriffbot
Project Member

Comment 6 by bugdroid1@chromium.org, Apr 12 2018

The following revision refers to this bug:
  https://webrtc.googlesource.com/src.git/+/0ab56511f14ce50b23341fd0c548575d024df2a5

commit 0ab56511f14ce50b23341fd0c548575d024df2a5
Author: Taylor Brandstetter <deadbeef@webrtc.org>
Date: Thu Apr 12 22:03:18 2018

Fix handling of empty BUNDLE groups.

This CL fixes issues when applying a description with an empty BUNDLE
group (previously it would fail, after recent refactoring it started
crashing).

This CL also will cause an empty BUNDLE group to be generated when it
should be. Namely, when responding to an offer that had a BUNDLE group,
rejecting everything in it.

Bug:  chromium:831996 
Change-Id: I4e705a328daef4e81f8f1ace6aa73ddfa13c0107
Reviewed-on: https://webrtc-review.googlesource.com/69720
Reviewed-by: Zhi Huang <zhihuang@webrtc.org>
Commit-Queue: Taylor Brandstetter <deadbeef@webrtc.org>
Cr-Commit-Position: refs/heads/master@{#22844}
[modify] https://crrev.com/0ab56511f14ce50b23341fd0c548575d024df2a5/pc/jseptransportcontroller.cc
[modify] https://crrev.com/0ab56511f14ce50b23341fd0c548575d024df2a5/pc/jseptransportcontroller.h
[modify] https://crrev.com/0ab56511f14ce50b23341fd0c548575d024df2a5/pc/mediasession.cc
[modify] https://crrev.com/0ab56511f14ce50b23341fd0c548575d024df2a5/pc/peerconnection_bundle_unittest.cc

Status: Fixed (was: Started)

Comment 8 by gov...@chromium.org, Apr 13 2018

Labels: -Merge-Review-67 Merge-Approved-67
Approving merge to M67 branch. Pls merge ASAP if M67 doesn't include this change.
Project Member

Comment 9 by bugdroid1@chromium.org, Apr 13 2018

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

commit c42eb293fc9fab232250d9550fc37f0677ede892
Author: webrtc-chromium-autoroll@skia-buildbots.google.com.iam.gserviceaccount.com <webrtc-chromium-autoroll@skia-buildbots.google.com.iam.gserviceaccount.com>
Date: Fri Apr 13 23:06:02 2018

Roll src/third_party/webrtc/ 3ef3bfc2a..3acffc3b1 (52 commits)

https://webrtc.googlesource.com/src.git/+log/3ef3bfc2aafa..3acffc3b1668

$ git log 3ef3bfc2a..3acffc3b1 --date=short --no-merges --format='%ad %ae %s'

Created with:
  roll-dep src/third_party/webrtc
BUG= chromium:811683 ,chromium:None,chromium:831093,chromium:None,chromium:None,chromium:b/77825904,chromium:None,chromium:None,chromium:None,chromium:831996,chromium:None,chromium:796112,chromium:None,chromium:None,chromium:None,chromium:None,chromium:None,chromium:None,chromium:None,chromium:None,chromium:None,chromium:None,chromium:None,chromium:827917


The AutoRoll server is located here: https://webrtc-chromium-roll.skia.org

Documentation for the AutoRoller is here:
https://skia.googlesource.com/buildbot/+/master/autoroll/README.md

If the roll is causing failures, please contact the current sheriff, who should
be CC'd on the roll, and stop the roller if necessary.


CQ_INCLUDE_TRYBOTS=master.tryserver.chromium.linux:linux_chromium_archive_rel_ng;master.tryserver.chromium.mac:mac_chromium_archive_rel_ng;master.tryserver.chromium.win:win-msvc-dbg
TBR=webrtc-chromium-sheriffs-robots@google.com

Change-Id: Ib12df502703e5c0d6c0d1dcb935f69f0166fa0be
Reviewed-on: https://chromium-review.googlesource.com/1012762
Commit-Queue: webrtc-chromium-autoroll <webrtc-chromium-autoroll@skia-buildbots.google.com.iam.gserviceaccount.com>
Reviewed-by: webrtc-chromium-autoroll <webrtc-chromium-autoroll@skia-buildbots.google.com.iam.gserviceaccount.com>
Cr-Commit-Position: refs/heads/master@{#550776}
[modify] https://crrev.com/c42eb293fc9fab232250d9550fc37f0677ede892/DEPS

Pls merge your change to M67 branch 3396 by 1:00 PM PT Monday (04/16/18) so we can pick it up for next M67 dev release. Thank you.
This is actually dependent on https://bugs.chromium.org/p/chromium/issues/detail?id=827917 also being fixed, which still needs to be verified. So it probably won't be merged today.
Ok, pls try to merge it before 1:00 PM PT tomorrow, Tuesday if all looks good. Thank you. 
Project Member

Comment 13 by sheriffbot@chromium.org, Apr 17 2018

Cc: gov...@chromium.org
This issue has been approved for a merge. Please merge the fix to any appropriate branches as soon as possible!

If all merges have been completed, please remove any remaining Merge-Approved labels from this issue.

Thanks for your time! To disable nags, add the Disable-Nags label.

For more details visit https://www.chromium.org/issue-tracking/autotriage - Your friendly Sheriffbot
Project Member

Comment 14 by bugdroid1@chromium.org, Apr 17 2018

Labels: merge-merged-testbranch
The following revision refers to this bug:
  https://chromium.googlesource.com/chromium/src.git/+/c42eb293fc9fab232250d9550fc37f0677ede892

commit c42eb293fc9fab232250d9550fc37f0677ede892
Author: webrtc-chromium-autoroll@skia-buildbots.google.com.iam.gserviceaccount.com <webrtc-chromium-autoroll@skia-buildbots.google.com.iam.gserviceaccount.com>
Date: Fri Apr 13 23:06:02 2018

Roll src/third_party/webrtc/ 3ef3bfc2a..3acffc3b1 (52 commits)

https://webrtc.googlesource.com/src.git/+log/3ef3bfc2aafa..3acffc3b1668

$ git log 3ef3bfc2a..3acffc3b1 --date=short --no-merges --format='%ad %ae %s'

Created with:
  roll-dep src/third_party/webrtc
BUG= chromium:811683 ,chromium:None,chromium:831093,chromium:None,chromium:None,chromium:b/77825904,chromium:None,chromium:None,chromium:None,chromium:831996,chromium:None,chromium:796112,chromium:None,chromium:None,chromium:None,chromium:None,chromium:None,chromium:None,chromium:None,chromium:None,chromium:None,chromium:None,chromium:None,chromium:827917


The AutoRoll server is located here: https://webrtc-chromium-roll.skia.org

Documentation for the AutoRoller is here:
https://skia.googlesource.com/buildbot/+/master/autoroll/README.md

If the roll is causing failures, please contact the current sheriff, who should
be CC'd on the roll, and stop the roller if necessary.


CQ_INCLUDE_TRYBOTS=master.tryserver.chromium.linux:linux_chromium_archive_rel_ng;master.tryserver.chromium.mac:mac_chromium_archive_rel_ng;master.tryserver.chromium.win:win-msvc-dbg
TBR=webrtc-chromium-sheriffs-robots@google.com

Change-Id: Ib12df502703e5c0d6c0d1dcb935f69f0166fa0be
Reviewed-on: https://chromium-review.googlesource.com/1012762
Commit-Queue: webrtc-chromium-autoroll <webrtc-chromium-autoroll@skia-buildbots.google.com.iam.gserviceaccount.com>
Reviewed-by: webrtc-chromium-autoroll <webrtc-chromium-autoroll@skia-buildbots.google.com.iam.gserviceaccount.com>
Cr-Commit-Position: refs/heads/master@{#550776}
[modify] https://crrev.com/c42eb293fc9fab232250d9550fc37f0677ede892/DEPS

Pls merge your change to M67 branch 3396 ASAP so we can pick it up for next M67 Dev/Beta release.

If already merged to M67 and nothing is pending, pls remove "Merge=Approved-67" label. Thank you.
Labels: Merge-Merged
Merged in this CL: https://webrtc-review.googlesource.com/c/src/+/70900
Labels: -Merge-Merged -Merge-Approved-67 merge-merged-67
Per comment #16, this is already merged to M67. So removing "Merge-Approved-67" label.
[bulk-edit: disregard if N/A] Can the owner please set milestone to this bug if applicable?

Sign in to add a comment