Recording failed to start


#1

Jicofo 2018-08-06 21:12:53.710 信息: [135] org.jitsi.jicofo.recording.jibri.JibriSession.log() Starting Jibri jibribrewery@internal.auth.192.168.11.195/jibri-nickname for stream ID: null in room: ttt@conference.192.168.11.195
Jicofo 2018-08-06 21:12:53.723 信息: [135] org.jitsi.jicofo.recording.jibri.JibriSession.log() Setting jibri status to pending with failure reason null
Jicofo 2018-08-06 21:12:53.723 信息: [135] org.jitsi.jicofo.recording.jibri.JibriRecorder.log() Got jibri status pending and failure null
Jicofo 2018-08-06 21:12:53.724 信息: [135] org.jitsi.jicofo.recording.jibri.JibriRecorder.log() Publishing new jibri-recording-status: in: ttt@conference.192.168.11.195
Jicofo 2018-08-06 21:12:53.727 信息: [135] org.jitsi.jicofo.recording.jibri.JibriRecorder.log() Started Jibri session
Jicofo 2018-08-06 21:12:53.729 信息: [136] org.jitsi.jicofo.recording.jibri.JibriSession.log() Updating status from JIBRI: for ttt@conference.192.168.11.195
Jicofo 2018-08-06 21:12:53.737 信息: [136] org.jitsi.jicofo.recording.jibri.JibriSession.log() Setting jibri status to off with failure reason error
Jicofo 2018-08-06 21:12:53.739 信息: [136] org.jitsi.jicofo.recording.jibri.JibriRecorder.log() Got jibri status off and failure error
Jicofo 2018-08-06 21:12:53.739 信息: [136] org.jitsi.jicofo.recording.jibri.JibriRecorder.log() Publishing new jibri-recording-status: in: ttt@conference.192.168.11.195
Jicofo 2018-08-06 21:12:53.742 信息: [136] org.jitsi.jicofo.recording.jibri.JibriSession.log() Cleaning up current JibriSession


#2

Include Jibri logs please.


#3

