Summary: | ASTERISK-27212: bridge_softmix: Quickly joining/leaving may cause video stream to remain in SFU | ||
Reporter: | Richard Mudgett (rmudgett) | Labels: | pjsip |
Date Opened: | 2017-08-22 11:44:41 | Date Closed: | 2017-08-23 14:07:33 |
Priority: | Major | Regression? | |
Status: | Closed/Complete | Components: | |
Versions: | 15.0.0-beta1 | Frequency of Occurrence | Occasional |
Related Issues: | |||
Environment: | Attachments: | ( 0) backtrace_20170818_full.txt ( 1) backtrace_20170818.txt | |
Description: | When a participant quickly joins/leaves a conference bridge in SFU there seems to be a race condition where the renegotiation to add the newly joined participant occurs for anyone still in the bridge but the renegotiation to remove the stream may not occur. This causes a "Waiting For Video" to show up on the existing participants indefinitely.
There are several problems: # The main problem is a deadlock between the bridge_channel and channel locks. Also the bridge lock needs to be held for other renentrancy reasons concerning the bridge struct members. # A FRACK occasionally happens when the stream topology is changing. # A crash can occasionally happen while the SDP is renegotiated. | ||
Comments: | By: Friendly Automation (friendly-automation) 2017-08-23 14:07:35.051-0500 Change 6271 merged by Jenkins2: channel: Fix topology API locking. [https://gerrit.asterisk.org/6271|https://gerrit.asterisk.org/6271] By: Friendly Automation (friendly-automation) 2017-08-23 14:19:13.650-0500 Change 6275 merged by Jenkins2: channel: Fix topology API locking. [https://gerrit.asterisk.org/6275|https://gerrit.asterisk.org/6275] By: Friendly Automation (friendly-automation) 2017-08-23 14:34:25.831-0500 Change 6272 merged by Jenkins2: bridge: Fix softmix bridge deadlock. [https://gerrit.asterisk.org/6272|https://gerrit.asterisk.org/6272] By: Friendly Automation (friendly-automation) 2017-08-23 14:34:26.628-0500 Change 6273 merged by Jenkins2: bridge_channel.c: Fix FRACK when mapping frames to the bridge. [https://gerrit.asterisk.org/6273|https://gerrit.asterisk.org/6273] By: Friendly Automation (friendly-automation) 2017-08-23 14:47:54.695-0500 Change 6276 merged by Jenkins2: bridge: Fix softmix bridge deadlock. [https://gerrit.asterisk.org/6276|https://gerrit.asterisk.org/6276] By: Friendly Automation (friendly-automation) 2017-08-23 14:47:56.092-0500 Change 6277 merged by Jenkins2: bridge_channel.c: Fix FRACK when mapping frames to the bridge. [https://gerrit.asterisk.org/6277|https://gerrit.asterisk.org/6277] By: Friendly Automation (friendly-automation) 2017-08-23 14:50:56.691-0500 Change 6279 merged by Joshua Colp: channel: Fix topology API locking. [https://gerrit.asterisk.org/6279|https://gerrit.asterisk.org/6279] By: Friendly Automation (friendly-automation) 2017-08-23 14:51:13.014-0500 Change 6280 merged by Joshua Colp: bridge: Fix softmix bridge deadlock. [https://gerrit.asterisk.org/6280|https://gerrit.asterisk.org/6280] By: Friendly Automation (friendly-automation) 2017-08-23 14:51:14.418-0500 Change 6281 merged by Joshua Colp: bridge_channel.c: Fix FRACK when mapping frames to the bridge. [https://gerrit.asterisk.org/6281|https://gerrit.asterisk.org/6281] By: Friendly Automation (friendly-automation) 2017-08-23 14:51:23.822-0500 Change 6282 merged by Joshua Colp: res_pjsip_session.c: Fix crash when declining an active stream. [https://gerrit.asterisk.org/6282|https://gerrit.asterisk.org/6282] By: Friendly Automation (friendly-automation) 2017-08-23 14:51:29.188-0500 Change 6278 merged by Joshua Colp: res_pjsip_session.c: Fix crash when declining an active stream. [https://gerrit.asterisk.org/6278|https://gerrit.asterisk.org/6278] By: Friendly Automation (friendly-automation) 2017-08-23 14:51:33.731-0500 Change 6274 merged by Joshua Colp: res_pjsip_session.c: Fix crash when declining an active stream. [https://gerrit.asterisk.org/6274|https://gerrit.asterisk.org/6274] |