If you haven’t updated your Chrome to the current latest version (v92), DO NOT DO IT! This release of Chrome is rife with breaking problems - both on the client and on the server.
Here’s a summary of what I’ve observed so far:
- Restriction on available web media players - restricts the number of users that can share media (audio/video) in a meeting
- Websocket errors - Chrome 92 specifically threw a bunch of nondescript websocket errors
- Breaks Jibri - Upgrading to Chrome 92 on Jibri server breaks Jibri
- Breaks Screensharing - Breaks screensharing on VP9 (possibly on VP8 too)
Here’s a more detailed recount of my experience:
1. Web Media Players
The devs at Google had this ‘brilliant’ idea to restrict the number of web media players that can be used in a conference. They set the limit at 75 on the web and 40 on mobile devices. If you’re unfamiliar, just think of web media players as the entities that relay audio and video in your conference. Each participant in your meeting uses 2 media players (one for audio and one for video). Additionally, there are other media players that are immediately consumed once a meeting starts (sound notifications e.t.c…). Now, the logic behind the restriction is sound, but the implementation wasn’t the best. If media players are efficiently released when not actually in use (e.g. when audio or video is muted) and reused, then placing a restriction on the number available would make sense (even then 75/40 would be too low). Unfortunately, this is not quite working like that at the moment. So what this means for you is that if your users are using Chrome 92, after a handful of participants in the meeting, they will not be able to receive the audio and video streams of new participants.
This almost drove me crazy! I was testing a meeting on a handful of clients (5 clients). All but one were running earlier versions of Chrome (including one on Safari). The client that I started the meeting on immediately spurned websocket errors as soon as a second participant joined the meeting! I was stumped because I hadn’t made any changes to my deployment. I went digging nonetheless and my configurations were still fine. I then joined the meeting through the other clients (running earlier versions of Chrome and one client on Safari) and they worked flawlessly - no errors whatsoever, websocket worked as expected. It was then I thought to check what version of Chrome the troubled client was running and lo and behold, it was Chrome 92! I never would have imagined this! Every other client/user worked fine, no web socket errors, but Chrome 92 threw a basket of ill-defined web socket errors! To double-confirm, I downgraded to a previous version of Chrome (even an earlier version of Chrome 92 - Version 1.27.108 Chromium: 92.0.4515.107 (Official Build) (x86_64)) and boom, everything was fine!
CHROME 92 IS THE DEVIL! CHROME 92 KILLS JIBRI!!! Now this one particularly riled me! This was apparently the first sign but I didn’t realize it was due to Chrome 92. I’d updated all packages on my dev server days before and the upgrades seemed uneventful. Then, days later I tried recording and recording just wouldn’t start! I was getting the near-generic “
org.openqa.selenium.WebDriverException: unknown error: DevToolsActivePort file doesn't exist” error, which could refer to any of many things. So, I started debugging, adding and removing flags, manually upgrading Chromedriver to match the upgraded Chrome version on my server e.t.c… yet nothing helped. Then after going through the issues I observed with the clients, I thought to downgrade my server’s Chrome and Chromedriver, and like magic, Jibri rose again from the dead and starting chugging along like the rugged engine it is. Alleluyah!!!
Screensharing expectedly uses web media players. So, as noted in the first point, it will be affected. Peculiarly though, even with just a few participants, screensharing appears not to work at all on VP9 according to a report (someone also seemed to report experiencing this even with VP8). I didn’t get a chance to test it myself, but using earlier versions of Chrome proved that it was strictly a Chrome 92 issue as suspected.
There are probably other issues that I haven’t run into yet. So, for your own good, resist the urge to upgrade to Chrome 92 for now.
Google Dev’s Fix
The Google team has promised an update to be rolled out on August 3rd. However, it’s important to note that this update will merely temporarily lift the restriction on web media players (or raise the limits to more reasonable numbers). THIS IS NOT GUARANTEED TO FIX THE ISSUES WITH JIBRI OR WEBSOCKETS! It may, but I don’t know. For this reason, I’d again caution against upgrading to Chrome 92 on your server and on your clients (user’s machines) till we know for a fact.
You can always urge your users to use Firefox or the Jitsi Electron app for the time being. Any non Chromium-Based browser (e.g. Safari) also works.
If you’ve already upgraded Chrome on your server to v92, downgrade it and then mark the downgraded version to hold it from upgrades till it’s confirmed that everything works fine on the latest version.
`sudo apt-mark hold google-chrome-stable`