Closed flathubbot closed 6 months ago
Started test build 90035
Build 90035 successful To test this build, install it from the testing repository:
flatpak install --user https://dl.flathub.org/build-repo/72716/us.zoom.Zoom.flatpakref
bot, build
Queued test build for us.zoom.Zoom.
Started test build 90614
Build 90614 successful To test this build, install it from the testing repository:
flatpak install --user https://dl.flathub.org/build-repo/73295/us.zoom.Zoom.flatpakref
bot, build
Queued test build for us.zoom.Zoom.
Started test build 91036
Build 91036 successful To test this build, install it from the testing repository:
flatpak install --user https://dl.flathub.org/build-repo/73716/us.zoom.Zoom.flatpakref
FWIW, the latest build crashes on my laptop. Please let me know if you need the crash info.
thanks for testing! It really helps assuring we don't ship broken stuff.
Yup, I also see a crash on launch, the same as PR #427 (zoom.real killed by SIGTRAP).
I think I remember that Zoom (or organisations using it) enforces a minimum client version connecting to the server, so at some point the older working version will stop working. I don't know when that will happen, but I thought I'd try investigating what's going on.
A backtrace on the coredump didn't get me very far (though it hinted that libcef might be involved). I presume because we're repackaging a pre-built Zoom, there are no debug symbols to reference it against.
I found a file ~/.zoom/logs/zoom_stdout_stderr.log
, into which stdout & stderr are redirected for the main zoom command. This is what it contains for one crashing run:
Then I also found it was writing to ~/.zoom/data/cefcache/cef.log
, one line like this on each launch/crash:
[0103/182242.425213:FATAL:zygote_host_impl_linux.cc(201)] Check failed: . : Operation not permitted (1)
So that sounds like something is failing with EPERM. strace-ing zoom shows only one operation getting that error:
clone(child_stack=0x7ffe461a69a0, flags=CLONE_NEWUSER|SIGCHLD) = -1 EPERM (Operation not permitted)
It looks like Chromium (CEF) is trying to set up some sandboxing of its own, and can't do that inside the Flatpak sandbox. AIUI, Zypak is meant to fix this, but it must be going wrong somewhere. This issue looks like it's describing a similar scenario: https://github.com/refi64/zypak/issues/14
That's all I've got time for just now; I hope it provides a starting point for someone who understands this stuff better to fix it. :slightly_smiling_face:
I did a bit more digging, and I guess Zoom 5.17 has a newer version of Chromium, which needs a recent-ish fix in Zypak:
https://github.com/refi64/zypak/commit/c7daf0cc5b82eb5f63a1665cf7d72ff267100690
There hasn't been a new release tag of Zypak since then (I've made an issue to ask for one), so the version this Flatpak gets through org.electronjs.Electron2.BaseApp
doesn't yet have that fix. If a new tag doesn't turn up soon, we could rebuild Zypak from the latest commit.
Once that's done, I think we'll also need to set the ZYPAK_CEF_LIBRARY_PATH
environment variable.
It's amazing that Zypak works, but awful that so many apps - most apps using Electron or CEF, I think - have to rely on a fragile workaround, using LD_PRELOAD tricks to let Chromium start its sandbox inside Flatpak. In the longer term, it would be really helpful if Chromium worked with Flatpak's sandboxing without the need for Zypak.
Resolved in https://github.com/flathub/us.zoom.Zoom/pull/440
🤖 This pull request was automatically generated by flathub/flatpak-external-data-checker. Please open an issue if you have any questions or complaints. 🤖