E2EE error [modules/e2ee/OlmAdapter.js] <ls.updateKey>: Tried to send key to participant xxxyyyyy but we have no session

Hi everyone,

Lately every time I try to enable E2EE it doesn’t seem to work any longer and I always get the error message in the title. I don’t understand why it complains about a missing session. The call between 2 peers using latest Brave seems fine. Only when I enable E2EE the error happens.

I have websockets deployed and I don’t see any errors in the console except the “Tried to send key to participant xxxyyyyy but we have no session”.

Not sure what the issue is or where I can start looking to debug this.
Any suggestions?

Thanks

Edit to add more info:
I saw this issue [HELP] Stops work with new CHROME version 86.0.4240.75 - #30 by Guillaume_Potier and I tried replacing the lib-jitsi-meet libraries with the latest ones downloaded from here , restarted jvb, but that didn’t fix it.

I’m testing on linux with Brave v1.45.114 and on the other side a Macbook ARM running Brave 1.45.113

Are you testing on meet.jit.si ? Do you see any other olm logs before that one?

Hey @saghul

Yes I just tested on meet.jit.si and got the same problem.

Here are some excerpts from the logs:

BridgeChannel.js:84 WebSocket connection to 'wss://meet-jit-si-uk-london-1-local-3541-jvb-42-104-223.jitsi.net/colibri-ws/default-id/e720136dc1a74356/205930d7?pwd=3quanb8tf6ah9so079h17qjfl0' failed: 

Logger.js:154 2022-10-29T14:19:26.575Z [modules/xmpp/JingleSessionPC.js] JingleSessionPC[session=JVB,initiator=false,sid=bjklhp8e9veta] Queued replaceTrack task. Old track = LocalTrack[1,audio], new track = null
Logger.js:154 2022-10-29T14:19:26.576Z [modules/xmpp/JingleSessionPC.js] JingleSessionPC[session=JVB,initiator=false,sid=bjklhp8e9veta] Replace track error: Error: The queue has been stopped
    at Lo.push (lib-jitsi-meet.min.js:2:190695)
Logger.js:154 2022-10-29T14:19:26.581Z [modules/xmpp/JingleSessionPC.js] JingleSessionPC[session=P2P,initiator=true,sid=9b5b436a6456] Queued replaceTrack task. Old track = LocalTrack[2,video], new track = null
Logger.js:154 2022-10-29T14:19:26.582Z [modules/xmpp/JingleSessionPC.js] JingleSessionPC[session=P2P,initiator=true,sid=9b5b436a6456] replaceTrack worker started. oldTrack = LocalTrack[1,audio], newTrack = null
Logger.js:154 2022-10-29T14:19:26.585Z [modules/RTC/TPCUtils.js] <jd.replaceTrack>:  TPC[id=3,type=P2P] Replacing LocalTrack[1,audio] with null
Logger.js:154 2022-10-29T14:19:26.586Z [JitsiConference.js] replaceTrack failed: Error: The queue has been stopped

Logger.js:154 2022-10-29T14:19:26.618Z [modules/xmpp/JingleSessionPC.js] JingleSessionPC[session=P2P,initiator=true,sid=9b5b436a6456] TPC.replaceTrack finished. shouldRenegotiate = true, JingleSessionState = active
​ 2022-10-29T14:19:26.623Z [modules/xmpp/JingleSessionPC.js] <Ko._initiatorRenegotiate>:  JingleSessionPC[session=P2P,initiator=true,sid=9b5b436a6456] Renegotiate: creating offer
​ 2022-10-29T14:19:26.627Z [JitsiMeetJS.ts] <Object.getGlobalOnErrorHandler>:  UnhandledError: The queue has been stopped Script: null Line: null Column: null StackTrace:  Error: The queue has been stopped

(anonymous) @ app.bundle.min.js:2
​ 2022-10-29T14:19:26.642Z [modules/xmpp/JingleSessionPC.js] JingleSessionPC[session=P2P,initiator=true,sid=9b5b436a6456] Renegotiate: setting local description
​ 2022-10-29T14:19:26.666Z [modules/xmpp/JingleSessionPC.js] JingleSessionPC[session=P2P,initiator=true,sid=9b5b436a6456] Renegotiate: setting remote description
​ 2022-10-29T14:19:26.675Z [features/rtcstats] <Object.handleTraceWSClose>:  RTCStats trace ws closed {code: 1005, reason: ''}
tugatest:64 (TIME) index.html loaded:	 202.8999999910593
Logger.js:154 2022-10-29T14:19:26.823Z [modules/browser/BrowserCapabilities.js] <new <anonymous>>:  This appears to be chrome, ver: 107.0.0.0

