Vscodium will not start on 22.04

Hi Folks -

Something maddening is happening and I need help troubleshooting please… just did the following:

snap install vscodium --classic

All seemed to install fine.

But it won’t start, no matter what I do. I’ve waited too. Tried many times.

echo $?

0

So it thinks it starts form the cli.

I tried removing and install it again. Same result, nothing.

sudo journalctl --since=yesterday | grep audit

Shows:

… Feb 24 16:00:17 prax kernel: audit: type=1400 audit(1677272417.917:453): apparmor=“STATUS” operation=“profile_replace” info=“same as current profile, skipping” profile=“unconfined” name=“snap.codium.codium” pid=338384 comm=“apparmor_parser” …

But no DENIED.

/snap/codium/297 is mounted:

lsblk |grep codium

loop5                  7:5    0 174.6M  1 loop /snap/codium/297

Nothing appears in /var/log/* that I can find related.

Other snaps appear to start.

What am I missing/doing wrong? What can I do to troubleshoot further?

Shouldn’t be this much effort to run a snap…

Bob

this is a classic snap, it does not use confinement (or rather very very reduced confinement) … you wont find any denials or audit messages from it …

IIRC codium has a --verbose option that should print all output during startup to the terminal … perhaps that gives you some hints where it fails (i just installed it (on a 22.04 system), it works fine over here)

1 Like

It also doesn’t start on my install.

The --verbose option doesn’t print anything more than the normal run.

 /snap/codium/297/usr/lib/x86_64-linux-gnu/gdk-pixbuf-2.0/gdk-pixbuf-query-loaders: /snap/core18/current/lib/x86_64-linux-gnu/libc.so.6: version `GLIBC_2.34' not found (required by /lib/x86_64-linux-gnu/libgtk3-nocsd.so.0)
/snap/codium/297/usr/share/codium/bin/../codium: /snap/core18/current/lib/x86_64-linux-gnu/libc.so.6: version `GLIBC_2.34' not found (required by /lib/x86_64-linux-gnu/libgtk3-nocsd.so.0)

I’m using snapd from the edge channel.

snap version 
snap    2.58.3+git520.gb0848d7
snapd   2.58.3+git520.gb0848d7
series  16
ubuntu  22.04
kernel  5.15.0-67-generic

I’ve given up and just installed the *.deb file.

did you capture the output of the --verbose run so you could report it to the devs with some useful info ?

I investigated the problem on my install and it looks like the error that I posted before is causing VSCodium to not start.

I’m using Unity as my desktop environment. It is setup to use the gtk3-nocsd. The core18 snap has too old libc to satisfy gtk3-nocsd.

VSCodium starts under GNOME (X.org and Wayland).

Also I discovered one more snap that won’t start under Unity (or other DE using gtk3-nocsd) it is Cool Retro Term. It does work under GNOME.

aha ! that has been discussed with the unity maintainers before, but it looks like they did still not work out a fix …

Sorry to revive this thread without coming up with a solution, but at least I’ve got a workaround!

The problem stems from having LD_PRELOAD point to gtk3-nocsd in your environment when starting codium (probably, because you installed the gtk3-nocsd package). Because the corresponding .so is not part of the snap, it loads it from you current OS, which is more recent than the libraries the snap was built against; hence the GLIBC_2.34 reference.

A workaround for codium is to create a simple shell wrapper, called start_codium.sh for example:

#!/bin/sh
LD_PRELOAD= /snap/bin/codium "$@"

This will fully work around the issue for codium, because gtk3-nocsd doesn’t work with Electron in the first place, so nothing is lost.

A more complete solution for the problem might be to include the libgtk3-nocsd0 into the snap that holds the GTK libraries (not the gtk3-nocsd package which enables the hack!) This would mean that the correct version would be available in the snap when a user requests it through installing the gtk3-nocsd package on the snap host.

1 Like