Skip to content

crash: gdk_pixbuf_new_from_data: assertion 'bits_per_sample == 8' failed #1023

Description

@tastytea

Issue description

dunst crashes when I get a notification from nheko (a Matrix client), but only from a specific account. Notifications from other accounts work and this account worked before. The following is printed on the terminal:

CRITICAL: gdk_pixbuf_new_from_data: assertion 'bits_per_sample == 8' failed
WARNING: Cannot serialise raw icon data into pixbuf.
dunst: src/icon.c:101: gdk_pixbuf_to_cairo_surface: Assertion `pixbuf' failed.
[1]    25676 abort (core dumped)  dunst

nheko uses the avatar of the account as the notification icon, but notify-send -a "program" -i /path/to/the/avatar.png "summary" "body" does not trigger the crash. As far as I can see the avatar didn't change between working and not working notifications.

backtrace
[New LWP 25676]
[New LWP 25680]
[New LWP 25678]
[Thread debugging using libthread_db enabled]
Using host libthread_db library "/lib64/libthread_db.so.1".
Core was generated by `dunst'.
Program terminated with signal SIGABRT, Aborted.
#0  0x00007f2aa35aa63e in raise () from /lib64/libc.so.6
[Current thread is 1 (Thread 0x7f2aa3de90c0 (LWP 25676))]

Thread 3 (Thread 0x7f2aa2e29640 (LWP 25678)):
#0  0x00007f2aa365f69f in poll () at /lib64/libc.so.6
#1  0x00007f2aa37a439e in g_main_context_poll () at ../glib-2.68.4/glib/gmain.c:4434
#2  g_main_context_iterate () at ../glib-2.68.4/glib/gmain.c:4126
#3  0x00007f2aa37a44af in g_main_context_iteration () at ../glib-2.68.4/glib/gmain.c:4196
#4  0x00007f2aa37a44f1 in glib_worker_main () at ../glib-2.68.4/glib/gmain.c:6089
#5  0x00007f2aa37ccb5d in g_thread_proxy () at ../glib-2.68.4/glib/gthread.c:826
#6  0x00007f2aa3739d4e in start_thread () at /lib64/libpthread.so.0
#7  0x00007f2aa3669faf in clone () at /lib64/libc.so.6

Thread 2 (Thread 0x7f2aa1921640 (LWP 25680)):
#0  0x00007f2aa365f69f in poll () at /lib64/libc.so.6
#1  0x00007f2aa37a439e in g_main_context_poll () at ../glib-2.68.4/glib/gmain.c:4434
#2  g_main_context_iterate () at ../glib-2.68.4/glib/gmain.c:4126
#3  0x00007f2aa37a46b3 in g_main_loop_run () at ../glib-2.68.4/glib/gmain.c:4329
#4  0x00007f2aa39e6256 in gdbus_shared_thread_func () at ../glib-2.68.4/gio/gdbusprivate.c:280
#5  0x00007f2aa37ccb5d in g_thread_proxy () at ../glib-2.68.4/glib/gthread.c:826
#6  0x00007f2aa3739d4e in start_thread () at /lib64/libpthread.so.0
#7  0x00007f2aa3669faf in clone () at /lib64/libc.so.6

Thread 1 (Thread 0x7f2aa3de90c0 (LWP 25676)):
#0  0x00007f2aa35aa63e in raise () at /lib64/libc.so.6
#1  0x00007f2aa3594536 in abort () at /lib64/libc.so.6
#2  0x00007f2aa359441f in _nl_load_domain.cold () at /lib64/libc.so.6
#3  0x00007f2aa35a3192 in  () at /lib64/libc.so.6
#4  0x00005561cc225abe in gdk_pixbuf_to_cairo_surface () at src/icon.c:101
#5  0x00005561cc229002 in notification_icon_replace_data () at src/notification.c:362
#6  0x00005561cc2219fb in dbus_message_to_notification () at src/dbus.c:593
#7  dbus_cb_Notify () at src/dbus.c:648
#8  0x00007f2aa39d61f9 in call_in_idle_cb () at ../glib-2.68.4/gio/gdbusconnection.c:4913
#9  0x00007f2aa37a4073 in g_main_dispatch () at ../glib-2.68.4/glib/gmain.c:3337
#10 g_main_context_dispatch () at ../glib-2.68.4/glib/gmain.c:4055
#11 0x00007f2aa37a4400 in g_main_context_iterate () at ../glib-2.68.4/glib/gmain.c:4131
#12 0x00007f2aa37a46b3 in g_main_loop_run () at ../glib-2.68.4/glib/gmain.c:4329
#13 0x00005561cc2246b6 in dunst_main () at src/dunst.c:219
#14 0x00007f2aa35957ed in __libc_start_main () at /lib64/libc.so.6
#15 0x00005561cc22032a in _start ()

Installation info

  • Version: 1.7.3
  • Install type: Gentoo repo
  • Window manager / Desktop environment: i3
Minimal dunstrc

Unfortunately I couldn't reach the account to help me narrow this down, so I'm pasting the full config here for now.

[global]
    monitor = 1
    follow = none
    width = 400
    height = 200
    origin = top-right
    offset = 0x0
    scale = 0
    notification_limit = 10
    progress_bar = true
    progress_bar_height = 10
    progress_bar_frame_width = 1
    progress_bar_min_width = 150
    progress_bar_max_width = 400
    indicate_hidden = yes
    transparency = 10
    separator_height = 2
    padding = 8
    horizontal_padding = 8
    text_icon_padding = 0
    frame_width = 2
    frame_color = "#380038"
    separator_color = frame
    sort = yes
    font = Source Serif Pro 9
    line_height = 0
    markup = full
    format = "<big><b>%s</b></big> (%a)\n%b\n"
    alignment = left
    vertical_alignment = top
    show_age_threshold = 60
    ellipsize = middle
    ignore_newline = no
    stack_duplicates = true
    hide_duplicate_count = false
    show_indicators = yes
    icon_position = left
    min_icon_size = 0
    max_icon_size = 48
    icon_path = /usr/share/icons/AD-Plum-Suru/status/48/:/usr/share/icons/AD-Plum-Suru/devices/48/
    sticky_history = yes
    history_length = 20
    dmenu = rofi -dmenu -p dunst
    browser = /usr/bin/xdg-open
    always_run_script = true
    title = Dunst
    class = Dunst
    corner_radius = 4
    ignore_dbusclose = false
    force_xinerama = false
    mouse_left_click = open_url, close_current
    mouse_middle_click = do_action, close_current
    mouse_right_click = close_current

[experimental]
    per_monitor_dpi = false

[urgency_low]
    background  = "#200020"
    foreground  = "#aaaaaa"
    frame_color = "#180018"
    highlight   = "#ba45a3"
    timeout = 10

[urgency_normal]
    background  = "#500050"
    foreground  = "#dddddd"
    frame_color = "#480048"
    highlight   = "#ba45a3"
    timeout = 20

[urgency_critical]
    background  = "#b000b0"
    foreground  = "#ffffff"
    frame_color = "#a800a8"
    highlight   = "#200020"
    timeout = 0

[override_firefox]
    desktop_entry = "*Firefox*"
    timeout = 20

Metadata

Metadata

Assignees

No one assigned

    Labels

    Type

    No type

    Fields

    No fields configured for issues without a type.

    Projects

    No projects

    Milestone

    No milestone

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions