Jibri Error: "All Recorders are currently busy"

Morning,

I am losing my mind here! I have installed and reinstalled Jibri. I have followed all the guides on how to install Jibri but I keep getting the same recurring error and I can not for the life of me find a solution any where on this forum or via google. My most recent attempt, I used the following guide (TUTORIAL - How to Install the NEW JIBRI)

Jitsi is already working nicely on a seperate server
Jibri fails at “All Recorders are currently busy” . The logs below suggest that chrome is the problem, “SEVERE: [43] XmppApi.handleStartJibriIq#226: Error starting Jibri service
org.openqa.selenium.WebDriverException: unknown error: Chrome failed to start: crashed.
(unknown error: DevToolsActivePort file doesn’t exist)
(The process started from chrome location /usr/bin/google-chrome is no longer running, so ChromeDriver is assuming that Chrome has crashed.)”

Does any one have a solution to get this working? Please help!

2022-02-07 06:33:20.548 INFO: [1] MainKt.handleCommandLineArgs#185: Jibri run with args [--config, /etc/jitsi/jibri/config.json]
2022-02-07 06:33:20.600 INFO: [1] MainKt.setupLegacyConfig#210: Checking legacy config file /etc/jitsi/jibri/config.json
2022-02-07 06:33:20.600 INFO: [1] MainKt.setupLegacyConfig#213: Legacy config file /etc/jitsi/jibri/config.json doesn't exist
2022-02-07 06:33:20.800 INFO: [1] MainKt.main#55: Jibri starting up with id 
2022-02-07 06:33:21.047 INFO: [1] JwtInfo$Companion.fromConfig#154: got jwtConfig: {}

