Local stable-5765-1 docker setup works with 2 peers but not >2

Hello,

I had been running stable-5142 locally with Docker with no issues, but we want to upgrade our servers to the latest version. So I cleared out the old install and started from scratch with stable-5765-1. I’m testing in Chrome, and using all of the default Jitsi configs. I’m using standard HD cameras, not screen sharing. If I only have 2 connections, everything is fine. As soon as I add a 3rd connection, no participant can see or hear any other participants.

The only log message I see in the JVB above info level is this one, which I believe can be safely ignored from other forum posts?: WARNING: Invalid message received (Could not resolve type id ‘VideoTypeMessage’ as a subtype of org.jitsi.videobridge.message.BridgeChannelMessage: known type ids = [AddReceiver, ClientHello, DominantSpeakerEndpointChangeEvent, EndpointConnectivityStatusChangeEvent, EndpointMessage, EndpointStats, LastNChangedEvent, LastNEndpointsChangeEvent, ReceiverVideoConstraint, ReceiverVideoConstraints, RemoveReceiver, SelectedEndpointChangedEvent, SelectedEndpointsChangedEvent, SenderVideoConstraints, ServerHello]

Any suggestions on what could be causing this?

There are a few warnings in the client logs, I am not sure if they are related:

The AudioContext was not allowed to start. It must be resumed (or created) after a user gesture on the page. https://goo.gl/7K7WLu
(anonymous) @ LocalStatsCollector.js:22

2021-05-12T19:38:28.611Z [modules/xmpp/strophe.jingle.js] getting turn credentials with extdisco:2 failed, trying extdisco:1 <iq xmlns=​"jabber:​client" id=​"6eb66bba-12f7-45cf-adaa-958ec5034774:​sendIQ" from=​"meet.jitsi" to=​"d547ef39-707a-4590-9ca8-adb0adebbc8b@meet.jitsi/​G1Bzg16s" type=​"error">​<error type=​"cancel">​<service-unavailable xmlns=​"urn:​ietf:​params:​xml:​ns:​xmpp-stanzas">​​​​
o @ Logger.js:154

[Deprecation] Plan B SDP semantics, which is used when constructing an RTCPeerConnection with {sdpSemantics:“plan-b”}, is a legacy version of the Session Description Protocol that has severe compatibility issues on modern browsers. The standardized SDP format, “unified-plan”, has been used by default since M72 (January, 2019). Dropping support for Plan B is targeted for M93 (Canary: July 15, 2021; Stable: August 24, 2021).
A @ TraceablePeerConnection.js:233

[Deprecation] The ScriptProcessorNode is deprecated. Use AudioWorkletNode instead. (https://bit.ly/audio-worklet)
_initializeAudioContext @ TrackVADEmitter.js:112

And errors:

Logger.js:154 2021-05-12T19:38:47.272Z [JitsiMeetJS.js] <Object.getGlobalOnErrorHandler>: UnhandledError: The play() request was interrupted by a new load request. https://goo.gl/LdLk22 Script: null Line: null Column: null StackTrace: undefined
o @ Logger.js:154
getGlobalOnErrorHandler @ JitsiMeetJS.js:619
window.onunhandledrejection @ middleware.js:127

Logger.js:154 2021-05-12T19:38:47.273Z [modules/statistics/CallStats.js] <Function._reportError>: No error is passed!
o @ Logger.js:154
_reportError @ CallStats.js:198
sendApplicationLog @ CallStats.js:447
b.sendLog @ statistics.js:746
b.reportGlobalError @ statistics.js:782
getGlobalOnErrorHandler @ JitsiMeetJS.js:625
window.onunhandledrejection @ middleware.js:127
RTCUtils.js:789 Uncaught (in promise) DOMException: The play() request was interrupted by a new load request. https://goo.gl/LdLk22
t @ RTCUtils.js:789
attachMediaStream @ RTCUtils.js:1538
detach @ JitsiTrack.js:333
_detachTrack @ Video.js:304
componentWillUnmount @ Video.js:215
(anonymous) @ react-dom.production.min.js:196
fs @ react-dom.production.min.js:199
vs @ react-dom.production.min.js:205
vl @ react-dom.production.min.js:249
t.unstable_runWithPriority @ scheduler.production.min.js:18
Vr @ react-dom.production.min.js:120
yl @ react-dom.production.min.js:244
il @ react-dom.production.min.js:223
(anonymous) @ react-dom.production.min.js:121
t.unstable_runWithPriority @ scheduler.production.min.js:18
Vr @ react-dom.production.min.js:120
Kr @ react-dom.production.min.js:121
Gr @ react-dom.production.min.js:120
ol @ react-dom.production.min.js:224
notify @ Subscription.js:23
t.notifyNestedSubs @ Subscription.js:65
n.notifySubscribers @ Provider.js:59
t.handleChangeWrapper @ Subscription.js:70
g @ redux.js:220
(anonymous) @ index.js:14
(anonymous) @ middleware.js:29
(anonymous) @ middleware.js:32
(anonymous) @ middleware.js:31
(anonymous) @ middleware.web.js:31
(anonymous) @ middleware.any.js:22
(anonymous) @ middleware.js:67
(anonymous) @ middleware.js:43
(anonymous) @ middleware.js:61
(anonymous) @ middleware.js:83
(anonymous) @ middleware.js:71
(anonymous) @ middleware.js:78
(anonymous) @ middleware.js:39
(anonymous) @ middleware.js:106
(anonymous) @ middleware.js:38
(anonymous) @ middleware.js:33
(anonymous) @ middleware.web.js:24
(anonymous) @ middleware.any.js:93
(anonymous) @ middleware.js:77
(anonymous) @ middleware.web.js:20
(anonymous) @ middleware.js:44
(anonymous) @ middleware.js:25
(anonymous) @ middleware.js:16
(anonymous) @ middleware.js:21
(anonymous) @ middleware.js:23
(anonymous) @ middleware.js:21
(anonymous) @ middleware.js:148
(anonymous) @ middleware.js:16
(anonymous) @ middleware.js:36
(anonymous) @ middleware.js:33
(anonymous) @ middleware.js:177
(anonymous) @ middleware.js:39
(anonymous) @ middleware.js:24
(anonymous) @ middleware.js:27
(anonymous) @ middleware.web.js:20
(anonymous) @ middleware.js:42
(anonymous) @ middleware.js:149
(anonymous) @ middleware.js:21
(anonymous) @ middleware.js:60
(anonymous) @ middleware.js:44
(anonymous) @ middleware.js:49
(anonymous) @ middleware.js:28
(anonymous) @ middleware.js:12
(anonymous) @ middleware.js:39
(anonymous) @ middleware.js:35
(anonymous) @ middleware.web.js:42
(anonymous) @ middleware.any.js:533
(anonymous) @ middleware.any.js:99
(anonymous) @ middleware.js:106
(anonymous) @ middleware.js:19
(anonymous) @ middleware.web.js:33
(anonymous) @ middleware.js:91
(anonymous) @ middleware.js:103
(anonymous) @ middleware.js:24
(anonymous) @ middleware.js:20
(anonymous) @ middleware.js:15
(anonymous) @ middleware.js:23
(anonymous) @ middleware.js:20
(anonymous) @ middleware.js:25
(anonymous) @ middleware.js:74
(anonymous) @ middleware.js:63
(anonymous) @ middleware.js:198
(anonymous) @ middleware.web.js:109
(anonymous) @ conference.js:2057
a.emit @ events.js:157
(anonymous) @ JitsiConference.js:1906
ae.onRemoteTrackRemoved @ JitsiConference.js:1897
a.emit @ events.js:152
A._removeRemoteTrack @ TraceablePeerConnection.js:1145
A.close @ TraceablePeerConnection.js:2644
(anonymous) @ JingleSessionPC.js:2614
_processQueueTasks @ AsyncQueue.js:32
process @ async.js:809
(anonymous) @ setImmediate.js:40
m @ setImmediate.js:69
a @ setImmediate.js:109
postMessage (async)
i @ setImmediate.js:120
h.setImmediate @ setImmediate.js:27
n.nextTick.a.setImmediate @ async.js:110
(anonymous) @ async.js:768
l @ async.js:46
n @ async.js:753
push @ async.js:782
push @ AsyncQueue.js:62
_addOrRemoveRemoteStream @ JingleSessionPC.js:1776
removeRemoteStream @ JingleSessionPC.js:1664
onJingle @ strophe.jingle.js:235
run @ strophe.umd.js:1875
(anonymous) @ strophe.umd.js:3157
forEachChild @ strophe.umd.js:830
_dataRecv @ strophe.umd.js:3146
_onMessage @ strophe.umd.js:5836
Show 70 more frames

Logger.js:154 2021-05-12T19:38:47.273Z [JitsiMeetJS.js] <Object.getGlobalOnErrorHandler>: UnhandledError: The play() request was interrupted by a new load request. https://goo.gl/LdLk22 Script: null Line: null Column: null StackTrace: undefined
o @ Logger.js:154
getGlobalOnErrorHandler @ JitsiMeetJS.js:619
window.onunhandledrejection @ middleware.js:127

Logger.js:154 2021-05-12T19:38:47.273Z [modules/statistics/CallStats.js] <Function._reportError>: No error is passed!
o @ Logger.js:154
_reportError @ CallStats.js:198
sendApplicationLog @ CallStats.js:447
b.sendLog @ statistics.js:746
b.reportGlobalError @ statistics.js:782
getGlobalOnErrorHandler @ JitsiMeetJS.js:625
window.onunhandledrejection @ middleware.js:127
RTCUtils.js:789 Uncaught (in promise) DOMException: The play() request was interrupted by a new load request. https://goo.gl/LdLk22
t @ RTCUtils.js:789
attachMediaStream @ RTCUtils.js:1538
detach @ JitsiTrack.js:333
_detachTrack @ Video.js:304
componentWillUnmount @ Video.js:215
(anonymous) @ react-dom.production.min.js:196
fs @ react-dom.production.min.js:199
vs @ react-dom.production.min.js:205
vl @ react-dom.production.min.js:249
t.unstable_runWithPriority @ scheduler.production.min.js:18
Vr @ react-dom.production.min.js:120
yl @ react-dom.production.min.js:244
il @ react-dom.production.min.js:223
(anonymous) @ react-dom.production.min.js:121
t.unstable_runWithPriority @ scheduler.production.min.js:18
Vr @ react-dom.production.min.js:120
Kr @ react-dom.production.min.js:121
Gr @ react-dom.production.min.js:120
ol @ react-dom.production.min.js:224
notify @ Subscription.js:23
t.notifyNestedSubs @ Subscription.js:65
n.notifySubscribers @ Provider.js:59
t.handleChangeWrapper @ Subscription.js:70
g @ redux.js:220
(anonymous) @ index.js:14
(anonymous) @ middleware.js:29
(anonymous) @ middleware.js:32
(anonymous) @ middleware.js:31
(anonymous) @ middleware.web.js:31
(anonymous) @ middleware.any.js:22
(anonymous) @ middleware.js:67
(anonymous) @ middleware.js:43
(anonymous) @ middleware.js:61
(anonymous) @ middleware.js:83
(anonymous) @ middleware.js:71
(anonymous) @ middleware.js:78
(anonymous) @ middleware.js:39
(anonymous) @ middleware.js:106
(anonymous) @ middleware.js:38
(anonymous) @ middleware.js:33
(anonymous) @ middleware.web.js:24
(anonymous) @ middleware.any.js:93
(anonymous) @ middleware.js:77
(anonymous) @ middleware.web.js:20
(anonymous) @ middleware.js:44
(anonymous) @ middleware.js:25
(anonymous) @ middleware.js:16
(anonymous) @ middleware.js:21
(anonymous) @ middleware.js:23
(anonymous) @ middleware.js:21
(anonymous) @ middleware.js:148
(anonymous) @ middleware.js:16
(anonymous) @ middleware.js:36
(anonymous) @ middleware.js:33
(anonymous) @ middleware.js:177
(anonymous) @ middleware.js:39
(anonymous) @ middleware.js:24
(anonymous) @ middleware.js:27
(anonymous) @ middleware.web.js:20
(anonymous) @ middleware.js:42
(anonymous) @ middleware.js:149
(anonymous) @ middleware.js:21
(anonymous) @ middleware.js:60
(anonymous) @ middleware.js:44
(anonymous) @ middleware.js:49
(anonymous) @ middleware.js:28
(anonymous) @ middleware.js:12
(anonymous) @ middleware.js:39
(anonymous) @ middleware.js:35
(anonymous) @ middleware.web.js:42
(anonymous) @ middleware.any.js:533
(anonymous) @ middleware.any.js:99
(anonymous) @ middleware.js:106
(anonymous) @ middleware.js:19
(anonymous) @ middleware.web.js:33
(anonymous) @ middleware.js:91
(anonymous) @ middleware.js:103
(anonymous) @ middleware.js:24
(anonymous) @ middleware.js:20
(anonymous) @ middleware.js:15
(anonymous) @ middleware.js:23
(anonymous) @ middleware.js:20
(anonymous) @ middleware.js:25
(anonymous) @ middleware.js:74
(anonymous) @ middleware.js:63
(anonymous) @ middleware.js:198
(anonymous) @ middleware.web.js:109
(anonymous) @ conference.js:2057
a.emit @ events.js:157
(anonymous) @ JitsiConference.js:1906
ae.onRemoteTrackRemoved @ JitsiConference.js:1897
a.emit @ events.js:152
A._removeRemoteTrack @ TraceablePeerConnection.js:1145
A.close @ TraceablePeerConnection.js:2644
(anonymous) @ JingleSessionPC.js:2614
_processQueueTasks @ AsyncQueue.js:32
process @ async.js:809
(anonymous) @ setImmediate.js:40
m @ setImmediate.js:69
a @ setImmediate.js:109
postMessage (async)
i @ setImmediate.js:120
h.setImmediate @ setImmediate.js:27
n.nextTick.a.setImmediate @ async.js:110
(anonymous) @ async.js:768
l @ async.js:46
n @ async.js:753
push @ async.js:782
push @ AsyncQueue.js:62
_addOrRemoveRemoteStream @ JingleSessionPC.js:1776
removeRemoteStream @ JingleSessionPC.js:1664
onJingle @ strophe.jingle.js:235
run @ strophe.umd.js:1875
(anonymous) @ strophe.umd.js:3157
forEachChild @ strophe.umd.js:830
_dataRecv @ strophe.umd.js:3146
_onMessage @ strophe.umd.js:5836
Show 70 more frames

Logger.js:154 2021-05-12T19:38:47.282Z [modules/RTC/BridgeChannel.js] <WebSocket.e.onclose>: Channel closed by server

Logger.js:154 2021-05-12T19:38:47.282Z [modules/RTC/BridgeChannel.js] <WebSocket.e.onclose>: Channel closed: 1006

Maybe this is your problem:

I’m using the default configs, which appear to be set correctly. I changed the config to what’s in the Guide just to test it out, but got the same result.