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.

The support guys from Coders are... read yourself and judge their knowledge of their own product.

Hello,

Thanks for reaching out to CrashPlan for Small Business Support.

Ubuntu 22.04 is not yet a supported OS for the Code42 app. The current version of Electron is not compatible and therefore the app cannot run on Ubuntu properly. The current plan is that the next version of Code42, 10.1, will have this rectified and Ubuntu 22.04 will also be fully supported with the Code42 app. In the meantime, reverting to a supported version of Ubuntu should allow the app to function properly again.

Let me know if you have any further questions.

Best regards,

Leo A.
CrashPlan for Small Business
Code42 Support*

I specifically created an account to say "thank you" for providing this solution. Worked flawlessly. Code42's documentation and online support is horrendous.

1 Like

For some reason, after the latest kernel update and subsequent reboot, I had to restart the code42 service manually before the Crashplan desktop app could connect to it.

The faulty 10.0.0 is still the latest version shown, and I'm still irritated that there's no notification when they do a new version...

They've released 10.2.0 which specifically says it works with Ubuntu 22.04.

I am still annoyed that I had to find this out via checking on their website. For some reason, they will update the code42 desktop 'app' without telling me, never mind asking if that's ok, but not the underlying service software.

Let's see if it actually works...

Mostly for myself - a combination of frustrations mean that I have switched from Ubuntu MATE to Linux Mint MATE edition (basically Ubuntu MATE 22.04 done better in various ways).

I was not terribly surprised when the code42 installer didn't know what OS it was being installed on and so didn't put the crucial file where it should be. Doing it manually works and I must remember to edit the code42 script when the next version is necessary...