Closed sualko closed 4 years ago
@bbaldino any idea why the launched Chrome wouldn't have localStorage available?
I think there is the localStorage available, but it's probably a typo. Window
(first uppercase letter), at least in my normal chrome installation, is different from the usual window
. It could also be the case that the context is just wrong.
Some other people have reported this, but I don't think it's something we've run into, so I don't think it's a fundamental Jibri issue, but something with the deployment? I don't know more than just googling for the chrome error.
The chromium project reports that this is a security warning, if third-party cookies and site data is blocked.
On the jitsi forum there is also a report about the same error and the author suggests the following solution:
I found out that I forgot to add the name of Jitsi server (video.*) to the hosts file.
Does this help you?
According to the logs in the docker image, it seems the default jibri image attempts to join https://meet.jitsi/
meet.jitsi
is the default domain for the docker images, see https://github.com/jitsi/docker-jitsi-meet/blob/master/env.example
Yes @sualko, however, it's under the section:
Advanced configuration options (you generally don't need to change these)
So, i think either the documentation should be changed to reflect that changing the PUBLIC_URL is not sufficient, since jibri will use the XMPP_DOMAIN url or the jibri image should use PUBLIC_URL to connect to the room.
That traffic happens over the Docker internal network so I'm not sure why it's failing :-/
Btw can someone reproduce this?
@saghul The connection itself is not failing, it can reach the server at meet.jitsi, but selenium gets presented the wrong certificate (in our case meet.ourdomain.de instead of meet.jitsi) and as a result correctly refuses to connect since the hostname doesn't match. As a result no window.localStorage is available. The solution would be to use the PUBLIC_URL to connect to the server. (Or disable certificate checking in selenium, which shouldn't be considered in the first place.)
Can selenium not just use an unencrypted connection, because in my case an apache is handling tls and therefore I disabled tls.
@sualko I am seeing the same behaviour, having deployed a more or less vanilla setup via docker-compose from master branch a few days ago, first without the Jibri component, everything works like a charm. Then, after adding Jibri I am seeing the same error as described above. Just to be sure, I also wiped the whole generated config for all components and started fresh, but same result.
Or disable certificate checking in selenium, which shouldn't be considered in the first place.
Arguably that is not a bad idea in this case. All the traffic goes over the user defined network in Docker, not the public internet.
Now, I agree this is bad, but alas it's not a config issue, we need to modify Jibri to fix this.
As far as I understand it, it is not selenium that's the issue but rather Chrome itself. Chrome won't activate WebRTC connections with https:// and so a valid certificate is required for that reason.
It will, if we namage to accept a self-signed cert for example. We could have an nginx entry for meet.jitsi, with a self-signed cert.
Actually, I think a self-signed already works, that's how I tested it. I'll try to fix this tomorrow by having a self-signed cert for meet.jitsi
I pull the image which updated 14hrs ago but still having the same recording issue
Interestingly, we were actually successfully recoding up until today. Then it just stopped working on that machine (after a reboot). Also not working on a new vanilla installation I tried on a new machine.
What version is this (that you pulled and started failing)?
Latest
$ docker images REPOSITORY TAG IMAGE ID CREATED SIZE jitsi/jibri latest 770b397dc6d5 20 hours ago 745MB jitsi/etherpad latest 79b9096be9bd 21 hours ago 1.01GB jitsi/jvb latest fd8201652975 21 hours ago 276MB jitsi/jicofo latest 773ffe263260 21 hours ago 277MB jitsi/prosody latest 5734ef478ff3 21 hours ago 256MB jitsi/web latest 7afd18fc710a 21 hours ago 266MB
Ok, here is what I've figured out: It has to do with the config file (.jitsi-meet-config
) at least in my case. I recalled that I had renamed the config file after the reboot and had created an empty one (I guess just to do a clean start). That was when I faced the Jibri failure. Since I had the original one but renamed, I renamed it back in and now the recording works!
As for what is special in the config file, I have no idea unfortunately. I had gradually turned on authentication, HTTP redirect to HTTPS, recording, etc. I am thinking perhaps these have made something in the config file that a clean install with jibri right from the beginning is not making? sorry, it's all guesses.
It's not fixed in the latest images. It will only work if you are using a self-signed cert.
What version is this (that you pulled and started failing)?
@bbaldino It's not a Jibri issue (yet), it has do to with the Docker setup.
Hey @saghui, I have the same problem. I am using jitsi behind an NGINX reverse proxy and I am rather new jitisi and jibri. I would like to try to apply your solution. As I understand, jibri needs a SSL connection to the container in which the meeting takes place, since the selenium Chrome browser running inside the Jibri container does not record unless an SSL connection is enabled. Your solution would be a self signed certificate. Where do I place it?
It seems this is related to this issue, am I correct? https://github.com/jitsi/jibri/issues/240#issuecomment-578086581
Where do I change the setting in the jibri docker image for the Chrome capabilities?
Yes, it's that issue.
There is no setting to change. We need to create a self-signed cert for the "meet.jitsi" domain and configure nginx accordingly.
So, you mean the nginx server in the web container? Isn't there already a self signed certificat present in the ssl.conf?
# ssl certs
{{ if .Env.ENABLE_LETSENCRYPT | default "0" | toBool }}
ssl_certificate /etc/letsencrypt/live/{{ .Env.LETSENCRYPT_DOMAIN }}/fullchain.pem;
ssl_certificate_key /etc/letsencrypt/live/{{ .Env.LETSENCRYPT_DOMAIN }}/privkey.pem;
{{ else }}
ssl_certificate /config/keys/cert.crt;
ssl_certificate_key /config/keys/cert.key;
{{ end }}
Same problem here. I tried everything but with self signed cert can't start recording. I think one option is use a FQDN and valid certificate in jitsi-web.
Hi!
Check your jitsi-web logs.
This is mine:
During handling of the above exception, another exception occurred:
Traceback (most recent call last):
File "/usr/lib/python3/dist-packages/requests/adapters.py", line 449, in send
timeout=timeout
File "/usr/lib/python3/dist-packages/urllib3/connectionpool.py", line 638, in urlopen
_stacktrace=sys.exc_info()[2])
File "/usr/lib/python3/dist-packages/urllib3/util/retry.py", line 398, in increment
raise MaxRetryError(_pool, url, error or ResponseError(cause))
urllib3.exceptions.MaxRetryError: HTTPSConnectionPool(host='acme-v02.api.letsencrypt.org', port=443): Max retries exceeded with url: /directory (Caused by NewConnectionError('<urllib3.connection.VerifiedHTTPSConnection object at 0x7fc86a403ba8>: Failed to establish a new connection: [Errno -3] Temporary failure in name resolution',))
During handling of the above exception, another exception occurred:
requests.exceptions.ConnectionError: HTTPSConnectionPool(host='acme-v02.api.letsencrypt.org', port=443): Max retries exceeded with url: /directory (Caused by NewConnectionError('<urllib3.connection.VerifiedHTTPSConnection object at 0x7fc86a403ba8>: Failed to establish a new connection: [Errno -3] Temporary failure in name resolution',))
Please see the logfiles in /var/log/letsencrypt for more details.
Failed to obtain a certificate from the Let's Encrypt CA.
Exiting.
For testing purpose cant be a let's encrypt CA I guess.
"looks like your “server” can’t talk with Letsencrypt. What’s your domain name? You need a public visible and unique domain name to get a certificate."
Hi there!
I've tried this self signed CA and still not working
Here my jibri's log
2020-03-27 20:37:15.794 SEVERE: [48] org.jitsi.jibri.selenium.JibriSelenium.run() An error occurred while joining the call: org.openqa.selenium.WebDriverException: <unknown>: Failed to read the 'localStorage' property from 'Window': Access is denied for this document.
(Session info: chrome=80.0.3987.149)
(Driver info: chromedriver=80.0.3987.106 (f68069574609230cf9b635cd784cfb1bf81bb53a-refs/branch-heads/3987@{#882}),platform=Linux 3.10.0-1062.18.1.el7.x86_64 x86_64) (WARNING: The server did not provide any stacktrace information)
No. Chrome will connect to the web server, using https://meet.jitsi
as the URL. So the self-signed cert should at least match that, I think.
Correct. I think we need to provide a FQDN base url that match with trusted certificate on a new env constant.
I've added a self signed CA, with the FQDN https://meet.jitsi
. It is still not working. Am I doing something wrong? Same error message...
No, you're not doing anything wrong. I think it has to do with the new(er) Chrome versions being more spartan.
Maybe it's high time we fix this properly in Jibri.
Can I be of any help? How would you go about fixing it?
Jibri will need a new config option with the URL of the servicce to join. Rightt now it "guesses" it by using the XMPP connection information, but that doesn't work for the Docker setup, since we usse a FQDN that doesn't really exist.
Alternatively, a way to bypass the spartan checks, since we know we are connecting on a private network.
I'm having this issue too. Similar logs. Fresh install on Docker.
Fixed this by replacing every meet.jitsi with my real FQDN with Let's Encrypt.
I changed meet.jitsi to my domainname and still doesn't work. Do you mean FQDN of your site or domain or your site? Thanks
Hi everyone. A temporary hack for people who using proxy to internal nginx and because of that can't use letsencrypt to get valid certs:
That works for me. Hope that would be fixed soon.
- In .env replace all meet.jitsi with a domain you have cert for.
In case of XMPP_RECORDER_DOMAIN=recorder.meet.jitsi
it would be XMPP_RECORDER_DOMAIN=recorder.meet.mydomain.com
?
Or would be XMPP_RECORDER_DOMAIN=meet.mydomain.com
?
- In .env replace all meet.jitsi with a domain you have cert for.
In case of
XMPP_RECORDER_DOMAIN=recorder.meet.jitsi
it would beXMPP_RECORDER_DOMAIN=recorder.meet.mydomain.com
?Or would be
XMPP_RECORDER_DOMAIN=meet.mydomain.com
?
It would be recorder.mydomain.com In other words /meet.jitsi/mydomain.com/g In vim :%s/meet.jitsi/mydomain.com/g
Fixed this by replacing every meet.jitsi with my real FQDN with Let's Encrypt.
This only works if you're not using nginx reverse proxy. If you're using reverse proxy you need to configure docker networks to reach this server, set properly FQDN in container /etc/hosts and probably some other configs.
EDIT: If you're not using reverse proxy you can use your own trusted certificated, it's not mandatory to use Letsencrypt and it's working too.
I think lowering the Chrome version may help here. If someone can test by changing https://github.com/jitsi/docker-jitsi-meet/blob/master/jibri/Dockerfile#L4 it would be ideal. I know this worked before...
This is a stopgap measure, of course.
I tried this some days ago.
The results are same not working
Google Chrome 71.0.3578.80
wget https://www.slimjet.com/chrome/download-chrome.php?file=files%2F71.0.3578.80%2Fgoogle-chrome-stable_current_amd64.deb
wget -N http://chromedriver.storage.googleapis.com/71.0.3578.137/chromedriver_linux64.zip -P ~/
unzip ~/chromedriver_linux64.zip -d ~/
cp ~/chromedriver /usr/local/bin/
sudo chown root:root /usr/local/bin/chromedriver
sudo chmod 0755 /usr/local/bin/chromedriver
2020-03-06 10:47:39.971 INFORMAÇÕES: [52] browser.leaveCallAndQuitBrowser() [2020-03-06T10:47:39-0300] [INFO] [3c55eab9ba0b059db4d81687fe5a8d63] RESPONSE ExecuteScript ERROR move target out of bounds: Failed to read the 'localStorage' property from 'Window': Access is denied for this document.
(Session info: chrome=71.0.3578.80)
I have the same error Using docker-jitsi-meet on public server behind nginx.
Hello, i hope you're all well. I think i've got the same problem on jibri connection:
My setup is on server, docker swarm. Everything's working appart from jibri's recoding and youtube's streaming
Here's the jibbri's logs:
` Actions
[s6-init] making user provided files available at /var/run/s6/etc...exited 0.
[s6-init] ensuring user provided files have correct perms...exited 0.
[fix-attrs.d] applying ownership & permissions fixes...
[fix-attrs.d] done.
[cont-init.d] executing container initialization scripts...
[cont-init.d] 01-set-timezone: executing...
[cont-init.d] 01-set-timezone: exited 0.
[cont-init.d] 10-config: executing...
stat: cannot stat '/dev/snd/pcmC0D0p': No such file or directory
Usage: usermod [options] LOGIN
Options:
-c, --comment COMMENT new value of the GECOS field
-d, --home HOME_DIR new home directory for the user account
-e, --expiredate EXPIRE_DATE set account expiration date to EXPIRE_DATE
-f, --inactive INACTIVE set password inactive after expiration
to INACTIVE
-g, --gid GROUP force use GROUP as new primary group
-G, --groups GROUPS new list of supplementary GROUPS
-a, --append append the user to the supplemental GROUPS
mentioned by the -G option without removing
him/her from other groups
-h, --help display this help message and exit
-l, --login NEW_LOGIN new value of the login name
-L, --lock lock the user account
-m, --move-home move contents of the home directory to the
new location (use only with -d)
-o, --non-unique allow using duplicate (non-unique) UID
-p, --password PASSWORD use encrypted password for the new password
-R, --root CHROOT_DIR directory to chroot into
-s, --shell SHELL new login shell for the user account
-u, --uid UID new UID for the user account
-U, --unlock unlock the user account
-v, --add-subuids FIRST-LAST add range of subordinate uids
-V, --del-subuids FIRST-LAST remove range of subordinate uids
-w, --add-subgids FIRST-LAST add range of subordinate gids
-W, --del-subgids FIRST-LAST remove range of subordinate gids
-Z, --selinux-user SEUSER new SELinux user mapping for the user account
chmod: changing permissions of '/config/finalize.sh': Read-only file system
[cont-init.d] 10-config: exited 0.
[cont-init.d] done.
[services.d] starting services
icewm-session: using /root/.icewm for private configuration files
_XSERVTransmkdir: ERROR: euid != 0,directory /tmp/.X11-unix will not be created.
X.Org X Server 1.19.2
Release Date: 2017-03-02
X Protocol Version 11, Revision 0
Build Operating System: Linux 4.9.0-8-amd64 x86_64 Debian
Current Operating System: Linux 94e4afc986cc 4.15.0-91-generic #92-Ubuntu SMP Fri Feb 28 11:09:48 UTC 2020 x86_64
Kernel command line: BOOT_IMAGE=/vmlinuz-4.15.0-91-generic root=/dev/mapper/VolGroup00-system_root ro net.ifnames=0 biosdevname=0
Build Date: 03 November 2018 03:09:11AM
xorg-server 2:1.19.2-1+deb9u5 (https://www.debian.org/support)
Current version of pixman: 0.34.0
Before reporting problems, check http://wiki.x.org
to make sure that you have the latest version.
Markers: (--) probed, (**) from config file, (==) default setting,
(++) from command line, (!!) notice, (II) informational,
(WW) warning, (EE) error, (NI) not implemented, (??) unknown.
(++) Log file: "/tmp/xorg.log", Time: Thu Apr 2 02:47:03 2020
(++) Using config file: "/etc/jitsi/jibri/xorg-video-dummy.conf"
(==) Using system config directory "/usr/share/X11/xorg.conf.d"
[services.d] done.
2020-04-02 02:47:03.391 INFO: [1] org.jitsi.jibri.Main.main() Jibri run with args [--config, /etc/jitsi/jibri/config.json]
2020-04-02 02:47:03.393 INFO: [1] org.jitsi.jibri.Main.main() Using config file /etc/jitsi/jibri/config.json
2020-04-02 02:47:03.393 INFO: [1] org.jitsi.jibri.Main.main() Using port 3333 for internal HTTP API
2020-04-02 02:47:03.393 INFO: [1] org.jitsi.jibri.Main.main() Using port 2222 for the HTTP API
icewmbg: using /root/.icewm for private configuration files
IceWM: using /root/.icewm for private configuration files
2020-04-02 02:47:03.888 INFO: [1] org.jitsi.jibri.Main.loadConfig() Parsed config:
JibriConfig(recordingDirectory=/config/recordings, singleUseMode=false, enabledStatsD=true, finalizeRecordingScriptPath=/config/finalize.sh, xmppEnvironments=[XmppEnvironmentConfig(name=prod environment, xmppServerHosts=[xmpp.meet.benelos.eu], xmppDomain=meet.benelos.eu, controlLogin=XmppCredentials(domain=auth.meet.benelos.eu, username=jibri, password=passw0rd), controlMuc=XmppMuc(domain=internal-muc.meet.benelos.eu, roomName=jibribrewery, nickname=jibri-instanse-189708994), sipControlMuc=null, callLogin=XmppCredentials(domain=recorder.meet.benelos.eu, username=recorder, password=passw0rd), stripFromRoomDomain=muc., usageTimeoutMins=0, trustAllXmppCerts=true)])
SLF4J: Failed to load class "org.slf4j.impl.StaticLoggerBinder".
SLF4J: Defaulting to no-operation (NOP) logger implementation
SLF4J: See http://www.slf4j.org/codes.html#StaticLoggerBinder for further details.
2020-04-02 02:47:04.307 WARNING: [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.
icewmtray: using /root/.icewm for private configuration files
2020-04-02 02:47:04.500 INFO: [1] 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-02 02:47:04.502 INFO: [1] org.jitsi.xmpp.mucclient.MucClientManager.log() Setting a presence extension: org.jitsi.xmpp.extensions.jibri.JibriStatusPacketExt@5aa6202e
2020-04-02 02:47:04.506 INFO: [1] org.jitsi.jibri.api.xmpp.XmppApi.start() Connecting to xmpp environment on xmpp.meet.benelos.eu with config XmppEnvironmentConfig(name=prod environment, xmppServerHosts=[xmpp.meet.benelos.eu], xmppDomain=meet.benelos.eu, controlLogin=XmppCredentials(domain=auth.meet.benelos.eu, username=jibri, password=passw0rd), controlMuc=XmppMuc(domain=internal-muc.meet.benelos.eu, roomName=jibribrewery, nickname=jibri-instanse-189708994), sipControlMuc=null, callLogin=XmppCredentials(domain=recorder.meet.benelos.eu, username=recorder, password=passw0rd), stripFromRoomDomain=muc., usageTimeoutMins=0, trustAllXmppCerts=true)
2020-04-02 02:47:04.507 INFO: [1] org.jitsi.jibri.api.xmpp.XmppApi.start() The trustAllXmppCerts config is enabled for this domain, all XMPP server provided certificates will be accepted
2020-04-02 02:47:04.514 FINE: [21] org.jitsi.xmpp.mucclient.MucClient.log() Initializing a new MucClient for [ org.jitsi.xmpp.mucclient.MucClientConfiguration id=xmpp.meet.benelos.eu domain=auth.meet.benelos.eu hostname=xmpp.meet.benelos.eu username=jibri mucs=[jibribrewery@internal-muc.meet.benelos.eu] mucNickname=jibri-instanse-189708994 disableCertificateVerification=true]
2020-04-02 02:47:04.519 WARNING: [21] org.jitsi.xmpp.mucclient.MucClient.log() Disabling certificate verification!
2020-04-02 02:47:04.540 FINE: [21] org.jitsi.xmpp.mucclient.MucClient.log() [MucClient id=xmpp.meet.benelos.eu hostname=xmpp.meet.benelos.eu] about to connect and login.
2020-04-02 02:47:04.549 WARNING: [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.
2020-04-02 02:47:04.706 INFO: [21] org.jitsi.xmpp.mucclient.MucClient.log() [MucClient id=xmpp.meet.benelos.eu hostname=xmpp.meet.benelos.eu] connected
2020-04-02 02:47:04.761 FINE: [21] org.jitsi.xmpp.mucclient.MucClient.log() [MucClient id=xmpp.meet.benelos.eu hostname=xmpp.meet.benelos.eu] authenticated, b=false
2020-04-02 02:47:04.762 FINE: [21] org.jitsi.xmpp.mucclient.MucClient.log() [MucClient id=xmpp.meet.benelos.eu hostname=xmpp.meet.benelos.eu] about to join MUCs.
2020-04-02 02:47:04.786 INFO: [21] org.jitsi.xmpp.mucclient.MucClient.log() Joined MUC: jibribrewery@internal-muc.meet.benelos.eu
2020-04-02 02:47:04.791 FINE: [32] org.jitsi.xmpp.extensions.DefaultPacketExtensionProvider.parse() Could not add a provider for element busy-status from namespace http://jitsi.org/protocol/jibri
2020-04-02 02:47:04.791 FINE: [32] org.jitsi.xmpp.extensions.DefaultPacketExtensionProvider.parse() Could not add a provider for element health-status from namespace http://jitsi.org/protocol/health
2020-04-02 02:52:47.670 FINE: [47] org.jitsi.xmpp.mucclient.MucClient.log() Received an IQ with type set: IQ Stanza (jibri http://jitsi.org/protocol/jibri) [to=jibri@auth.meet.benelos.eu/_HnukJae,from=jibribrewery@internal-muc.meet.benelos.eu/focus,id=amlicmlAYXV0aC5tZWV0LmJlbmVsb3MuZXUvX0hudWtKYWUATWJBU0otNDAxAIKKoc/28ln4HQH2bjyukZs=,type=set,]
2020-04-02 02:52:47.674 INFO: [47] org.jitsi.jibri.api.xmpp.XmppApi.handleJibriIq() Received JibriIq
2020-04-02 02:52:47.675 INFO: [47] org.jitsi.jibri.api.xmpp.XmppApi.handleStartJibriIq() Received start request
2020-04-02 02:52:47.677 INFO: [47] org.jitsi.jibri.api.xmpp.XmppApi.handleStartJibriIq() Sending 'pending' response to start IQ
2020-04-02 02:52:47.677 INFO: [48] org.jitsi.jibri.api.xmpp.XmppApi.run() Starting service
2020-04-02 02:52:47.705 INFO: [48] org.jitsi.jibri.api.xmpp.XmppApi.handleStartService() Parsed call url info: CallUrlInfo(baseUrl=https://meet.benelos.eu, callName=test, urlParams=[])
2020-04-02 02:52:47.705 INFO: [48] org.jitsi.jibri.JibriManager.startFileRecording() Starting a file recording with params: FileRecordingRequestParams(callParams=CallParams(callUrlInfo=CallUrlInfo(baseUrl=https://meet.benelos.eu, callName=test, urlParams=[])), sessionId=bkibmhxqdfuvuank, callLoginParams=XmppCredentials(domain=recorder.meet.benelos.eu, username=recorder, password=passw0rd)) finalize script path: /config/finalize.sh and recordings directory: /config/recordings
Starting ChromeDriver 80.0.3987.106 (f68069574609230cf9b635cd784cfb1bf81bb53a-refs/branch-heads/3987@{#882}) on port 20190
Only local connections are allowed.
Please protect ports used by ChromeDriver and related test frameworks to prevent access by malicious code.
2020-04-02 02:52:48.212 SEVERE: [48] org.jitsi.jibri.api.xmpp.XmppApi.run() 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=80.0.3987.106 (f68069574609230cf9b635cd784cfb1bf81bb53a-refs/branch-heads/3987@{#882}),platform=Linux 4.15.0-91-generic x86_64) (WARNING: The server did not provide any stacktrace information)
Command duration or timeout: 229 milliseconds
Build info: version: 'unknown', revision: 'unknown', time: 'unknown'
System info: host: '94e4afc986cc', ip: '10.0.51.10', os.name: 'Linux', os.arch: 'amd64', os.version: '4.15.0-91-generic', java.version: '1.8.0_242'
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:499)
java.util.stream.AbstractPipeline.copyInto(AbstractPipeline.java:486)
java.util.stream.AbstractPipeline.wrapAndCopyInto(AbstractPipeline.java:472)
java.util.stream.FindOps$FindOp.evaluateSequential(FindOps.java:152)
java.util.stream.AbstractPipeline.evaluate(AbstractPipeline.java:234)
java.util.stream.ReferencePipeline.findFirst(ReferencePipeline.java:531)
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:136)
org.openqa.selenium.remote.service.DriverCommandExecutor.execute(DriverCommandExecutor.java:83)
org.openqa.selenium.remote.RemoteWebDriver.execute(RemoteWebDriver.java:543)
org.openqa.selenium.remote.RemoteWebDriver.startSession(RemoteWebDriver.java:207)
org.openqa.selenium.remote.RemoteWebDriver.
org.openqa.selenium.chrome.ChromeDriver.
org.openqa.selenium.chrome.ChromeDriver.
org.jitsi.jibri.selenium.JibriSelenium.
org.jitsi.jibri.selenium.JibriSelenium.
org.jitsi.jibri.service.impl.FileRecordingJibriService.
org.jitsi.jibri.JibriManager.startFileRecording(JibriManager.kt:134)
org.jitsi.jibri.api.xmpp.XmppApi.handleStartService(XmppApi.kt:285)
org.jitsi.jibri.api.xmpp.XmppApi.access$handleStartService(XmppApi.kt:67)
org.jitsi.jibri.api.xmpp.XmppApi$handleStartJibriIq$1.run(XmppApi.kt:195)
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)
2020-04-02 02:52:48.216 FINE: [47] org.jitsi.xmpp.mucclient.MucClient.log() Received an IQ with type set: IQ Stanza (jibri http://jitsi.org/protocol/jibri) [to=jibri@auth.meet.benelos.eu/_HnukJae,from=jibribrewery@internal-muc.meet.benelos.eu/focus,id=amlicmlAYXV0aC5tZWV0LmJlbmVsb3MuZXUvX0hudWtKYWUATWJBU0otNDA1AIKKoc/28ln4HQH2bjyukZs=,type=set,]
2020-04-02 02:52:48.217 INFO: [47] org.jitsi.jibri.api.xmpp.XmppApi.handleJibriIq() Received JibriIq
2020-04-02 02:52:48.217 INFO: [47] org.jitsi.jibri.api.xmpp.XmppApi.handleStartJibriIq() Received start request
2020-04-02 02:52:48.217 INFO: [47] org.jitsi.jibri.api.xmpp.XmppApi.handleStartJibriIq() Sending 'pending' response to start IQ
2020-04-02 02:52:48.217 INFO: [48] org.jitsi.jibri.api.xmpp.XmppApi.run() Starting service
2020-04-02 02:52:48.234 INFO: [48] org.jitsi.jibri.api.xmpp.XmppApi.handleStartService() Parsed call url info: CallUrlInfo(baseUrl=https://meet.benelos.eu, callName=test, urlParams=[])
2020-04-02 02:52:48.234 INFO: [48] org.jitsi.jibri.JibriManager.startFileRecording() Starting a file recording with params: FileRecordingRequestParams(callParams=CallParams(callUrlInfo=CallUrlInfo(baseUrl=https://meet.benelos.eu, callName=test, urlParams=[])), sessionId=bkibmhxqdfuvuank, callLoginParams=XmppCredentials(domain=recorder.meet.benelos.eu, username=recorder, password=passw0rd)) finalize script path: /config/finalize.sh and recordings directory: /config/recordings
Starting ChromeDriver 80.0.3987.106 (f68069574609230cf9b635cd784cfb1bf81bb53a-refs/branch-heads/3987@{#882}) on port 2432
Only local connections are allowed.
Please protect ports used by ChromeDriver and related test frameworks to prevent access by malicious code.
2020-04-02 02:52:48.410 SEVERE: [48] org.jitsi.jibri.api.xmpp.XmppApi.run() 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=80.0.3987.106 (f68069574609230cf9b635cd784cfb1bf81bb53a-refs/branch-heads/3987@{#882}),platform=Linux 4.15.0-91-generic x86_64) (WARNING: The server did not provide any stacktrace information)
Command duration or timeout: 155 milliseconds
Build info: version: 'unknown', revision: 'unknown', time: 'unknown'
System info: host: '94e4afc986cc', ip: '10.0.51.10', os.name: 'Linux', os.arch: 'amd64', os.version: '4.15.0-91-generic', java.version: '1.8.0_242'
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:499)
java.util.stream.AbstractPipeline.copyInto(AbstractPipeline.java:486)
java.util.stream.AbstractPipeline.wrapAndCopyInto(AbstractPipeline.java:472)
java.util.stream.FindOps$FindOp.evaluateSequential(FindOps.java:152)
java.util.stream.AbstractPipeline.evaluate(AbstractPipeline.java:234)
java.util.stream.ReferencePipeline.findFirst(ReferencePipeline.java:531)
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:136)
org.openqa.selenium.remote.service.DriverCommandExecutor.execute(DriverCommandExecutor.java:83)
org.openqa.selenium.remote.RemoteWebDriver.execute(RemoteWebDriver.java:543)
org.openqa.selenium.remote.RemoteWebDriver.startSession(RemoteWebDriver.java:207)
org.openqa.selenium.remote.RemoteWebDriver.
org.openqa.selenium.chrome.ChromeDriver.
org.openqa.selenium.chrome.ChromeDriver.
org.jitsi.jibri.selenium.JibriSelenium.
org.jitsi.jibri.selenium.JibriSelenium.
org.jitsi.jibri.service.impl.FileRecordingJibriService.
org.jitsi.jibri.JibriManager.startFileRecording(JibriManager.kt:134)
org.jitsi.jibri.api.xmpp.XmppApi.handleStartService(XmppApi.kt:285)
org.jitsi.jibri.api.xmpp.XmppApi.access$handleStartService(XmppApi.kt:67)
org.jitsi.jibri.api.xmpp.XmppApi$handleStartJibriIq$1.run(XmppApi.kt:195)
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)`
and here the xorgerror log:
[228562.932] (EE) dbus-core: error connecting to system bus: org.freedesktop.DBus.Error.FileNotFound (Failed to connect to socket /var/run/dbus/system_bus_socket: No such file o$
Here is my docker-compose part for jibri:
` jibri: image: jitsi/jibri configs:
thank you for any advide, help. Nicolas
I forgot to say that I use traefik reverse proxy :)
Just to add, I'm also having same issue on docker-jitsi-meet. Was thinking maybe It would be possible to do some franken thing, with docker web, jicofo etc, but jibri installed out of docker? I just kinda need to get it to work asap :) Also, since I needed prosody plugin to change "all non guests are moderators" and from error it seems this local storage thing seems to be related to display name setting (well maybe more things, haven't looked at it), maybe it would be possible to use prosody plugin for such things as display name setting?
So looking at jibri and jitsi-meet-source, not using local storage seems to not be an option at this point without possibly significant rework. And I guess it would still not work due to other problems caused by cert issues.
I think it's no certificate issue in the first place, because I get connection refused from the jibri container if I try to access jitsi.meet via https (`curl -v https://jitsi.meet). Unencrypted works like expected. After looking at the config, I saw that if you disable https, https gets disabled completely :see_no_evil:, but after enabling I can still not access the container via port 443. Even from the outside I get "Connection reset by peer". My guess is that the nginx config breaks without letsencrypt.
Hi everyone, I tried to enable jibri and encountered some problems. First I got the following error message:
But this was easy to fix. I just created a file in my config folder, but now I get the following:
I think the problem is that
Window
is different fromwindow
, but I don't know where to find the code. Can you help me?Complete log
``` 2020-03-20 09:15:16.071 FINE: [35] org.jitsi.xmpp.mucclient.MucClient.log() Received an IQ with type set: IQ Stanza (jibri http://jitsi.org/protocol/jibri) [to=jibri@auth.meet.jitsi/edAXYQ94,from=jibribrewery@internal-muc.meet.jitsi/focus,id=amlicmlAYXV0aC5tZWV0LmppdHNpL2VkQVhZUTk0ADBCVGx1LTI1NABVsWt3X1n/o6vD6m2Rlbe7,type=set,] 2020-03-20 09:15:16.073 INFO: [35] org.jitsi.jibri.api.xmpp.XmppApi.handleJibriIq() Received JibriIq