ontentscript.js:1 Uncaught TypeError: Cannot read properties of null (reading 'target')
  at i._onMessage (contentscript.js:1:150156)
_onMessage @ contentscript.js:1

Logger.js:154 2022-10-29T14:19:31.110Z [modules/RTC/CodecSelection.js] <new ma>:  Codec preferences for the conference are JVB: vp9,
            P2P: vp9
Logger.js:154 2022-10-29T14:19:31.111Z [modules/xmpp/xmpp.js] <ua.createRoom>:  JID ca23a14e-24d0-4f04-8e1a-209a101e2ac9@meet.jit.si/mlk1gydqMMyu using MUC nickname ca23a14e
Logger.js:154 2022-10-29T14:19:31.111Z [modules/xmpp/ChatRoom.js] <new br>:  Joined MUC as tugatest@conference.meet.jit.si/ca23a14e
Logger.js:154 2022-10-29T14:19:31.114Z [modules/qualitycontrol/ReceiveVideoController.js] <Ll.updateLastN>:  Updating ReceiverVideoConstraints lastN(25)
Logger.js:154 2022-10-29T14:19:31.131Z [JitsiConference.js] <Uu._init>:  Using VAD detection for generating talk while muted events
Logger.js:154 2022-10-29T14:19:31.132Z [modules/statistics/AvgRTPStatsReporter.js] <new ql>:  Avg RTP stats will be calculated every 15 samples
Logger.js:154 2022-10-29T14:19:31.133Z [JitsiConference.js] <new Uu>:  backToP2PDelay: 5
Logger.js:154 2022-10-29T14:19:31.133Z [modules/videosipgw/VideoSIPGW.js] <new Lu>:  creating VideoSIPGW
Logger.js:154 2022-10-29T14:19:31.134Z [JitsiConference.js] <new Uu>:  End-to-End Encryption is supported
Logger.js:154 2022-10-29T14:19:31.136Z [modules/e2ee/OlmAdapter.js] <Es._bootstrapOlm>:  Initializing Olm...
Logger.js:154 2022-10-29T14:19:31.137Z [modules/util/TaskQueue.js] <VZ._executeNext>:  Executing a task.
Logger.js:154 2022-10-29T14:19:31.138Z [modules/util/TaskQueue.js] <VZ._onTaskComplete>:  Task completed.
Logger.js:154 2022-10-29T14:19:31.138Z [conference.js] _setLocalAudioVideoStreams is calling useVideoStream with track: LocalTrack[2,video]
Logger.js:154 2022-10-29T14:19:31.138Z [conference.js] <Object.useVideoStream>:  useVideoStream: LocalTrack[2,video]
Logger.js:154 2022-10-29T14:19:31.139Z [modules/util/TaskQueue.js] <VZ._executeNext>:  Executing a task.
Logger.js:154 2022-10-29T14:19:31.139Z [conference.js] <VZ._currentTask>:  useVideoStream: Replacing LocalTrack[2,video] with LocalTrack[2,video]
Logger.js:154 2022-10-29T14:19:31.139Z [modules/util/TaskQueue.js] <VZ._onTaskComplete>:  Task completed.
Logger.js:154 2022-10-29T14:19:31.141Z [JitsiConference.js] <Uu._doReplaceTrack>:  _doReplaceTrack - no JVB JingleSession
Logger.js:154 2022-10-29T14:19:31.142Z [JitsiConference.js] <Uu._doReplaceTrack>:  _doReplaceTrack - no P2P JingleSession
Logger.js:154 2022-10-29T14:19:31.144Z [JitsiConference.js] <Uu._doReplaceTrack>:  _doReplaceTrack - no JVB JingleSession
Logger.js:154 2022-10-29T14:19:31.144Z [JitsiConference.js] <Uu._doReplaceTrack>:  _doReplaceTrack - no P2P JingleSession
Logger.js:154 2022-10-29T14:19:31.166Z [modules/xmpp/moderator.js] <Sr.setFocusUserJid>:  Focus jid set to:  undefined
Logger.js:154 2022-10-29T14:19:31.167Z [modules/xmpp/moderator.js] <Sr.createConferenceIq>:  Session ID: null machine UID: 2278c4bfd734e6a5f175e0087823b6bc
Logger.js:154 2022-10-29T14:19:31.169Z [modules/e2ee/OlmAdapter.js] <Es._bootstrapOlm>:  Olm 3.2.3 initialized
Logger.js:154 2022-10-29T14:19:31.169Z [modules/e2ee/OlmAdapter.js] <Es._onIdKeyReady>:  Olm id key ready: rO6PycOU3v+4tuSs7g+gMflxFhRGXjTi35GmjRiKWF4
Logger.js:154 2022-10-29T14:19:31.170Z [conference.js] Initialized with 2 local tracks

