Electron-based programs not working on Jammy (GNU libc clone3 related)

balenaEtcher only runs if run as root - balenaEtcher not working - #7 by dclcav

Crashplan / Code42 online backup won't run as a normal user - "[110892:0423/003938.907974:FATAL:gpu_data_manager_impl_private.cc(445)] GPU process isn't usable. Goodbye." - and it turns out that it always refuses to run as root - "Running as root is not supported. Unable to launch. Launch as a non-root user and try again. Exiting..."

Turns out to be related to the way that the new version of the glibc library supports the clone3 system call and something in older versions of Electron don't like that.

Thank you. Yes same for me, run as admin and it all works fine. Bit of a pain though.

Hi, I have the same issue. How to actually run as "admin"? You mean the user shall be member of "adm" group? Since linux does not know an "admin" but rather root, but root is not permitted.

Ok, looking further, add this to the "desktop.sh" so it reads like

exec "${APP_DIR}/electron/code42" --no-sandbox & > "${HOME}/.code42/log/ui_output.log" 2> "${HOME}/.code42/log/ui_error.log"

1 Like

Thank you very much Bjoern for your kind help. I'll have a go

Ah ha, that enables it to run while we're waiting for the code42 app to be fixed properly via using an up to date version of Electron.

Thank you!

Interestingly, Crashplan / Code42 reckon that if they install the current 8.8.4 version in a fresh install of Ubuntu 22.04 it works for them.

I will have to try that, to see if it's a Ubuntu MATE vs Ubuntu thing or if having a fresh install vs an updated one that matters.. or if they're doing something else.

I haven't gotten around to that, but I did a reboot following the recent kernel updates and..

.. the Crashplan SMB desktop program didn't launch afterwards

.. that turned out to be because the --no-sandbox bit was missing from that desktop.sh

.. that turned out to be because it had upgraded itself (without asking) from the edited version 8.8.4 to version 10.0.0!?

.. that turned out to not work, despite being issued after the release of Ubuntu 22.04, unless that line is edited again: clearly they're still using an out of date version of the Electron framework.

I am not sure if the rest of it also upgraded itself, but I can't currently log in via the desktop program.

Found out the core issues behind the massage: "Unable to login. Unknown error." with CrashPlan 10.0.0 on Ubuntu 22.04 (Jammy). I investigated for a few hours and now have it working!

After examining the service log, it looks like the dev's at CrashPlan forgot to copy a required module for ubuntu 22.04 that provides the authentication. The "libuaw.so" file needs to be copied from the upgrade.cpi archive under the "ubuntu20" directory to the /usr/local/crashplan/nlib directory. Then apply the proper permissions and all is set.

If anyone needs help with the actual commands and such, just post.

Credits to Bjoern_Wuest for providing the sandbox fix!

1 Like

Awesome, thank you!

It looks like what the silly sausages have done is, after the release of the supposedly supported Ubuntu 22.04, have an install script that looks at the start of the OS's name and install this one critical file based on that.

So there's a directory for the file for RHEL 7.whatever, a directory for the file for RHEL 8.whatever, a directory for the file for Ubuntu 18.whatever, a directory for the file for Ubuntu 20.whatever, and.. oh.. there isn't one for Ubuntu 22.whatever!

The Ubuntu 18.04 and 20.04 libuaw.so files are very different in size, so it's not obvious that the 20.* one would work for 22.04, but it does.

Thank you again!

For anyone else, the CrashPlanSmb_10.0.0.cpi file is compressed by gzip. Copy it somewhere, then do

gzip -dc CrashPlanSmb_10.0.0.cpi | cpio -i --no-preserve-owner

The results will have the file you want in nlib/ubuntu20. Using sudo, copy that to /usr/local/crashplan/nlib, change its owner to root, set the permissions to 0744, and you will be able to login.

THANK YOU SO MUCH!

I contacted Code42's support 48 hours ago and got no answer until now. I applied the missing .so file and now everything is working again!

I am just missing my backup sets as I had to reinstall my OS. Where do I find them? There was no nag-screen asking me if I want to restore anything...

Edit:
I had to assign the GUID number from my backup set to the desktop app by double-clicking the Code42 logo and entering "guid <device_number>" (you can find it online in your account on the CP website under the devices tab) then I had to set up CP Central as backup destination and then everything came back.