2022-02-07 06:33:21.047 INFO: [1] JwtInfo$Companion.fromConfig#164: Unable to create JwtInfo: com.typesafe.config.ConfigException$Missing: /etc/jitsi/jibri/jibri.conf: 79: No configuration setting found for key 'signing-key-path'
2022-02-07 06:33:21.164 INFO: [1] MainKt.main#125: Using port 3333 for internal HTTP API
2022-02-07 06:33:21.170 FINE: [18] WebhookClient$updateStatus$1.invokeSuspend#107: Updating 0 subscribers of status
2022-02-07 06:33:21.362 INFO: [1] XmppApi.updatePresence#144: Jibri reports its status is now JibriStatus(busyStatus=IDLE, health=OverallHealth(healthStatus=HEALTHY, details={})), publishing presence to connections
2022-02-07 06:33:21.368 INFO: [1] XmppApi.start#97: Connecting to xmpp environment on meet.ontourism.academy with config XmppEnvironmentConfig(name=prod environment, xmppServerHosts=[meet.ontourism.academy], xmppDomain=meet.ontourism.academy, baseUrl=null, controlLogin=XmppCredentials(domain=auth.meet.ontourism.academy, port=null, username=jibri, password=*****), controlMuc=XmppMuc(domain=internal.auth.meet.ontourism.academy, roomName=JibriBrewery, nickname=jibri-nickname), sipControlMuc=null, callLogin=XmppCredentials(domain=recorder.meet.ontourism.academy, port=null, username=recorder, password=*****), stripFromRoomDomain=conference., usageTimeoutMins=0, trustAllXmppCerts=true, securityMode=null)
2022-02-07 06:33:21.369 INFO: [1] XmppApi.start#109: The trustAllXmppCerts config is enabled for this domain, all XMPP server provided certificates will be accepted
2022-02-07 06:33:21.386 INFO: [29] [hostname=meet.ontourism.academy id=meet.ontourism.academy] MucClient.initializeConnectAndJoin#272: Initializing a new MucClient for [ org.jitsi.xmpp.mucclient.MucClientConfiguration id=meet.ontourism.academy domain=auth.meet.ontourism.academy hostname=meet.ontourism.academy port=null username=jibri mucs=[jibribrewery@internal.auth.meet.ontourism.academy] mucNickname=jibri-nickname disableCertificateVerification=true]
2022-02-07 06:33:21.387 INFO: [1] MainKt.main#151: Using port 2222 for HTTP API
2022-02-07 06:33:21.400 WARNING: [29] MucClient.createXMPPTCPConnectionConfiguration#114: Disabling certificate verification!
2022-02-07 06:33:21.418 INFO: [29] [hostname=meet.ontourism.academy id=meet.ontourism.academy] MucClient.initializeConnectAndJoin#331: Dispatching a thread to connect and login.
2022-02-07 06:33:21.555 INFO: [29] [hostname=meet.ontourism.academy id=meet.ontourism.academy] MucClient$2.connected#304: Connected.
2022-02-07 06:33:21.556 INFO: [29] [hostname=meet.ontourism.academy id=meet.ontourism.academy] MucClient.lambda$getConnectAndLoginCallable$8#628: Logging in.
2022-02-07 06:33:21.606 INFO: [29] [hostname=meet.ontourism.academy id=meet.ontourism.academy] MucClient$2.authenticated#310: Authenticated, b=false
2022-02-07 06:33:21.663 INFO: [29] [hostname=meet.ontourism.academy id=meet.ontourism.academy] MucClient$MucWrapper.join#748: Joined MUC: jibribrewery@internal.auth.meet.ontourism.academy
2022-02-07 06:33:43.873 INFO: [43] XmppApi.handleJibriIq#171: Received JibriIq <iq xmlns='jabber:client' to='jibri@auth.meet.ontourism.academy/T5bVkcbh' from='jibribrewery@internal.auth.meet.ontourism.academy/focus' id='amlicmlAYXV0aC5tZWV0Lm9udG91cmlzbS5hY2FkZW15L1Q1YlZrY2JoAE4xOE5FLTM2AK9pNqnBC/L81V1H0GK4KBA=' type='set'><jibri xmlns='http://jitsi.org/protocol/jibri' action='start' recording_mode='file' room='drycoveragespersistusually@conference.meet.ontourism.academy' session_id='fjpfzcgrcycycuma' app_data='{"file_recording_metadata":{"share":true}}'/></iq> from environment [MucClient id=meet.ontourism.academy hostname=meet.ontourism.academy]
2022-02-07 06:33:43.874 INFO: [43] XmppApi.handleStartJibriIq#199: Received start request, starting service
2022-02-07 06:33:43.936 INFO: [43] XmppApi.handleStartService#304: Parsed call url info: CallUrlInfo(baseUrl=https://meet.ontourism.academy, callName=drycoveragespersistusually, urlParams=[])
2022-02-07 06:33:43.937 INFO: [43] JibriManager.startFileRecording#138: Starting a file recording with params: FileRecordingRequestParams(callParams=CallParams(callUrlInfo=CallUrlInfo(baseUrl=https://meet.ontourism.academy, callName=drycoveragespersistusually, urlParams=[]), email='', passcode=null, callStatsUsernameOverride=, displayName=), sessionId=fjpfzcgrcycycuma, callLoginParams=XmppCredentials(domain=recorder.meet.ontourism.academy, port=null, username=recorder, password=*****))
2022-02-07 06:33:43.951 FINE: [43] [session_id=fjpfzcgrcycycuma] FfmpegCapturer.<init>#88: Detected os as OS: LINUX
2022-02-07 06:33:45.157 SEVERE: [43] XmppApi.handleStartJibriIq#226: Error starting Jibri service 
org.openqa.selenium.WebDriverException: unknown error: Chrome failed to start: crashed.
  (unknown error: DevToolsActivePort file doesn't exist)
  (The process started from chrome location /usr/bin/google-chrome is no longer running, so ChromeDriver is assuming that Chrome has crashed.)
  (Driver info: chromedriver=98.0.4758.80 (7f0488e8ba0d8e019187c6325a16c29d9b7f4989-refs/branch-heads/4758@{#972}),platform=Linux 5.4.0-88-generic x86_64) (WARNING: The server did not provide any stacktrace information)
Command duration or timeout: 995 milliseconds
Build info: version: 'unknown', revision: 'unknown', time: 'unknown'
System info: host: 'recording.ontourism.academy', ip: '127.0.0.1', os.name: 'Linux', os.arch: 'amd64', os.version: '5.4.0-88-generic', java.version: '1.8.0_292'
Driver info: driver.version: ChromeDriver
	at sun.reflect.NativeConstructorAccessorImpl.newInstance0(Native Method)
	at sun.reflect.NativeConstructorAccessorImpl.newInstance(NativeConstructorAccessorImpl.java:62)
	at sun.reflect.DelegatingConstructorAccessorImpl.newInstance(DelegatingConstructorAccessorImpl.java:45)
	at java.lang.reflect.Constructor.newInstance(Constructor.java:423)
	at org.openqa.selenium.remote.ErrorHandler.createThrowable(ErrorHandler.java:214)
	at org.openqa.selenium.remote.ErrorHandler.throwIfResponseFailed(ErrorHandler.java:166)
	at org.openqa.selenium.remote.JsonWireProtocolResponse.lambda$new$0(JsonWireProtocolResponse.java:53)
	at org.openqa.selenium.remote.JsonWireProtocolResponse.lambda$getResponseFunction$2(JsonWireProtocolResponse.java:91)
	at org.openqa.selenium.remote.ProtocolHandshake.lambda$createSession$0(ProtocolHandshake.java:123)
	at java.util.stream.ReferencePipeline$3$1.accept(ReferencePipeline.java:193)
	at java.util.Spliterators$ArraySpliterator.tryAdvance(Spliterators.java:958)
	at java.util.stream.ReferencePipeline.forEachWithCancel(ReferencePipeline.java:126)
	at java.util.stream.AbstractPipeline.copyIntoWithCancel(AbstractPipeline.java:499)
	at java.util.stream.AbstractPipeline.copyInto(AbstractPipeline.java:486)
	at java.util.stream.AbstractPipeline.wrapAndCopyInto(AbstractPipeline.java:472)
	at java.util.stream.FindOps$FindOp.evaluateSequential(FindOps.java:152)
	at java.util.stream.AbstractPipeline.evaluate(AbstractPipeline.java:234)
	at java.util.stream.ReferencePipeline.findFirst(ReferencePipeline.java:531)
	at org.openqa.selenium.remote.ProtocolHandshake.createSession(ProtocolHandshake.java:126)
	at org.openqa.selenium.remote.ProtocolHandshake.createSession(ProtocolHandshake.java:73)
	at org.openqa.selenium.remote.HttpCommandExecutor.execute(HttpCommandExecutor.java:136)
	at org.openqa.selenium.remote.service.DriverCommandExecutor.execute(DriverCommandExecutor.java:83)
	at org.openqa.selenium.remote.RemoteWebDriver.execute(RemoteWebDriver.java:543)
	at org.openqa.selenium.remote.RemoteWebDriver.startSession(RemoteWebDriver.java:207)
	at org.openqa.selenium.remote.RemoteWebDriver.<init>(RemoteWebDriver.java:130)
	at org.openqa.selenium.chrome.ChromeDriver.<init>(ChromeDriver.java:181)
	at org.openqa.selenium.chrome.ChromeDriver.<init>(ChromeDriver.java:168)
	at org.jitsi.jibri.selenium.JibriSelenium.<init>(JibriSelenium.kt:198)
	at org.jitsi.jibri.selenium.JibriSelenium.<init>(JibriSelenium.kt:168)
	at org.jitsi.jibri.service.impl.FileRecordingJibriService.<init>(FileRecordingJibriService.kt:109)
	at org.jitsi.jibri.service.impl.FileRecordingJibriService.<init>(FileRecordingJibriService.kt:102)
	at org.jitsi.jibri.JibriManager.startFileRecording(JibriManager.kt:139)
	at org.jitsi.jibri.api.xmpp.XmppApi.handleStartService(XmppApi.kt:308)
	at org.jitsi.jibri.api.xmpp.XmppApi.handleStartJibriIq(XmppApi.kt:206)
	at org.jitsi.jibri.api.xmpp.XmppApi.handleJibriIq(XmppApi.kt:178)
	at org.jitsi.jibri.api.xmpp.XmppApi.handleIq(XmppApi.kt:160)
	at org.jitsi.xmpp.mucclient.MucClient.handleIq(MucClient.java:533)
	at org.jitsi.xmpp.mucclient.MucClient.access$300(MucClient.java:51)
	at org.jitsi.xmpp.mucclient.MucClient$3.handleIQRequest(MucClient.java:496)
	at org.jivesoftware.smack.AbstractXMPPConnection$3.run(AbstractXMPPConnection.java:1568)
	at org.jivesoftware.smack.AbstractXMPPConnection$10.run(AbstractXMPPConnection.java:2146)
	at java.util.concurrent.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1149)
	at java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:624)
	at java.lang.Thread.run(Thread.java:748)

Note that Chromedriver 98 will only work with Chrome 98, and that unfortunately the Jibri install & update don’t ensure that Chrome and Chromedriver are in sync - something that is always a good thing, and is in this case an absolute necessity.

Hey Morning, Thanks! I have checked this-

They are-
ChromeDriver 98.0.4758.80
Google Chrome 98.0.4758.80

also I have seen that Chromedriver 98 works only with Chrome 98 on a different software than Jibri, I don’t know if Jibri is compatible with 98 (something very recent - I have seen on this forum that it’s common practice to hold Chrome and Chromedriver version for Jibri)

So which version do you recommend I install? I can remove and reinstall an earlier version if that is a solution.

I can confirm chrome 98 is working

Thanks Emrah. I am at a loss as to what the problem could be now. Not sure what else to do?

you may monitor the jibri desktop or try to start chrome manually using vnc

What is the spec of the machine where you try to start jibri?

The spec is Intel Xeon E3-1246V3, 2x HDD SATA 2,0 TB Enterprise, 4x RAM 8192 MB DDR3 dedicated server with Hetzner. I think the specs are enough, right?

I don’t know what you mean by 4x RAM 8192; 2xHDD means RAID 1, but do 4x RAM 8192 means 4x8 = 32 Gb Ram (should be more than enough) or just 8 Gb Ram (may be a bit low for very high resolution) ?

Sorry. I copied and pasted. Its 32gb ram. It only has wordpress and open journal systems running on it.

Is there already installed desktop environment?

Hey thanks for your help. I managed to get it recording in the end. Only problem now is lack of audio in the recording!

Is video OK?
If so, check snd_aloop module.

Video is OK. It streams and records. Its not a smooth image but that more than likely my webcam.

I have the following. All the guides show snd aloop as 1 and not 0 .

snd_aloop 24576 0
snd_pcm 106496 1 snd_aloop
snd 90112 3 snd_timer,snd_aloop,snd_pcm

What is the output of the following command while recording?

ps auxww | grep ffmpeg

and

cat /home/jibri/.asoundrc

root 53935 0.0 0.0 6776 716 pts/0 S+ 15:16 0:00 grep ffmpeg

and

pcm.amix {
type dmix
ipc_key 219345
slave.pcm “hw:Loopback,0,0”
}

pcm.asnoop {
type dsnoop
ipc_key 219346
slave.pcm “hw:Loopback_1,1,0”
}

pcm.aduplex {
type asym
playback.pcm “amix”
capture.pcm “asnoop”
}

pcm.bmix {
type dmix
ipc_key 219347
slave.pcm “hw:Loopback_1,0,0”
}

pcm.bsnoop {
type dsnoop
ipc_key 219348
slave.pcm “hw:Loopback,1,0”
}

pcm.bduplex {
type asym
playback.pcm “bmix”
capture.pcm “bsnoop”
}

pcm.pjsua {
type plug
slave.pcm “bduplex”
}

pcm.!default {
type plug
slave.pcm “aduplex”
}

Run the first command while recording

Hey thanks,

I did it a number of times.
jibri 54189 123 0.2 870420 139888 ? SLl 15:20 0:19 ffmpeg -y -v info -f x11grab -draw_mouse 0 -r 30 -s 1920x1080 -thread_queue_size 4096 -i :0.0+0,0 -f alsa -thread_queue_size 4096 -i plug:bsnoop -acodec aac -strict -2 -ar 44100 -b:a 128k -af aresample=async=1 -c:v libx264 -preset veryfast -profile:v main -level 3.1 -pix_fmt yuv420p -r 30 -crf 25 -g 60 -tune zerolatency -f mp4 /srv/recordings/iukbvegnfvlcmkrf/movingfirefightersevolvepotentially_2022-02-09-15-20-20.mp4
root 54257 0.0 0.0 6776 728 pts/0 S+ 15:20 0:00 grep ffmpeg
root@recording:~# ps auxww | grep ffmpeg
jibri 54189 125 0.2 870420 140208 ? SLl 15:20 0:28 ffmpeg -y -v info -f x11grab -draw_mouse 0 -r 30 -s 1920x1080 -thread_queue_size 4096 -i :0.0+0,0 -f alsa -thread_queue_size 4096 -i plug:bsnoop -acodec aac -strict -2 -ar 44100 -b:a 128k -af aresample=async=1 -c:v libx264 -preset veryfast -profile:v main -level 3.1 -pix_fmt yuv420p -r 30 -crf 25 -g 60 -tune zerolatency -f mp4 /srv/recordings/iukbvegnfvlcmkrf/movingfirefightersevolvepotentially_2022-02-09-15-20-20.mp4
root 54262 0.0 0.0 6776 660 pts/0 S+ 15:20 0:00 grep ffmpeg
root@recording:~# ps auxww | grep ffmpeg
jibri 54189 124 0.2 870420 140944 ? SLl 15:20 0:56 ffmpeg -y -v info -f x11grab -draw_mouse 0 -r 30 -s 1920x1080 -thread_queue_size 4096 -i :0.0+0,0 -f alsa -thread_queue_size 4096 -i plug:bsnoop -acodec aac -strict -2 -ar 44100 -b:a 128k -af aresample=async=1 -c:v libx264 -preset veryfast -profile:v main -level 3.1 -pix_fmt yuv420p -r 30 -crf 25 -g 60 -tune zerolatency -f mp4 /srv/recordings/iukbvegnfvlcmkrf/movingfirefightersevolvepotentially_2022-02-09-15-20-20.mp4
root 54273 0.0 0.0 6776 724 pts/0 S+ 15:21 0:00 grep ffmpeg
root@recording:~# ps auxww | grep ffmpeg
jibri 54189 127 0.2 870420 141208 ? SLl 15:20 1:25 ffmpeg -y -v info -f x11grab -draw_mouse 0 -r 30 -s 1920x1080 -thread_queue_size 4096 -i :0.0+0,0 -f alsa -thread_queue_size 4096 -i plug:bsnoop -acodec aac -strict -2 -ar 44100 -b:a 128k -af aresample=async=1 -c:v libx264 -preset veryfast -profile:v main -level 3.1 -pix_fmt yuv420p -r 30 -crf 25 -g 60 -tune zerolatency -f mp4 /srv/recordings/iukbvegnfvlcmkrf/movingfirefightersevolvepotentially_2022-02-09-15-20-20.mp4
root 54329 0.0 0.0 6776 728 pts/0 S+ 15:21 0:00 grep ffmpeg