Logger.js:154 2022-10-29T14:19:31.296Z [modules/xmpp/ChatRoom.js] <br.onPresence>:  entered tugatest@conference.meet.jit.si/365a9c09 {isReplaceParticipant: 0, affiliation: 'owner', role: 'moderator', jid: '365a9c09-d026-450a-8183-047bcdb1772f@meet.jit.si/QJn2XlKVhsJn', isFocus: false, …}
Logger.js:154 2022-10-29T14:19:31.329Z [conference.js] <r.<anonymous>>:  USER 365a9c09 connected: Ui {_jid: 'tugatest@conference.meet.jit.si/365a9c09', _id: '365a9c09', _conference: Uu, _displayName: 'mbook', _supportsDTMF: false, …}
Logger.js:154 2022-10-29T14:19:31.330Z [modules/e2ee/ManagedKeyHandler.js] <Cs._onParticipantPropertyChanged>:  Participant 365a9c09 updated their id key: VaFOtst476qcUTtbVSelALwo7w/A+tkkAMz+hn636Cs

Bd.peerconnection.oniceconnectionstatechange @ TraceablePeerConnection.js:383
Logger.js:154 2022-10-29T14:19:42.309Z [modules/connectivity/TrackStreamingStatus.ts] Set RTC mute timeout for: 365a9c09-v0 of 10000 ms
Logger.js:154 2022-10-29T14:19:42.309Z [modules/connectivity/TrackStreamingStatus.ts] <Dd.figureOutStreamingStatus>:  Figure out conn status for 365a9c09-v0, is video muted: false video track frozen: false p2p mode: true is in forwarded sources: true currentStatus => newStatus: active => active
Logger.js:154 2022-10-29T14:19:46.212Z [features/e2ee] E2EE will be enabled
Logger.js:154 2022-10-29T14:19:46.235Z [modules/e2ee/OlmAdapter.js] <Es.updateKey>:  Tried to send key to participant 365a9c09 but we have no session
r @ Logger.js:154
updateKey @ OlmAdapter.js:139
_setEnabled @ ManagedKeyHandler.js:73
await in _setEnabled (async)
setEnabled @ KeyHandler.js:80
setEnabled @ E2EEncryption.js:61

Logger.js:154 2022-10-29T14:19:46.433Z [modules/e2ee/OlmAdapter.js] <Es._onParticipantE2EEChannelReady>:  E2EE channel with participant 365a9c09 is ready
Logger.js:154 2022-10-29T14:19:46.435Z [modules/xmpp/strophe.jingle.js] <Xo.onJingle>:  Found a JSON-encoded element in session-initiate, translating to standard Jingle.
Logger.js:154 2022-10-29T14:19:46.435Z [modules/xmpp/strophe.jingle.js] <Xo.onJingle>:  Received session-initiate from tugatest@conference.meet.jit.si/focus with sources=jvb:[2636334743,1199851652], 365a9c09:[1144282834,4281156066,2166854479]
Logger.js:154 2022-10-29T14:19:46.435Z [modules/xmpp/strophe.jingle.js] <Xo.onJingle>:  (TIME) received session-initiate:	 19841.59999999404
Logger.js:154 2022-10-29T14:19:46.444Z [modules/RTC/RTC.js] <Xd.createPeerConnection>:  E2EE - setting insertable streams constraints
Logger.js:154 2022-10-29T14:19:46.446Z [modules/RTC/TraceablePeerConnection.js] <new Bd>:  Using RTCRtpTransceiver#setCodecPreferences for codec selection
Logger.js:154 2022-10-29T14:19:46.447Z [modules/RTC/TraceablePeerConnection.js] <new Bd>:  Create new TPC[id=3,type=JVB]
Logger.js:154 2022-10-29T14:19:46.447Z [modules/RTC/BridgeChannel.js] <new va>:  constructor() with wsUrl:"wss://meet-jit-si-uk-london-1-local-3541-jvb-42-104-223.jitsi.net:443/colibri-ws/default-id/948c211813d0c1b2/ca23a14e?pwd=lpukubm1fq8bh91rdaqieid2p"
Logger.js:154 2022-10-29T14:19:46.448Z [modules/xmpp/JingleSessionPC.js] <Ko.setOfferAnswerCycle>:  JingleSessionPC[session=JVB,initiator=false,sid=f38icdoheh6ke] Queued setOfferAnswerCycle task
Logger.js:154 2022-10-29T14:19:46.448Z [JitsiConference.js] <Uu._acceptJvbIncomingCall>:  Starting CallStats for JVB connection...
Logger.js:154 2022-10-29T14:19:46.448Z [modules/statistics/RTPStatsCollector.js] <yi.start>:  Using RTCRtpSynchronizationSource for remote audio levels
Logger.js:154 2022-10-29T14:19:46.449Z [modules/RTC/TraceablePeerConnection.js] <Bd.addTrack>:  TPC[id=3,type=JVB] adding LocalTrack[1,audio]
Logger.js:154 2022-10-29T14:19:46.449Z [modules/RTC/TraceablePeerConnection.js] <Bd.addTrack>:  TPC[id=3,type=JVB] adding LocalTrack[2,video]
Logger.js:154 2022-10-29T14:19:46.452Z [modules/xmpp/JingleSessionPC.js] <Ko._responderRenegotiate>:  JingleSessionPC[session=JVB,initiator=false,sid=f38icdoheh6ke] Renegotiate: setting remote description
Logger.js:154 2022-10-29T14:19:46.457Z [JitsiConference.js] P2P session terminate RESULT
Logger.js:154 2022-10-29T14:19:46.457Z [modules/RTC/BridgeChannel.js] <e.onclose>:  Channel closed by server
Logger.js:154 2022-10-29T14:19:46.457Z [modules/RTC/BridgeChannel.js] <e.onclose>:  Channel closed: 1001 endpoint closed

