Trace/breakpoint trap (core dumped) after glib2 update

I just started using Cursor 0.46.11 on Arch Linux, and it seems that the recent glib2 update from 2.82.5-1 to 2.84.0-1 breaks Cursor, with the following error:

$ ./Cursor-0.46.11-ae378be9dc2f5f1a6a1a220c6e25f9f03c8d4e19.deb.glibc2.25-x86_64.AppImage 
Trace/breakpoint trap (core dumped)

Downgrading glib2 back to 2.82.5-1 fixes the problem. Here’s a link to the generated core file.

Reproduction steps:

  1. Run Cursor on a Linux system with the latest glib2 version
2 Likes

did not work for me to downgrade to 2.82.5-1

 /opt/cursor-bin                                                                              23:57:24
❯ ./cursor-bin.AppImage

(cursor:9592): Gtk-WARNING **: 23:57:27.701: Could not load a pixbuf from /org/gtk/libgtk/icons/16x16/status/window-minimize-symbolic.symbolic.png.
This may indicate that pixbuf loaders or the mime database could not be found.
**
Gtk:ERROR:../gtk/gtk/gtkiconhelper.c:495:ensure_surface_for_gicon: assertion failed (error == NULL): Failed to load /org/gtk/libgtk/icons/16x16/status/image-missing.png: Unrecognized image file format (gdk-pixbuf-error-quark, 3)
Bail out! Gtk:ERROR:../gtk/gtk/gtkiconhelper.c:495:ensure_surface_for_gicon: assertion failed (error == NULL): Failed to load /org/gtk/libgtk/icons/16x16/status/image-missing.png: Unrecognized image file format (gdk-pixbuf-error-quark, 3)
[1]    9592 IOT instruction (core dumped)  ./cursor-bin.AppImage

I’m a bit puzzled that why is Cursor being bundled as an .AppImage while there are still native dependencies to glib2 ABI version.

Meanwhile extracting the SquashFS from the .AppImage using binwalk --carve /opt/cursor-bin/cursor-bin.AppImage, extracting the squashfs with 7z x cursor-bin.AppImage_193728_squashfs.raw and then running cursor by <path to squashfs extraction folder/usr/share/cursor/cursor` works just fine.

So it’s just the packaging that makes Cursor unable to run. Why cannot I download Cursor in this already extracted normal format that just works but instead I have to deal with specific glibc2 version dependencies.

found the solution. it’s unrelated to glib2. just set XDG_DATA_DIRS=/usr/share:/usr/local/share before running cursor. See this aur comment.

1 Like

Thanks for the solution! It works for me.

I wonder what’s the exact cause of the issue? And if it’s unrelated to glib2, then why does downgrading it solves the problem for me (even though in your case it didn’t). :thinking:

Anyway, I think it should be addressed upstream somehow, since it doesn’t seem to be normal for the official AppImage to require workarounds like this.

1 Like

Thanks, in the desktop entry for Cursor installed using cursor-bin AUR on Arch Linux, I added those environment variables in the environment variables for the cursor desktop entry and it launched after that.

1 Like