Xournalpp: Missing Icons in GTK Theme Crashes Xournal++

Created on 8 Dec 2020  Â·  2Comments  Â·  Source: xournalpp/xournalpp

Affects versions :

  • OS: Linux -- KDE Neon 20.04
  • KDE Plasma (X11)
  • libgtk version 3.24.20
  • Version of Xournal++: 1.1.0-dev
  • Installation method: Built from bbeab82eb3734ded791998168bb3ab4d2770f77b (should also affect 5cf01b77745e47b2562d32abccf099f68501c8ae).

Describe the bug
The image-missing icon appears to not be present in the Breeze GTK theme. This causes Xournal++ to crash when it attempts to display this icon.

To Reproduce
Steps to reproduce the behavior:

  1. Set the (GTK) system theme and icon theme to Breeze Dark
  2. Open Xournal++
  3. Click File > Export as PDF
  4. Select a location to save the file & click save (it sometimes crashes while doing this, not always).
  5. Click View > Toolbars > Customize

Expected behavior
Xournal++ should not crash when unable to load an icon from the system icon theme.

Screenshots of Problem
image

Additional context
Output

$ xournalpp
ALSA lib pcm_dsnoop.c:641:(snd_pcm_dsnoop_open) unable to open slave
ALSA lib pcm_dmix.c:1089:(snd_pcm_dmix_open) unable to open slave
ALSA lib pcm.c:2642:(snd_pcm_open_noupdate) Unknown PCM cards.pcm.rear
ALSA lib pcm.c:2642:(snd_pcm_open_noupdate) Unknown PCM cards.pcm.center_lfe
ALSA lib pcm.c:2642:(snd_pcm_open_noupdate) Unknown PCM cards.pcm.side
ALSA lib pcm_oss.c:377:(_snd_pcm_oss_open) Unknown field port
ALSA lib pcm_oss.c:377:(_snd_pcm_oss_open) Unknown field port
ALSA lib pcm_usb_stream.c:486:(_snd_pcm_usb_stream_open) Invalid type for card
ALSA lib pcm_usb_stream.c:486:(_snd_pcm_usb_stream_open) Invalid type for card
ALSA lib pcm_dmix.c:1089:(snd_pcm_dmix_open) unable to open slave

** (com.github.xournalpp.xournalpp:14653): WARNING **: 23:51:58.240: Cannot update zoomPresentationValue yet. This should only happen on startup! 
**
Gtk:ERROR:../../../../gtk/gtkiconhelper.c:494:ensure_surface_for_gicon: assertion failed (error == NULL): Icon 'image-missing' not present in theme breeze-dark (gtk-icon-theme-error-quark, 0)
Bail out! Gtk:ERROR:../../../../gtk/gtkiconhelper.c:494:ensure_surface_for_gicon: assertion failed (error == NULL): Icon 'image-missing' not present in theme breeze-dark (gtk-icon-theme-error-quark, 0)

** (com.github.xournalpp.xournalpp:14653): WARNING **: 23:52:04.467: [Crash Handler] Crashed with signal 6

** (com.github.xournalpp.xournalpp:14653): WARNING **: 23:52:04.467: [Crash Handler] Wrote crash log to: /home/hematite/.cache/com.github.xournalpp.xournalpp/errorlogs/errorlog.20201207-235204.log

** (com.github.xournalpp.xournalpp:14653): WARNING **: 23:52:04.688: Trying to emergency save the current open document…

** (com.github.xournalpp.xournalpp:14653): WARNING **: 23:52:04.688: Successfully saved document to "/home/hematite/.config/com.github.xournalpp.xournalpp/emergencysave.xopp"

$ cat /home/hematite/.cache/com.github.xournalpp.xournalpp/errorlogs/errorlog.20201207-235204.log
Date: Mon Dec  7 23:52:04 2020
Error: signal 6
[bt]: (0) xournalpp() [0x760b3e]
[bt]: (1) /lib/x86_64-linux-gnu/libc.so.6(+0x46210) [0x7f835b057210]
[bt]: (2) /lib/x86_64-linux-gnu/libc.so.6(gsignal+0xcb) [0x7f835b05718b]
[bt]: (3) /lib/x86_64-linux-gnu/libc.so.6(abort+0x12b) [0x7f835b036859]
[bt]: (4) /lib/x86_64-linux-gnu/libglib-2.0.so.0(+0x1db63) [0x7f835c784b63]
[bt]: (5) /lib/x86_64-linux-gnu/libglib-2.0.so.0(g_assertion_message_error+0xb6) [0x7f835c7e2316]
[bt]: (6) /lib/x86_64-linux-gnu/libgtk-3.so.0(+0x213d8a) [0x7f835c1c9d8a]
[bt]: (7) /lib/x86_64-linux-gnu/libgtk-3.so.0(+0x214438) [0x7f835c1ca438]
[bt]: (8) /lib/x86_64-linux-gnu/libgtk-3.so.0(+0x214554) [0x7f835c1ca554]
[bt]: (9) /lib/x86_64-linux-gnu/libgtk-3.so.0(+0x2146a0) [0x7f835c1ca6a0]
[bt]: (10) /lib/x86_64-linux-gnu/libgtk-3.so.0(+0x228351) [0x7f835c1de351]
[bt]: (11) /lib/x86_64-linux-gnu/libgtk-3.so.0(+0x182587) [0x7f835c138587]
[bt]: (12) /lib/x86_64-linux-gnu/libgtk-3.so.0(+0x1868be) [0x7f835c13c8be]
[bt]: (13) /lib/x86_64-linux-gnu/libgtk-3.so.0(+0x228b47) [0x7f835c1deb47]
[bt]: (14) /lib/x86_64-linux-gnu/libgtk-3.so.0(+0x2e96a1) [0x7f835c29f6a1]
[bt]: (15) /lib/x86_64-linux-gnu/libgtk-3.so.0(+0x2e9f46) [0x7f835c29ff46]
[bt]: (16) /lib/x86_64-linux-gnu/libgtk-3.so.0(gtk_widget_get_preferred_width+0x86) [0x7f835c2a0036]
[bt]: (17) /lib/x86_64-linux-gnu/libgtk-3.so.0(+0x12fd8f) [0x7f835c0e5d8f]
[bt]: (18) /lib/x86_64-linux-gnu/libgtk-3.so.0(+0x182587) [0x7f835c138587]
[bt]: (19) /lib/x86_64-linux-gnu/libgtk-3.so.0(+0x1868be) [0x7f835c13c8be]
[bt]: (20) /lib/x86_64-linux-gnu/libgtk-3.so.0(+0x130857) [0x7f835c0e6857]
[bt]: (21) /lib/x86_64-linux-gnu/libgtk-3.so.0(+0x2e96a1) [0x7f835c29f6a1]
[bt]: (22) /lib/x86_64-linux-gnu/libgtk-3.so.0(+0x2e9f46) [0x7f835c29ff46]
[bt]: (23) /lib/x86_64-linux-gnu/libgtk-3.so.0(gtk_widget_get_preferred_width+0x86) [0x7f835c2a0036]
[bt]: (24) /lib/x86_64-linux-gnu/libgtk-3.so.0(+0x2ea6ae) [0x7f835c2a06ae]
[bt]: (25) /lib/x86_64-linux-gnu/libgtk-3.so.0(+0x182587) [0x7f835c138587]
[bt]: (26) /lib/x86_64-linux-gnu/libgtk-3.so.0(+0x1868be) [0x7f835c13c8be]
[bt]: (27) /lib/x86_64-linux-gnu/libgtk-3.so.0(+0x13d7e7) [0x7f835c0f37e7]
[bt]: (28) /lib/x86_64-linux-gnu/libgtk-3.so.0(+0x2e96a1) [0x7f835c29f6a1]
[bt]: (29) /lib/x86_64-linux-gnu/libgtk-3.so.0(+0x2e9f46) [0x7f835c29ff46]
[bt]: (30) /lib/x86_64-linux-gnu/libgtk-3.so.0(gtk_widget_get_preferred_width+0x86) [0x7f835c2a0036]
[bt]: (31) /lib/x86_64-linux-gnu/libgtk-3.so.0(+0x38a496) [0x7f835c340496]
[bt]: (32) /lib/x86_64-linux-gnu/libgtk-3.so.0(+0x37b89c) [0x7f835c33189c]
[bt]: (33) /lib/x86_64-linux-gnu/libgtk-3.so.0(+0x2e96a1) [0x7f835c29f6a1]
[bt]: (34) /lib/x86_64-linux-gnu/libgtk-3.so.0(+0x2e9f46) [0x7f835c29ff46]
[bt]: (35) /lib/x86_64-linux-gnu/libgtk-3.so.0(gtk_widget_get_preferred_width+0x86) [0x7f835c2a0036]
[bt]: (36) /lib/x86_64-linux-gnu/libgtk-3.so.0(+0x2d36ba) [0x7f835c2896ba]
[bt]: (37) /lib/x86_64-linux-gnu/libgtk-3.so.0(+0x182587) [0x7f835c138587]
[bt]: (38) /lib/x86_64-linux-gnu/libgtk-3.so.0(+0x1868be) [0x7f835c13c8be]
[bt]: (39) /lib/x86_64-linux-gnu/libgtk-3.so.0(+0x2cf887) [0x7f835c285887]
[bt]: (40) /lib/x86_64-linux-gnu/libgtk-3.so.0(+0x2e96a1) [0x7f835c29f6a1]
[bt]: (41) /lib/x86_64-linux-gnu/libgtk-3.so.0(+0x2e9f46) [0x7f835c29ff46]
[bt]: (42) /lib/x86_64-linux-gnu/libgtk-3.so.0(gtk_widget_get_preferred_width+0x86) [0x7f835c2a0036]
[bt]: (43) /lib/x86_64-linux-gnu/libgtk-3.so.0(+0x12fd8f) [0x7f835c0e5d8f]
[bt]: (44) /lib/x86_64-linux-gnu/libgtk-3.so.0(+0x182587) [0x7f835c138587]
[bt]: (45) /lib/x86_64-linux-gnu/libgtk-3.so.0(+0x1868be) [0x7f835c13c8be]
[bt]: (46) /lib/x86_64-linux-gnu/libgtk-3.so.0(+0x130857) [0x7f835c0e6857]
[bt]: (47) /lib/x86_64-linux-gnu/libgtk-3.so.0(+0x2e96a1) [0x7f835c29f6a1]
[bt]: (48) /lib/x86_64-linux-gnu/libgtk-3.so.0(+0x2e9f46) [0x7f835c29ff46]
[bt]: (49) /lib/x86_64-linux-gnu/libgtk-3.so.0(gtk_widget_get_preferred_width+0x86) [0x7f835c2a0036]
[bt]: (50) /lib/x86_64-linux-gnu/libgtk-3.so.0(+0x2f077a) [0x7f835c2a677a]
[bt]: (51) /lib/x86_64-linux-gnu/libgtk-3.so.0(+0x182587) [0x7f835c138587]
[bt]: (52) /lib/x86_64-linux-gnu/libgtk-3.so.0(+0x1868be) [0x7f835c13c8be]
[bt]: (53) /lib/x86_64-linux-gnu/libgtk-3.so.0(+0x2f148b) [0x7f835c2a748b]
[bt]: (54) /lib/x86_64-linux-gnu/libgtk-3.so.0(+0x2e96a1) [0x7f835c29f6a1]
[bt]: (55) /lib/x86_64-linux-gnu/libgtk-3.so.0(+0x2e9f46) [0x7f835c29ff46]
[bt]: (56) /lib/x86_64-linux-gnu/libgtk-3.so.0(gtk_widget_get_preferred_width+0x86) [0x7f835c2a0036]
[bt]: (57) /lib/x86_64-linux-gnu/libgtk-3.so.0(+0x12fd8f) [0x7f835c0e5d8f]
[bt]: (58) /lib/x86_64-linux-gnu/libgtk-3.so.0(+0x182587) [0x7f835c138587]
[bt]: (59) /lib/x86_64-linux-gnu/libgtk-3.so.0(+0x1868be) [0x7f835c13c8be]
[bt]: (60) /lib/x86_64-linux-gnu/libgtk-3.so.0(+0x130857) [0x7f835c0e6857]
[bt]: (61) /lib/x86_64-linux-gnu/libgtk-3.so.0(+0x2e96a1) [0x7f835c29f6a1]
[bt]: (62) /lib/x86_64-linux-gnu/libgtk-3.so.0(+0x2e9f46) [0x7f835c29ff46]
[bt]: (63) /lib/x86_64-linux-gnu/libgtk-3.so.0(gtk_widget_get_preferred_width+0x86) [0x7f835c2a0036]
[bt]: (64) /lib/x86_64-linux-gnu/libgtk-3.so.0(+0x12fd8f) [0x7f835c0e5d8f]
[bt]: (65) /lib/x86_64-linux-gnu/libgtk-3.so.0(+0x182587) [0x7f835c138587]
[bt]: (66) /lib/x86_64-linux-gnu/libgtk-3.so.0(+0x1868be) [0x7f835c13c8be]
[bt]: (67) /lib/x86_64-linux-gnu/libgtk-3.so.0(+0x130857) [0x7f835c0e6857]
[bt]: (68) /lib/x86_64-linux-gnu/libgtk-3.so.0(+0x2e96a1) [0x7f835c29f6a1]
[bt]: (69) /lib/x86_64-linux-gnu/libgtk-3.so.0(+0x2e9f46) [0x7f835c29ff46]
[bt]: (70) /lib/x86_64-linux-gnu/libgtk-3.so.0(gtk_widget_get_preferred_width+0x86) [0x7f835c2a0036]
[bt]: (71) /lib/x86_64-linux-gnu/libgtk-3.so.0(+0x2ea6ae) [0x7f835c2a06ae]
[bt]: (72) /lib/x86_64-linux-gnu/libgtk-3.so.0(+0x281fa2) [0x7f835c237fa2]
[bt]: (73) /lib/x86_64-linux-gnu/libgtk-3.so.0(+0x182587) [0x7f835c138587]
[bt]: (74) /lib/x86_64-linux-gnu/libgtk-3.so.0(+0x1868be) [0x7f835c13c8be]
[bt]: (75) /lib/x86_64-linux-gnu/libgtk-3.so.0(+0x2813f7) [0x7f835c2373f7]
[bt]: (76) /lib/x86_64-linux-gnu/libgtk-3.so.0(+0x2e96a1) [0x7f835c29f6a1]
[bt]: (77) /lib/x86_64-linux-gnu/libgtk-3.so.0(+0x2e9f46) [0x7f835c29ff46]
[bt]: (78) /lib/x86_64-linux-gnu/libgtk-3.so.0(gtk_widget_get_preferred_width+0x86) [0x7f835c2a0036]
[bt]: (79) /lib/x86_64-linux-gnu/libgtk-3.so.0(+0x12fd8f) [0x7f835c0e5d8f]
[bt]: (80) /lib/x86_64-linux-gnu/libgtk-3.so.0(+0x182587) [0x7f835c138587]
[bt]: (81) /lib/x86_64-linux-gnu/libgtk-3.so.0(+0x1868be) [0x7f835c13c8be]
[bt]: (82) /lib/x86_64-linux-gnu/libgtk-3.so.0(+0x130857) [0x7f835c0e6857]
[bt]: (83) /lib/x86_64-linux-gnu/libgtk-3.so.0(+0x2e96a1) [0x7f835c29f6a1]
[bt]: (84) /lib/x86_64-linux-gnu/libgtk-3.so.0(+0x2e9f46) [0x7f835c29ff46]
[bt]: (85) /lib/x86_64-linux-gnu/libgtk-3.so.0(gtk_widget_get_preferred_width+0x86) [0x7f835c2a0036]
[bt]: (86) /lib/x86_64-linux-gnu/libgtk-3.so.0(+0x12fd8f) [0x7f835c0e5d8f]
[bt]: (87) /lib/x86_64-linux-gnu/libgtk-3.so.0(+0x182587) [0x7f835c138587]
[bt]: (88) /lib/x86_64-linux-gnu/libgtk-3.so.0(+0x1868be) [0x7f835c13c8be]
[bt]: (89) /lib/x86_64-linux-gnu/libgtk-3.so.0(+0x130857) [0x7f835c0e6857]
[bt]: (90) /lib/x86_64-linux-gnu/libgtk-3.so.0(+0x2e96a1) [0x7f835c29f6a1]
[bt]: (91) /lib/x86_64-linux-gnu/libgtk-3.so.0(+0x2e9f46) [0x7f835c29ff46]
[bt]: (92) /lib/x86_64-linux-gnu/libgtk-3.so.0(gtk_widget_get_preferred_width+0x86) [0x7f835c2a0036]
[bt]: (93) /lib/x86_64-linux-gnu/libgtk-3.so.0(+0x12fd8f) [0x7f835c0e5d8f]
[bt]: (94) /lib/x86_64-linux-gnu/libgtk-3.so.0(+0x182587) [0x7f835c138587]
[bt]: (95) /lib/x86_64-linux-gnu/libgtk-3.so.0(+0x1868be) [0x7f835c13c8be]
[bt]: (96) /lib/x86_64-linux-gnu/libgtk-3.so.0(+0x130857) [0x7f835c0e6857]
[bt]: (97) /lib/x86_64-linux-gnu/libgtk-3.so.0(+0x2e96a1) [0x7f835c29f6a1]
[bt]: (98) /lib/x86_64-linux-gnu/libgtk-3.so.0(+0x2e9f46) [0x7f835c29ff46]
[bt]: (99) /lib/x86_64-linux-gnu/libgtk-3.so.0(gtk_widget_get_preferred_width+0x86) [0x7f835c2a0036]


