Bug#909015: abiword: Crashes on startup with GLib-ERROR

Alban Browaeys alban.browaeys at gmail.com
Tue Dec 6 05:28:39 GMT 2022


> this crash seems to be caused by a broken opengl configuration.
> It could still be seen with buster when e.g. someone has the
> nvidia-driver-libs-nonglvnd installed without the kernel module
loaded.
> 
> Unfortunately there is no output at stdout that would point
> the user to that direction. Instead the application just crashes.
> 
> With attached patch the cogl initialization would at least just fail
and
> clutter could write an error message to stdout.
>   Unable to initialize Clutter: Unable to initialize the Clutter
backend: no available drivers found.
> 
> Kind regards,
> Bernhard

Thanks for your work !

Note, your patch should limit itself to initialize num_extensions to
zero. Seems it was enough to fix the issue on your setup.

The other parts of the patch touches the gles not the gl code so it
does not run on your test setup. (ie gles is not run if nvidia GLX is
involved only gl. The gdb output you pasted to the bug report shows it:
#6  0xb5e46426 in _cogl_driver_update_features (ctx=0x988688, error=0xbfeecfa8) at driver/gl/gl/cogl-driver-gl.c:380
).

Maybe a patch local to debian would do per upstream is archived
https://discourse.gnome.org/t/retiring-clutter-and-friends/8949 "
Clutter, Cogl, Clutter-GTK, and Clutter-GStreamer will be moved to the
Archive group in GitLab 3 once GNOME 42 is released in March. You won’t
be able to file new issues, or open new merge requests. No new releases
will be made.
ebassi Emmanuele Bassi GNOME Team Feb 16 2022
"

If your are at ease with gitlab you could submit a Merge Request
to https://salsa.debian.org/gnome-team/cogl/-/tree/debian/master as a
patch file under debian/patches.


Best bet for abiword is to move out of clutter and clutter-gtk to fix
this issue (as the abiword stack trace the crashes happens in the call
gtk_clutter_init
#17 0xb60f65f2 in gtk_clutter_init (argc=0xbfeed254, argv=0xbfeed17c) at ./gtk-clutter-util.c:233
libabiword-3.0 3.0.5~dfsg-3.2 in bookworm does not depend on libclutter (thus libcogl20) anymore.
bullseye libabiword-3.0 3.0.4~dfsg-3 still does thought.

The clutter-gtk library was included in abiword as it is a dependency of libchamplain-gtk (which abiword
be linked against optionaly).
The abiword debian package stopped requiring libchamplain-gtk-0.12-dev in abiword 3.0.5~dfsg-2 per 
https://salsa.debian.org/debian/abiword/-/blob/debian/3.0.5_dfsg-2/debian/control
thus the binary does not link to libchamplain-gtk anymore since libabiword-3.0 3.0.5~dfsg-2.

Note that if one rebuild the package and has libchamplain-gtk-0.12-dev the clutter gtk dependency will
come back per champlain-gtk is not explicitly disabled in the abiword debian/rules.


https://salsa.debian.org/debian/abiword/-/blob/debian/latest/src/wp/ap/gtk/ap_UnixApp.cpp#L1300
#ifdef WITH_CHAMPLAIN
	ClutterInitError err = gtk_clutter_init (&argc, &argv);
	if (err != CLUTTER_INIT_SUCCESS) {
		g_warning("clutter failed %d, get a life.", err);
	}
#endif


There is no logged output from abiword about the crash because to get clutter/cogl debug output
one has to set an environment variables https://wiki.gnome.org/Projects/Clutter/Profiling
Setting COGL_DEBUG=all will output a lot of debug output (sadly Debian libclutter-1.0 is built with debug at
 minimum so CLUTTER_DEBUG=all does not give clutter debug messages).

Best Regards,
Alban



More information about the pkg-gnome-maintainers mailing list