2018-08-07 13:57:19.253 信息: [1] org.jitsi.jibri.Main.main() Using config file /etc/jitsi/jibri/config.json
2018-08-07 13:57:20.382 信息: [1] org.jitsi.jibri.Main.loadConfig() Parsed config:
JibriConfig(recordingDirectory=/tmp/recordings, enabledStatsD=true, finalizeRecordingScriptPath=/path/to/finalize_recording.sh, xmppEnvironments=[XmppEnvironmentConfig(name=prod environment, xmppServerHosts=[192.168.1.45], xmppDomain=192.168.1.45, controlLogin=XmppCredentials(domain=auth.192.168.1.45, username=jibri, password=jibriauthpass), controlMuc=XmppMuc(domain=internal.auth.192.168.1.45, roomName=JibriBrewery, nickname=jibri-nickname), sipControlMuc=null, callLogin=XmppCredentials(domain=recorder.192.168.1.45, username=recorder, password=jibrirecorderpass), stripFromRoomDomain=conference., usageTimeoutMins=0, trustAllXmppCerts=true)])
2018-08-07 13:57:21.528 警告: [1] org.glassfish.jersey.internal.inject.Providers.checkProviderRuntime() A provider org.jitsi.jibri.api.http.internal.InternalHttpApi registered in SERVER runtime does not implement any provider interfaces applicable in the SERVER runtime. Due to constraint configuration problems the provider org.jitsi.jibri.api.http.internal.InternalHttpApi will be ignored.
2018-08-07 13:57:22.263 信息: [1] org.jitsi.jibri.api.xmpp.XmppApi.start() Connecting to xmpp environment on 192.168.1.45 with config XmppEnvironmentConfig(name=prod environment, xmppServerHosts=[192.168.1.45], xmppDomain=192.168.1.45, controlLogin=XmppCredentials(domain=auth.192.168.1.45, username=jibri, password=jibriauthpass), controlMuc=XmppMuc(domain=internal.auth.192.168.1.45, roomName=JibriBrewery, nickname=jibri-nickname), sipControlMuc=null, callLogin=XmppCredentials(domain=recorder.192.168.1.45, username=recorder, password=jibrirecorderpass), stripFromRoomDomain=conference., usageTimeoutMins=0, trustAllXmppCerts=true)
2018-08-07 13:57:22.273 信息: [1] org.jitsi.jibri.api.xmpp.XmppApi.start() The trustAllXmppCerts config is enabled for this domain, all XMPP server provided certificates will be accepted
2018-08-07 13:57:22.620 信息: [1] class org.jitsi.xmpp.mucclient.MucClient.connected() [prod environment: auth.192.168.1.45@192.168.1.45] Xmpp connection status: connected
2018-08-07 13:57:22.805 信息: [1] class org.jitsi.xmpp.mucclient.MucClient.authenticated() [prod environment: auth.192.168.1.45@192.168.1.45] Xmpp connection status: authenticated (resume from previous? false)
2018-08-07 13:57:22.965 警告: [1] org.glassfish.jersey.internal.inject.Providers.checkProviderRuntime() A provider org.jitsi.jibri.api.http.HttpApi registered in SERVER runtime does not implement any provider interfaces applicable in the SERVER runtime. Due to constraint configuration problems the provider org.jitsi.jibri.api.http.HttpApi will be ignored.
2018-08-07 13:57:32.233 信息: [26] org.jitsi.jibri.api.xmpp.XmppApi.handleJibriIq() Received JibriIq from environment prod environment
2018-08-07 13:57:32.235 信息: [26] org.jitsi.jibri.api.xmpp.XmppApi.handleStartJibriIq() Received start request
2018-08-07 13:57:32.241 信息: [26] org.jitsi.jibri.api.xmpp.XmppApi.handleStartJibriIq() Sending ‘pending’ response to start IQ
2018-08-07 13:57:32.242 信息: [40] org.jitsi.jibri.api.xmpp.XmppApi.run() Starting service
2018-08-07 13:57:32.377 信息: [40] org.jitsi.jibri.api.xmpp.XmppApi.handleStartService() Parsed call url info: CallUrlInfo(baseUrl=https://192.168.1.45, callName=dddd, urlParams=[])
2018-08-07 13:57:32.384 信息: [40] org.jitsi.jibri.JibriManager.startFileRecording() Starting a file recording with params: FileRecordingRequestParams(callParams=CallParams(callUrlInfo=CallUrlInfo(baseUrl=https://192.168.1.45, callName=dddd, urlParams=[])), sessionId=vsrxjxjvhuesbwdf, callLoginParams=XmppCredentials(domain=recorder.192.168.1.45, username=recorder, password=jibrirecorderpass)) finalize script path: /path/to/finalize_recording.sh and recordings directory: /tmp/recordings
2018-08-07 13:57:33.827 严重: [40] org.jitsi.jibri.api.xmpp.XmppApi.run() Error in startService task: org.openqa.selenium.WebDriverException: unknown error: cannot find Chrome binary
(Driver info: chromedriver=2.41.578700 (2f1ed5f9343c13f73144538f15c00b370eda6706),platform=Linux 4.15.0-30-generic x86_64) (WARNING: The server did not provide any stacktrace information)
Command duration or timeout: 72 milliseconds
Build info: version: ‘unknown’, revision: ‘unknown’, time: ‘unknown’
System info: host: ‘totowen-VirtualBox’, ip: ‘127.0.1.1’, os.name: ‘Linux’, os.arch: ‘amd64’, os.version: ‘4.15.0-30-generic’, java.version: ‘1.8.0_171’
Driver info: driver.version: ChromeDriver with stack:
sun.reflect.NativeConstructorAccessorImpl.newInstance0(Native Method)
sun.reflect.NativeConstructorAccessorImpl.newInstance(NativeConstructorAccessorImpl.java:62)
sun.reflect.DelegatingConstructorAccessorImpl.newInstance(DelegatingConstructorAccessorImpl.java:45)
java.lang.reflect.Constructor.newInstance(Constructor.java:423)
org.openqa.selenium.remote.ErrorHandler.createThrowable(ErrorHandler.java:214)
org.openqa.selenium.remote.ErrorHandler.throwIfResponseFailed(ErrorHandler.java:166)
org.openqa.selenium.remote.JsonWireProtocolResponse.lambda$new$0(JsonWireProtocolResponse.java:53)
org.openqa.selenium.remote.JsonWireProtocolResponse.lambda$getResponseFunction$2(JsonWireProtocolResponse.java:91)
org.openqa.selenium.remote.ProtocolHandshake.lambda$createSession$0(ProtocolHandshake.java:123)
java.util.stream.ReferencePipeline$3$1.accept(ReferencePipeline.java:193)
java.util.Spliterators$ArraySpliterator.tryAdvance(Spliterators.java:958)
java.util.stream.ReferencePipeline.forEachWithCancel(ReferencePipeline.java:126)
java.util.stream.AbstractPipeline.copyIntoWithCancel(AbstractPipeline.java:498)
java.util.stream.AbstractPipeline.copyInto(AbstractPipeline.java:485)
java.util.stream.AbstractPipeline.wrapAndCopyInto(AbstractPipeline.java:471)
java.util.stream.FindOps$FindOp.evaluateSequential(FindOps.java:152)
java.util.stream.AbstractPipeline.evaluate(AbstractPipeline.java:234)
java.util.stream.ReferencePipeline.findFirst(ReferencePipeline.java:464)
org.openqa.selenium.remote.ProtocolHandshake.createSession(ProtocolHandshake.java:126)
org.openqa.selenium.remote.ProtocolHandshake.createSession(ProtocolHandshake.java:73)
org.openqa.selenium.remote.HttpCommandExecutor.execute(HttpCommandExecutor.java:142)
org.openqa.selenium.remote.service.DriverCommandExecutor.execute(DriverCommandExecutor.java:83)
org.openqa.selenium.remote.RemoteWebDriver.execute(RemoteWebDriver.java:601)
org.openqa.selenium.remote.RemoteWebDriver.startSession(RemoteWebDriver.java:219)
org.openqa.selenium.remote.RemoteWebDriver.(RemoteWebDriver.java:142)
org.openqa.selenium.chrome.ChromeDriver.(ChromeDriver.java:181)
org.openqa.selenium.chrome.ChromeDriver.(ChromeDriver.java:168)
org.jitsi.jibri.selenium.JibriSelenium.(JibriSelenium.kt:137)
org.jitsi.jibri.selenium.JibriSelenium.(JibriSelenium.kt:100)
org.jitsi.jibri.service.impl.FileRecordingJibriService.(FileRecordingJibriService.kt:92)
org.jitsi.jibri.JibriManager.startFileRecording(JibriManager.kt:121)
org.jitsi.jibri.api.xmpp.XmppApi.handleStartService(XmppApi.kt:278)
org.jitsi.jibri.api.xmpp.XmppApi.access$handleStartService(XmppApi.kt:64)
org.jitsi.jibri.api.xmpp.XmppApi$handleStartJibriIq$1.run(XmppApi.kt:196)
java.util.concurrent.Executors$RunnableAdapter.call(Executors.java:511)
java.util.concurrent.FutureTask.run(FutureTask.java:266)
java.util.concurrent.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1149)
java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:624)
java.lang.Thread.run(Thread.java:748)

2018-08-07 13:57:33.833 信息: [40] org.jitsi.jibri.api.xmpp.XmppApi.run() Sending start service response iq:


#4

Looks like this is your problem. The chromedriver will expect chrome to be in the default location, which on linux I believe is /usr/bin/google-chrome.


#5

Thank you for your reply, I modified the chromedriver path, but there was another problem.

2018-08-07 15:23:42.417 信息: [26] org.jitsi.jibri.api.xmpp.XmppApi.handleJibriIq() Received JibriIq from environment prod environment
2018-08-07 15:23:42.417 信息: [26] org.jitsi.jibri.api.xmpp.XmppApi.handleStartJibriIq() Received start request
2018-08-07 15:23:42.417 信息: [26] org.jitsi.jibri.api.xmpp.XmppApi.handleStartJibriIq() Sending ‘pending’ response to start IQ
2018-08-07 15:23:42.418 信息: [40] org.jitsi.jibri.api.xmpp.XmppApi.run() Starting service
2018-08-07 15:23:42.418 信息: [40] org.jitsi.jibri.api.xmpp.XmppApi.handleStartService() Parsed call url info: CallUrlInfo(baseUrl=https://192.168.1.45, callName=ddd, urlParams=[])
2018-08-07 15:23:42.418 信息: [40] org.jitsi.jibri.JibriManager.startFileRecording() Starting a file recording with params: FileRecordingRequestParams(callParams=CallParams(callUrlInfo=CallUrlInfo(baseUrl=https://192.168.1.45, callName=ddd, urlParams=[])), sessionId=pxrhcyzzkwithfot, callLoginParams=XmppCredentials(domain=recorder.192.168.1.45, username=recorder, password=jibrirecorderpass)) finalize script path: /path/to/finalize_recording.sh and recordings directory: /tmp/recordings
2018-08-07 15:24:42.529 严重: [40] org.jitsi.jibri.api.xmpp.XmppApi.run() Error in startService task: org.openqa.selenium.WebDriverException: unknown error: Chrome failed to start: exited abnormally
(Driver info: chromedriver=2.9.248304,platform=Linux 4.15.0-30-generic x86_64) (WARNING: The server did not provide any stacktrace information)
Command duration or timeout: 60.04 seconds
Build info: version: ‘unknown’, revision: ‘unknown’, time: ‘unknown’
System info: host: ‘totowen-VirtualBox’, ip: ‘127.0.1.1’, os.name: ‘Linux’, os.arch: ‘amd64’, os.version: ‘4.15.0-30-generic’, java.version: ‘1.8.0_171’
Driver info: driver.version: ChromeDriver with stack:
sun.reflect.NativeConstructorAccessorImpl.newInstance0(Native Method)
sun.reflect.NativeConstructorAccessorImpl.newInstance(NativeConstructorAccessorImpl.java:62)
sun.reflect.DelegatingConstructorAccessorImpl.newInstance(DelegatingConstructorAccessorImpl.java:45)
java.lang.reflect.Constructor.newInstance(Constructor.java:423)
org.openqa.selenium.remote.ErrorHandler.createThrowable(ErrorHandler.java:214)
org.openqa.selenium.remote.ErrorHandler.throwIfResponseFailed(ErrorHandler.java:166)
org.openqa.selenium.remote.JsonWireProtocolResponse.lambda$new$0(JsonWireProtocolResponse.java:53)
org.openqa.selenium.remote.JsonWireProtocolResponse.lambda$getResponseFunction$2(JsonWireProtocolResponse.java:91)
org.openqa.selenium.remote.ProtocolHandshake.lambda$createSession$0(ProtocolHandshake.java:123)
java.util.stream.ReferencePipeline$3$1.accept(ReferencePipeline.java:193)
java.util.Spliterators$ArraySpliterator.tryAdvance(Spliterators.java:958)
java.util.stream.ReferencePipeline.forEachWithCancel(ReferencePipeline.java:126)
java.util.stream.AbstractPipeline.copyIntoWithCancel(AbstractPipeline.java:498)
java.util.stream.AbstractPipeline.copyInto(AbstractPipeline.java:485)
java.util.stream.AbstractPipeline.wrapAndCopyInto(AbstractPipeline.java:471)
java.util.stream.FindOps$FindOp.evaluateSequential(FindOps.java:152)
java.util.stream.AbstractPipeline.evaluate(AbstractPipeline.java:234)
java.util.stream.ReferencePipeline.findFirst(ReferencePipeline.java:464)
org.openqa.selenium.remote.ProtocolHandshake.createSession(ProtocolHandshake.java:126)
org.openqa.selenium.remote.ProtocolHandshake.createSession(ProtocolHandshake.java:73)
org.openqa.selenium.remote.HttpCommandExecutor.execute(HttpCommandExecutor.java:142)
org.openqa.selenium.remote.service.DriverCommandExecutor.execute(DriverCommandExecutor.java:83)
org.openqa.selenium.remote.RemoteWebDriver.execute(RemoteWebDriver.java:601)
org.openqa.selenium.remote.RemoteWebDriver.startSession(RemoteWebDriver.java:219)
org.openqa.selenium.remote.RemoteWebDriver.(RemoteWebDriver.java:142)
org.openqa.selenium.chrome.ChromeDriver.(ChromeDriver.java:181)
org.openqa.selenium.chrome.ChromeDriver.(ChromeDriver.java:168)
org.jitsi.jibri.selenium.JibriSelenium.(JibriSelenium.kt:137)
org.jitsi.jibri.selenium.JibriSelenium.(JibriSelenium.kt:100)
org.jitsi.jibri.service.impl.FileRecordingJibriService.(FileRecordingJibriService.kt:92)
org.jitsi.jibri.JibriManager.startFileRecording(JibriManager.kt:121)
org.jitsi.jibri.api.xmpp.XmppApi.handleStartService(XmppApi.kt:278)
org.jitsi.jibri.api.xmpp.XmppApi.access$handleStartService(XmppApi.kt:64)
org.jitsi.jibri.api.xmpp.XmppApi$handleStartJibriIq$1.run(XmppApi.kt:196)
java.util.concurrent.Executors$RunnableAdapter.call(Executors.java:511)
java.util.concurrent.FutureTask.run(FutureTask.java:266)
java.util.concurrent.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1149)
java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:624)
java.lang.Thread.run(Thread.java:748)

2018-08-07 15:24:42.533 信息: [40] org.jitsi.jibri.api.xmpp.XmppApi.run() Sending start service response iq:


#6

I match chromedriver and chrome ,but there was another problem.

2018-08-07 15:44:25.422 信息: [26] org.jitsi.jibri.api.xmpp.XmppApi.handleJibriIq() Received JibriIq from environment prod environment
2018-08-07 15:44:25.425 信息: [26] org.jitsi.jibri.api.xmpp.XmppApi.handleStartJibriIq() Received start request
2018-08-07 15:44:25.426 信息: [40] org.jitsi.jibri.api.xmpp.XmppApi.run() Starting service
2018-08-07 15:44:25.431 信息: [40] org.jitsi.jibri.api.xmpp.XmppApi.handleStartService() Parsed call url info: CallUrlInfo(baseUrl=https://192.168.1.45, callName=dddd, urlParams=[])
2018-08-07 15:44:25.432 信息: [26] org.jitsi.jibri.api.xmpp.XmppApi.handleStartJibriIq() Sending ‘pending’ response to start IQ
2018-08-07 15:44:25.439 信息: [40] org.jitsi.jibri.JibriManager.startFileRecording() Starting a file recording with params: FileRecordingRequestParams(callParams=CallParams(callUrlInfo=CallUrlInfo(baseUrl=https://192.168.1.45, callName=dddd, urlParams=[])), sessionId=ijlnsxgwjmxwlosx, callLoginParams=XmppCredentials(domain=recorder.192.168.1.45, username=recorder, password=jibrirecorderpass)) finalize script path: /path/to/finalize_recording.sh and recordings directory: /tmp/recordings
2018-08-07 15:44:25.561 严重: [40] org.jitsi.jibri.api.xmpp.XmppApi.run() Error in startService task: org.openqa.selenium.WebDriverException: unknown error: Chrome failed to start: exited abnormally
(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=2.41.578700 (2f1ed5f9343c13f73144538f15c00b370eda6706),platform=Linux 4.15.0-30-generic x86_64) (WARNING: The server did not provide any stacktrace information)
Command duration or timeout: 62 milliseconds
Build info: version: ‘unknown’, revision: ‘unknown’, time: ‘unknown’
System info: host: ‘totowen-VirtualBox’, ip: ‘127.0.1.1’, os.name: ‘Linux’, os.arch: ‘amd64’, os.version: ‘4.15.0-30-generic’, java.version: ‘1.8.0_171’
Driver info: driver.version: ChromeDriver with stack:
sun.reflect.NativeConstructorAccessorImpl.newInstance0(Native Method)
sun.reflect.NativeConstructorAccessorImpl.newInstance(NativeConstructorAccessorImpl.java:62)
sun.reflect.DelegatingConstructorAccessorImpl.newInstance(DelegatingConstructorAccessorImpl.java:45)
java.lang.reflect.Constructor.newInstance(Constructor.java:423)
org.openqa.selenium.remote.ErrorHandler.createThrowable(ErrorHandler.java:214)
org.openqa.selenium.remote.ErrorHandler.throwIfResponseFailed(ErrorHandler.java:166)
org.openqa.selenium.remote.JsonWireProtocolResponse.lambda$new$0(JsonWireProtocolResponse.java:53)
org.openqa.selenium.remote.JsonWireProtocolResponse.lambda$getResponseFunction$2(JsonWireProtocolResponse.java:91)
org.openqa.selenium.remote.ProtocolHandshake.lambda$createSession$0(ProtocolHandshake.java:123)
java.util.stream.ReferencePipeline$3$1.accept(ReferencePipeline.java:193)
java.util.Spliterators$ArraySpliterator.tryAdvance(Spliterators.java:958)
java.util.stream.ReferencePipeline.forEachWithCancel(ReferencePipeline.java:126)
java.util.stream.AbstractPipeline.copyIntoWithCancel(AbstractPipeline.java:498)
java.util.stream.AbstractPipeline.copyInto(AbstractPipeline.java:485)
java.util.stream.AbstractPipeline.wrapAndCopyInto(AbstractPipeline.java:471)
java.util.stream.FindOps$FindOp.evaluateSequential(FindOps.java:152)
java.util.stream.AbstractPipeline.evaluate(AbstractPipeline.java:234)
java.util.stream.ReferencePipeline.findFirst(ReferencePipeline.java:464)
org.openqa.selenium.remote.ProtocolHandshake.createSession(ProtocolHandshake.java:126)
org.openqa.selenium.remote.ProtocolHandshake.createSession(ProtocolHandshake.java:73)
org.openqa.selenium.remote.HttpCommandExecutor.execute(HttpCommandExecutor.java:142)
org.openqa.selenium.remote.service.DriverCommandExecutor.execute(DriverCommandExecutor.java:83)
org.openqa.selenium.remote.RemoteWebDriver.execute(RemoteWebDriver.java:601)
org.openqa.selenium.remote.RemoteWebDriver.startSession(RemoteWebDriver.java:219)
org.openqa.selenium.remote.RemoteWebDriver.(RemoteWebDriver.java:142)
org.openqa.selenium.chrome.ChromeDriver.(ChromeDriver.java:181)
org.openqa.selenium.chrome.ChromeDriver.(ChromeDriver.java:168)
org.jitsi.jibri.selenium.JibriSelenium.(JibriSelenium.kt:137)
org.jitsi.jibri.selenium.JibriSelenium.(JibriSelenium.kt:100)
org.jitsi.jibri.service.impl.FileRecordingJibriService.(FileRecordingJibriService.kt:92)
org.jitsi.jibri.JibriManager.startFileRecording(JibriManager.kt:121)
org.jitsi.jibri.api.xmpp.XmppApi.handleStartService(XmppApi.kt:278)
org.jitsi.jibri.api.xmpp.XmppApi.access$handleStartService(XmppApi.kt:64)
org.jitsi.jibri.api.xmpp.XmppApi$handleStartJibriIq$1.run(XmppApi.kt:196)
java.util.concurrent.Executors$RunnableAdapter.call(Executors.java:511)
java.util.concurrent.FutureTask.run(FutureTask.java:266)
java.util.concurrent.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1149)
java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:624)
java.lang.Thread.run(Thread.java:748)

2018-08-07 15:44:25.566 信息: [40] org.jitsi.jibri.api.xmpp.XmppApi.run() Sending start service response iq:


#7

What you’ve got here looks like a chromedriver issue, not a Jibri issue, but I think this error message is your best lead:

I haven’t seen this before, but I’d google it (DevToolsActivePort file doesn’t exist) and see what comes up.


#9

Thank you again for your reply., can you provide a working version of chromedriver and google-chrome-stable?
I tried the latest version, but it will go wrong.


#10

We were actually trying to get exactly those versions recently, as we’ve seen some other issues which we thought might be related to the chromedriver version (though not the same issue you’ve pasted here). @Aaron_van_Meerten did we get an old Jibri machine spun up to check that?