void-linux / void-packages

The Void source packages collection
https://voidlinux.org
Other
2.6k stars 2.16k forks source link

Emacs (29.4) PGTK crashes on startup #53098

Closed grtcdr closed 2 weeks ago

grtcdr commented 2 weeks ago

Is this a new report?

Yes

System Info

Void 6.6.61_1 x86_64-musl GenuineIntel uptodate rrFFFF

Package(s) Affected

emacs-pgtk-29.4_2

Does a report exist for this bug with the project's home (upstream) and/or another distro?

https://lists.gnu.org/archive/html/bug-gnu-emacs/2024-11/msg00817.html

Expected behaviour

emacs should launch without the referenced warning and render properly without causing a segfault.

Actual behaviour

When starting emacs or emacs -Q under a Wayland compositor, specifically Sway, Emacs displays the following warning message:

(emacs:8670): GdkPixbuf-WARNING **: 13:38:44.606: Error loading XPM image loader: Image type “xpm” is not supported

And then proceeds to segfault (see backtrace emacs.gdb.txt for more information, but the culprit function should be a cairo_surface_create_similar_image() call, as mentioned in the upstream report) as shown by this message:

Fatal error 11: Segmentation fault
zsh: segmentation fault  emacs

I spoke with the core maintainer and they asked that I verify that the XPM library is installed at the distribution-level. I have it installed:

~ $ xbps-query -Rs xpm
[*] libXpm-3.5.17_1       X PixMap Library from modular Xorg X11

What makes that warning out of place is that invoking the following code to check if the xpm image loader is supported actually returns t; thankfully the batch processor which doesn't require opening a client window and rendering a surface works (and so does emacs -nw of course).

$ emacs -Q -batch --eval "(message \"%s\" (image-type-available-p 'xpm))"
=> t

Eli, the core maintainer, suggested that this problem may be due to a GTK issue. What do you think?

Steps to reproduce

  1. Install emacs-pgtk
  2. Run emacs or emacs -Q
grtcdr commented 2 weeks ago

Issue seems to have resolved itself (cause and solution unknown).