[solved] - Error when recording

I recently installed jitsi meet on a digital ocean droplet and all seems to be working fine.

I am consistently getting an error when trying to record the meeting using jibri (installed on a separate digital ocean droplet). The log files are below. Would someone please help me understand these logs if they are calling out the problem?

Thanks!

`2020-04-17 16:33:03.323 INFO: [68] org.jitsi.jibri.api.xmpp.XmppApi.handleJibriIq() Received JibriIq <iq to='jibri@auth.meet.mydomain.com/65880bb1-b130-4d1a-a1a5-7e50eefda4a1' from='jibribrewery@internal.auth.meet.mydomain.com/focus' id='amlicmlAYXV0aC5tZWV0LmV0YWlvdGEub3JnLzY1ODgwYmIxLWIxMzAtNGQxYS1hMWE1LTdlNTBlZWZkYTRhMQB1ZERVZy0zMzgAfhEcOn18vvPytUKDwq8nQA==' type='set'><jibri xmlns='http://jitsi.org/protocol/jibri' action='start' recording_mode='file'` room='alpha@conference.meet.mydomain.com' session_id='xmybfdvjetiyqtqb' app_data='{"file_recording_metadata":{"share":true}}'/></iq> from environment [MucClient id=meet.mydomain.com hostname=meet.mydomain.com]
2020-04-17 16:33:03.323 INFO: [68] org.jitsi.jibri.api.xmpp.XmppApi.handleStartJibriIq() Received start request
2020-04-17 16:33:03.323 INFO: [68] org.jitsi.jibri.api.xmpp.XmppApi.handleStartJibriIq() Sending 'pending' response to start IQ
2020-04-17 16:33:03.323 INFO: [69] org.jitsi.jibri.api.xmpp.XmppApi.run() Starting service
2020-04-17 16:33:03.360 INFO: [69] org.jitsi.jibri.api.xmpp.XmppApi.handleStartService() Parsed call url info: CallUrlInfo(baseUrl=https://meet.mydomain.com, callName=alpha, urlParams=[])
2020-04-17 16:33:03.360 INFO: [69] org.jitsi.jibri.JibriManager.startFileRecording() Starting a file recording with params: FileRecordingRequestParams(callParams=CallParams(callUrlInfo=CallUrlInfo(baseUrl=https://meet.mydomain.com, callName=alpha, urlParams=[])), sessionId=xmybfdvjetiyqtqb, callLoginParams=XmppCredentials(domain=recorder.meet.mydomain.com, username=recorder, password=jibrirecorderpass)) finalize script path: /path/to/finalize_recording.sh and recordings directory: /srv/recordings
2020-04-17 16:33:03.827 INFO: [69] org.openqa.selenium.remote.ProtocolHandshake.createSession() Detected dialect: OSS
2020-04-17 16:33:03.836 INFO: [69] org.jitsi.jibri.selenium.JibriSelenium.<init>() Starting empty call check with a timeout of PT30S
2020-04-17 16:33:03.837 FINE: [69] org.jitsi.jibri.capture.ffmpeg.FfmpegCapturer.<init>() Detected os as OS: LINUX
2020-04-17 16:33:03.837 INFO: [69] org.jitsi.jibri.service.impl.FileRecordingJibriService.<init>() Writing recording to /srv/recordings/xmybfdvjetiyqtqb
2020-04-17 16:33:03.837 FINE: [69] org.jitsi.jibri.statsd.JibriStatsDClient.incrementCounter() Incrementing statsd counter: start:recording
2020-04-17 16:33:03.838 INFO: [69] org.jitsi.jibri.status.JibriStatusManager.log() Busy status has changed: IDLE -> BUSY
2020-04-17 16:33:03.838 INFO: [69] org.jitsi.jibri.api.xmpp.XmppApi.updatePresence() Jibri reports its status is now JibriStatus(busyStatus=BUSY, health=OverallHealth(healthStatus=HEALTHY, details={})), publishing presence to connections
2020-04-17 16:33:03.838 INFO: [69] org.jitsi.xmpp.mucclient.MucClientManager.log() Setting a presence extension: org.jitsi.xmpp.extensions.jibri.JibriStatusPacketExt@7a8bd31c
2020-04-17 16:33:04.703 FINE: [77] org.jitsi.jibri.selenium.pageobjects.CallPage.visit() Visiting url https://meet.mydomain.com/alpha#config.iAmRecorder=true&config.externalConnectUrl=null&config.startWithAudioMuted=true&config.startWithVideoMuted=true&interfaceConfig.APP_NAME="Jibri"&config.analytics.disabled=true&config.p2p.enabled=false
2020-04-17 16:33:06.726 INFO: [68] org.jitsi.jibri.api.xmpp.XmppApi.handleJibriIq() Received JibriIq <iq to='jibri@auth.meet.mydomain.com/65880bb1-b130-4d1a-a1a5-7e50eefda4a1' from='jibribrewery@internal.auth.meet.mydomain.com/focus' id='amlicmlAYXV0aC5tZWV0LmV0YWlvdGEub3JnLzY1ODgwYmIxLWIxMzAtNGQxYS1hMWE1LTdlNTBlZWZkYTRhMQB1ZERVZy0zNDkAfhEcOn18vvPytUKDwq8nQA==' type='set'><jibri xmlns='http://jitsi.org/protocol/jibri' action='stop'/></iq> from environment [MucClient id=meet.mydomain.com hostname=meet.mydomain.com]
2020-04-17 16:33:06.726 FINE: [68] org.jitsi.jibri.statsd.JibriStatsDClient.incrementCounter() Incrementing statsd counter: stop:recording
2020-04-17 16:33:06.726 INFO: [68] org.jitsi.jibri.JibriManager.stopService() Stopping the current service
2020-04-17 16:33:06.726 INFO: [68] org.jitsi.jibri.service.impl.FileRecordingJibriService.stop() Stopping capturer
2020-04-17 16:33:06.726 INFO: [68] org.jitsi.jibri.util.JibriSubprocess.ffmpeg.stop() Stopping ffmpeg process
2020-04-17 16:33:06.726 INFO: [68] org.jitsi.jibri.util.JibriSubprocess.ffmpeg.stop() ffmpeg exited with value null
2020-04-17 16:33:06.726 INFO: [68] org.jitsi.jibri.service.impl.FileRecordingJibriService.stop() Quitting selenium
2020-04-17 16:33:06.779 INFO: [68] org.jitsi.jibri.service.impl.FileRecordingJibriService.stop() Participants in this recording: []
2020-04-17 16:33:06.806 INFO: [68] org.jitsi.jibri.selenium.JibriSelenium.leaveCallAndQuitBrowser() Got 17 log entries for type browser
2020-04-17 16:33:06.888 INFO: [68] org.jitsi.jibri.selenium.JibriSelenium.leaveCallAndQuitBrowser() Got 459 log entries for type driver
2020-04-17 16:33:06.959 INFO: [68] org.jitsi.jibri.selenium.JibriSelenium.leaveCallAndQuitBrowser() Got 0 log entries for type client
2020-04-17 16:33:06.959 INFO: [68] org.jitsi.jibri.selenium.JibriSelenium.leaveCallAndQuitBrowser() Leaving web call
2020-04-17 16:33:06.971 SEVERE: [68] org.jitsi.jibri.selenium.JibriSelenium.leaveCallAndQuitBrowser() Error trying to leave the call: org.openqa.selenium.JavascriptException: javascript error: The conference is has been already left
  (Session info: chrome=81.0.4044.113)
  (Driver info: chromedriver=81.0.4044.69 (6813546031a4bc83f717a2ef7cd4ac6ec1199132-refs/branch-heads/4044@{#776}),platform=Linux 4.15.0-96-generic x86_64) (WARNING: The server did not provide any stacktrace information)
Command duration or timeout: 0 milliseconds
Build info: version: 'unknown', revision: 'unknown', time: 'unknown'
System info: host: 'meet', ip: '127.0.1.1', os.name: 'Linux', os.arch: 'amd64', os.version: '4.15.0-96-generic', java.version: '11.0.6'
Driver info: org.openqa.selenium.chrome.ChromeDriver
Capabilities {acceptInsecureCerts: false, acceptSslCerts: false, applicationCacheEnabled: false, browserConnectionEnabled: false, browserName: chrome, chrome: {chromedriverVersion: 81.0.4044.69 (6813546031a4b..., userDataDir: /tmp/.com.google.Chrome.7kYDhT}, cssSelectorsEnabled: true, databaseEnabled: false, goog:chromeOptions: {debuggerAddress: localhost:33855}, handlesAlerts: true, hasTouchScreen: false, javascriptEnabled: true, locationContextEnabled: true, mobileEmulationEnabled: false, nativeEvents: true, networkConnectionEnabled: false, pageLoadStrategy: normal, platform: LINUX, platformName: LINUX, proxy: Proxy(), rotatable: false, setWindowRect: true, strictFileInteractability: false, takesHeapSnapshot: true, takesScreenshot: true, timeouts: {implicit: 0, pageLoad: 300000, script: 30000}, unexpectedAlertBehaviour: ignore, unhandledPromptBehavior: ignore, version: 81.0.4044.113, webStorageEnabled: true, webauthn:virtualAuthenticators: true}
Session ID: d6ceebc5c59de42f39a1cf9d41716d87 with stack: 
java.base/jdk.internal.reflect.NativeConstructorAccessorImpl.newInstance0(Native Method)
java.base/jdk.internal.reflect.NativeConstructorAccessorImpl.newInstance(NativeConstructorAccessorImpl.java:62)
java.base/jdk.internal.reflect.DelegatingConstructorAccessorImpl.newInstance(DelegatingConstructorAccessorImpl.java:45)
java.base/java.lang.reflect.Constructor.newInstance(Constructor.java:490)
org.openqa.selenium.remote.ErrorHandler.createThrowable(ErrorHandler.java:214)
org.openqa.selenium.remote.ErrorHandler.throwIfResponseFailed(ErrorHandler.java:166)
org.openqa.selenium.remote.http.JsonHttpResponseCodec.reconstructValue(JsonHttpResponseCodec.java:40)
org.openqa.selenium.remote.http.AbstractHttpResponseCodec.decode(AbstractHttpResponseCodec.java:80)
org.openqa.selenium.remote.http.AbstractHttpResponseCodec.decode(AbstractHttpResponseCodec.java:44)
org.openqa.selenium.remote.HttpCommandExecutor.execute(HttpCommandExecutor.java:158)
org.openqa.selenium.remote.service.DriverCommandExecutor.execute(DriverCommandExecutor.java:83)
org.openqa.selenium.remote.RemoteWebDriver.execute(RemoteWebDriver.java:543)
org.openqa.selenium.remote.RemoteWebDriver.executeScript(RemoteWebDriver.java:480)
org.jitsi.jibri.selenium.pageobjects.CallPage.leave(CallPage.kt:218)
org.jitsi.jibri.selenium.JibriSelenium.leaveCallAndQuitBrowser(JibriSelenium.kt:290)
org.jitsi.jibri.service.impl.FileRecordingJibriService.stop(FileRecordingJibriService.kt:188)
org.jitsi.jibri.JibriManager.stopService(JibriManager.kt:254)
org.jitsi.jibri.api.xmpp.XmppApi.handleStopJibriIq(XmppApi.kt:256)
org.jitsi.jibri.api.xmpp.XmppApi.handleJibriIq(XmppApi.kt:163)
org.jitsi.jibri.api.xmpp.XmppApi.handleIq(XmppApi.kt:147)
org.jitsi.xmpp.mucclient.MucClient.handleIq(MucClient.java:446)
org.jitsi.xmpp.mucclient.MucClient.access$500(MucClient.java:47)
org.jitsi.xmpp.mucclient.MucClient$2.handleIQRequest(MucClient.java:412)
org.jivesoftware.smack.AbstractXMPPConnection$4.run(AbstractXMPPConnection.java:1188)
java.base/java.util.concurrent.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1128)
java.base/java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:628)
java.base/java.lang.Thread.run(Thread.java:834)

2020-04-17 16:33:06.971 INFO: [68] org.jitsi.jibri.selenium.JibriSelenium.leaveCallAndQuitBrowser() Quitting chrome driver
2020-04-17 16:33:07.044 INFO: [68] org.jitsi.jibri.selenium.JibriSelenium.leaveCallAndQuitBrowser() Chrome driver quit
2020-04-17 16:33:07.044 INFO: [68] org.jitsi.jibri.service.impl.FileRecordingJibriService.stop() Finalizing the recording
2020-04-17 16:33:07.045 SEVERE: [68] org.jitsi.jibri.service.impl.FileRecordingJibriService.finalize() Failed to run finalize script: java.io.IOException: Cannot run program "/path/to/finalize_recording.sh": error=2, No such file or directory with stack: 
java.base/java.lang.ProcessBuilder.start(ProcessBuilder.java:1128)
java.base/java.lang.ProcessBuilder.start(ProcessBuilder.java:1071)
org.jitsi.jibri.util.ProcessWrapper.start(ProcessWrapper.kt:87)
org.jitsi.jibri.service.impl.FileRecordingJibriService.finalize(FileRecordingJibriService.kt:205)
org.jitsi.jibri.service.impl.FileRecordingJibriService.stop(FileRecordingJibriService.kt:190)
org.jitsi.jibri.JibriManager.stopService(JibriManager.kt:254)
org.jitsi.jibri.api.xmpp.XmppApi.handleStopJibriIq(XmppApi.kt:256)
org.jitsi.jibri.api.xmpp.XmppApi.handleJibriIq(XmppApi.kt:163)
org.jitsi.jibri.api.xmpp.XmppApi.handleIq(XmppApi.kt:147)
org.jitsi.xmpp.mucclient.MucClient.handleIq(MucClient.java:446)
org.jitsi.xmpp.mucclient.MucClient.access$500(MucClient.java:47)
org.jitsi.xmpp.mucclient.MucClient$2.handleIQRequest(MucClient.java:412)
org.jivesoftware.smack.AbstractXMPPConnection$4.run(AbstractXMPPConnection.java:1188)
java.base/java.util.concurrent.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1128)
java.base/java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:628)
java.base/java.lang.Thread.run(Thread.java:834)

2020-04-17 16:33:07.045 INFO: [68] org.jitsi.jibri.status.JibriStatusManager.log() Busy status has changed: BUSY -> IDLE
2020-04-17 16:33:07.045 INFO: [68] org.jitsi.jibri.api.xmpp.XmppApi.updatePresence() Jibri reports its status is now JibriStatus(busyStatus=IDLE, health=OverallHealth(healthStatus=HEALTHY, details={})), publishing presence to connections
2020-04-17 16:33:07.045 INFO: [68] org.jitsi.xmpp.mucclient.MucClientManager.log() Setting a presence extension: org.jitsi.xmpp.extensions.jibri.JibriStatusPacketExt@33d0aa96
2020-04-17 16:33:07.420 SEVERE: [77] org.jitsi.jibri.selenium.JibriSelenium.run() An error occurred while joining the call: org.openqa.selenium.NoSuchSessionException: Session ID is null. Using WebDriver after calling quit()?
Build info: version: 'unknown', revision: 'unknown', time: 'unknown'
System info: host: 'meet', ip: '127.0.1.1', os.name: 'Linux', os.arch: 'amd64', os.version: '4.15.0-96-generic', java.version: '11.0.6'
Driver info: driver.version: RemoteWebDriver with stack: 
org.openqa.selenium.remote.HttpCommandExecutor.execute(HttpCommandExecutor.java:125)
org.openqa.selenium.remote.service.DriverCommandExecutor.execute(DriverCommandExecutor.java:83)
org.openqa.selenium.remote.RemoteWebDriver.execute(RemoteWebDriver.java:543)
org.openqa.selenium.remote.RemoteWebDriver.executeScript(RemoteWebDriver.java:480)
org.jitsi.jibri.selenium.pageobjects.CallPage$visit$1.apply(CallPage.kt:48)
org.jitsi.jibri.selenium.pageobjects.CallPage$visit$1.apply(CallPage.kt:33)
org.openqa.selenium.support.ui.FluentWait.until(FluentWait.java:248)
org.jitsi.jibri.selenium.pageobjects.CallPage.visit(CallPage.kt:47)
org.jitsi.jibri.selenium.JibriSelenium$joinCall$1.run(JibriSelenium.kt:256)
java.base/java.util.concurrent.Executors$RunnableAdapter.call(Executors.java:515)
java.base/java.util.concurrent.FutureTask.run(FutureTask.java:264)
java.base/java.util.concurrent.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1128)
java.base/java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:628)
java.base/java.lang.Thread.run(Thread.java:834)

2020-04-17 16:33:07.421 INFO: [77] org.jitsi.jibri.selenium.JibriSelenium.onSeleniumStateChange() Transitioning from state Starting up to Error: SESSION Failed to join call
2020-04-17 16:33:07.421 INFO: [77] org.jitsi.jibri.service.impl.FileRecordingJibriService.onServiceStateChange() File recording service transitioning from state Starting up to Error: SESSION Failed to join call
2020-04-17 16:33:07.421 INFO: [77] org.jitsi.jibri.api.xmpp.XmppApi.invoke() Current service had an error, sending error iq <iq to='jibribrewery@internal.auth.meet.mydomain.com/focus' id='r202W-90' type='set'><jibri xmlns='http://jitsi.org/protocol/jibri' status='off' failure_reason='error'/></iq>
2020-04-17 16:33:07.421 INFO: [77] org.jitsi.jibri.JibriManager.stopService() No service active, ignoring stop

This fixed the problem for me. Had to switch to the unstable packages for now.

1 Like