Logger.js:154 2022-10-29T14:19:47.821Z [modules/xmpp/JingleSessionPC.js] JingleSessionPC[session=JVB,initiator=false,sid=f38icdoheh6ke] Renegotiate: setting local description
Logger.js:154 2022-10-29T14:19:47.830Z [modules/RTC/JitsiRemoteTrack.js] <xd._containerEventHandler>:  canplaythrough handler was called for a container with attached RemoteTrack[userID: 365a9c09, type: audio, ssrc: 1025760907, p2p: false, sourceName: 365a9c09-a0, status: {readyState: live, muted: false, enabled: true}]
Logger.js:154 2022-10-29T14:19:47.842Z [modules/xmpp/JingleSessionPC.js] JingleSessionPC[session=JVB,initiator=false,sid=f38icdoheh6ke] addRemoteStream - OK
blob:https://meet.ji…8f51-4a4ad6e7fcf0:1 Uncaught (in promise) TypeError: Failed to execute 'write' on 'UnderlyingSinkBase': Invalid frame
Logger.js:154 2022-10-29T14:19:48.005Z [modules/UI/videolayout/LargeVideoManager.js] Scheduled large video update for 365a9c09
Logger.js:154 2022-10-29T14:19:48.331Z [modules/UI/videolayout/LargeVideoManager.js] Scheduled large video update for 365a9c09
Logger.js:154 2022-10-29T14:19:51.111Z [modules/RTC/JitsiRemoteTrack.js] <xd._onTrackMute>:  "onmute" event(1667053191111): RemoteTrack[userID: 365a9c09, type: video, ssrc: 2260025505, p2p: false, sourceName: 365a9c09-v0, status: {readyState: live, muted: true, enabled: true}]
Logger.js:154 2022-10-29T14:19:51.112Z [modules/connectivity/TrackStreamingStatus.ts] <Dd.onTrackRtcMuted>:  Detector track RTC muted: 365a9c09-v0 1667053191112
Logger.js:154 2022-10-29T14:19:55.249Z [features/e2ee] E2EE will be disabled
Logger.js:154 2022-10-29T14:19:55.271Z [modules/e2ee/OlmAdapter.js] <Es.updateKey>:  Tried to send key to participant 365a9c09 but we have no session
r @ Logger.js:154
updateKey @ OlmAdapter.js:139
_setEnabled @ ManagedKeyHandler.js:73
setEnabled @ KeyHandler.js:80
await in setEnabled (async)
setEnabled @ E2EEncryption.js:61
Uu.toggleE2EE @ JitsiConference.js:3982

I can post the full logs to pastebin if you need them.

Thanks

Full logs on pastebin

Just tested on beta.meet.jit.si and got the exact same errors

Am I the only one seeing this error? It should be easy to reproduce with the latest version of Brave on meet.jit.si

I cannot reproduce this with Chrome beta.

Yeah something must have changed lately in chromium.
Now with latest Brave it works fine again.

Thanks for confirming @saghul!

1 Like

Actually this problem seems to be back again. :slightly_frowning_face:

Just tested now on meet.jit.si with Chrome Version 107.0.5304.110 on a linux machine, and the other side on a Macbook with Chrome Version 107.0.5304.110 and as soon as you enable E2EE the call goes black.

Can someone test and confirm they’re seeing the same bug?

Thanks

P.S. Just tested the same setup on beta.meet.jit.si and got the same result (black screens)

FYI there’s already an old bug ticket in github regarding this bug