Try to get a better stracktrace...
[bt] #1 xournalpp() [0x76136a]
/home/hematite/Documents/Build/xournalpp_rebase/src/util/CrashHandlerUnix.h:98
[bt] #2 /lib/x86_64-linux-gnu/libc.so.6(+0x46210) [0x7f835b057210]
??:0
[bt] #3 /lib/x86_64-linux-gnu/libc.so.6(gsignal+0xcb) [0x7f835b05718b]
??:0
[bt] #4 /lib/x86_64-linux-gnu/libc.so.6(abort+0x12b) [0x7f835b036859]
??:0
[bt] #5 /lib/x86_64-linux-gnu/libglib-2.0.so.0(+0x1db63) [0x7f835c784b63]
??:0
[bt] #6 /lib/x86_64-linux-gnu/libglib-2.0.so.0(g_assertion_message_error+0xb6) [0x7f835c7e2316]
??:0
[bt] #7 /lib/x86_64-linux-gnu/libgtk-3.so.0(+0x213d8a) [0x7f835c1c9d8a]
??:0
[bt] #8 /lib/x86_64-linux-gnu/libgtk-3.so.0(+0x214438) [0x7f835c1ca438]
??:0
[bt] #9 /lib/x86_64-linux-gnu/libgtk-3.so.0(+0x214554) [0x7f835c1ca554]
??:0
[bt] #10 /lib/x86_64-linux-gnu/libgtk-3.so.0(+0x2146a0) [0x7f835c1ca6a0]
??:0
[bt] #11 /lib/x86_64-linux-gnu/libgtk-3.so.0(+0x228351) [0x7f835c1de351]
??:0
[bt] #12 /lib/x86_64-linux-gnu/libgtk-3.so.0(+0x182587) [0x7f835c138587]
??:0
[bt] #13 /lib/x86_64-linux-gnu/libgtk-3.so.0(+0x1868be) [0x7f835c13c8be]
??:0
[bt] #14 /lib/x86_64-linux-gnu/libgtk-3.so.0(+0x228b47) [0x7f835c1deb47]
??:0
[bt] #15 /lib/x86_64-linux-gnu/libgtk-3.so.0(+0x2e96a1) [0x7f835c29f6a1]
??:0
[bt] #16 /lib/x86_64-linux-gnu/libgtk-3.so.0(+0x2e9f46) [0x7f835c29ff46]
??:0
[bt] #17 /lib/x86_64-linux-gnu/libgtk-3.so.0(gtk_widget_get_preferred_width+0x86) [0x7f835c2a0036]
??:0
[bt] #18 /lib/x86_64-linux-gnu/libgtk-3.so.0(+0x12fd8f) [0x7f835c0e5d8f]
??:0
[bt] #19 /lib/x86_64-linux-gnu/libgtk-3.so.0(+0x182587) [0x7f835c138587]
??:0
[bt] #20 /lib/x86_64-linux-gnu/libgtk-3.so.0(+0x1868be) [0x7f835c13c8be]
??:0
[bt] #21 /lib/x86_64-linux-gnu/libgtk-3.so.0(+0x130857) [0x7f835c0e6857]
??:0
[bt] #22 /lib/x86_64-linux-gnu/libgtk-3.so.0(+0x2e96a1) [0x7f835c29f6a1]
??:0
[bt] #23 /lib/x86_64-linux-gnu/libgtk-3.so.0(+0x2e9f46) [0x7f835c29ff46]
??:0
[bt] #24 /lib/x86_64-linux-gnu/libgtk-3.so.0(gtk_widget_get_preferred_width+0x86) [0x7f835c2a0036]
??:0
[bt] #25 /lib/x86_64-linux-gnu/libgtk-3.so.0(+0x2ea6ae) [0x7f835c2a06ae]
??:0
[bt] #26 /lib/x86_64-linux-gnu/libgtk-3.so.0(+0x182587) [0x7f835c138587]
??:0
[bt] #27 /lib/x86_64-linux-gnu/libgtk-3.so.0(+0x1868be) [0x7f835c13c8be]
??:0
[bt] #28 /lib/x86_64-linux-gnu/libgtk-3.so.0(+0x13d7e7) [0x7f835c0f37e7]
??:0
[bt] #29 /lib/x86_64-linux-gnu/libgtk-3.so.0(+0x2e96a1) [0x7f835c29f6a1]
??:0
[bt] #30 /lib/x86_64-linux-gnu/libgtk-3.so.0(+0x2e9f46) [0x7f835c29ff46]
??:0
[bt] #31 /lib/x86_64-linux-gnu/libgtk-3.so.0(gtk_widget_get_preferred_width+0x86) [0x7f835c2a0036]
??:0

$
Crash Dependency Issue bug

Most helpful comment

This is a bug with the way Breeze is packaged in your distro, nothing we can do about this. GTK assumes that image-missing is always available. See https://gitlab.gnome.org/GNOME/gimp/-/issues/2029#note_399461

All 2 comments

This is a bug with the way Breeze is packaged in your distro, nothing we can do about this. GTK assumes that image-missing is always available. See https://gitlab.gnome.org/GNOME/gimp/-/issues/2029#note_399461

It looks like this bug has already been submitted to KDE: https://bugs.kde.org/show_bug.cgi?id=428388 and is a duplicate of #999

Was this page helpful?
0 / 5 - 0 ratings

Related issues

LittleHuba picture LittleHuba  Â·  5Comments

Encefaloniel picture Encefaloniel  Â·  4Comments

VickySteeves picture VickySteeves  Â·  3Comments

Mitmischer picture Mitmischer  Â·  3Comments

greghab picture greghab  Â·  5Comments