Skip to content

panel crashes when opening soffice within wayland/labwc

openbsd -current, panel 4.20.3, libxfce4windowing 4.20.2

on labwc 0.8.3, starting soffice with a .doc in a term reliably crashes the panel here:


Thread 1 received signal SIGSEGV, Segmentation fault.
0x000008acaaf7ddaf in xfw_application_get_name () from /usr/local/lib/libxfce4windowing-0.so.0.0
(gdb) bt
#0  0x000008acaaf7ddaf in xfw_application_get_name () from /usr/local/lib/libxfce4windowing-0.so.0.0
#1  0x000008ac22bd2416 in xfce_tasklist_app_get_name (app=0x8acf5ccb360) at tasklist-widget.c:105
#2  xfce_tasklist_button_compare (child_a=0x8acd0d92150, child_b=0x8acd0d92460, user_data=0x8acf13c5910) at tasklist-widget.c:2655
#3  0x000008acdb15b10e in g_list_sort_merge (l1=0x8ac2e5524e0, l2=0x8ac2e56c000, compare_func=0x8ac22bd2240 <xfce_tasklist_button_compare>, user_data=0x8acf13c5910)
    at ../glib-2.82.5/glib/glist.c:1137
#4  g_list_sort_real (list=<optimized out>, compare_func=0x8ac22bd2240 <xfce_tasklist_button_compare>, user_data=0x8acf13c5910) at ../glib-2.82.5/glib/glist.c:1183
#5  0x000008acdb15b0e2 in g_list_sort_real (list=<optimized out>, compare_func=0x8ac22bd2240 <xfce_tasklist_button_compare>, user_data=0x8acf13c5910)
    at ../glib-2.82.5/glib/glist.c:1184
#6  0x000008ac22bcef6c in xfce_tasklist_sort (tasklist=0x8acf13c5910, sort_groups=0) at tasklist-widget.c:2062
#7  0x000008ad1e4b7440 in g_closure_invoke (closure=0x8acf13f22a0, return_value=<optimized out>, n_param_values=<optimized out>, param_values=0x7b65af890500, 
    invocation_hint=<optimized out>) at ../glib-2.82.5/gobject/gclosure.c:833
#8  0x000008ad1e4d41ec in signal_emit_unlocked_R (node=0x7b65af890540, detail=0, instance=0x8ac2a226390, emission_return=0x0, instance_and_params=0x7b65af890500)
    at ../glib-2.82.5/gobject/gsignal.c:3887
#9  0x000008ad1e4d1dfe in signal_emit_valist_unlocked (instance=0x8ac2a226390, signal_id=<optimized out>, detail=0, var_args=<optimized out>)
    at ../glib-2.82.5/gobject/gsignal.c:3519
#10 0x000008ad1e4d27d1 in g_signal_emit_by_name (instance=0x8ac2a226390, detailed_signal=0x8acaaf722ee "name-changed") at ../glib-2.82.5/gobject/gsignal.c:3623
#11 0x000008ac6f06b266 in ffi_call_unix64 () from /usr/local/lib/libffi.so.2.2
#12 0x000008ac6f06aa9f in ffi_call_int () from /usr/local/lib/libffi.so.2.2
#13 0x000008ac6f06a705 in ffi_call () from /usr/local/lib/libffi.so.2.2
#14 0x000008ac662dffb5 in wl_closure_invoke (closure=0x8acf1a4e000, flags=1, target=<optimized out>, opcode=0, data=<optimized out>)
    at ../wayland-1.23.1/src/connection.c:1228
#15 0x000008ac662dda54 in dispatch_event (display=0x8ac3b1d8140, queue=0x8ac3b1d8238) at ../wayland-1.23.1/src/wayland-client.c:1674
#16 0x000008ac662dd20b in dispatch_queue (display=0x8ac3b1d8140, queue=<optimized out>) at ../wayland-1.23.1/src/wayland-client.c:1820
#17 wl_display_dispatch_queue_pending (display=0x8ac3b1d8140, queue=0x8ac3b1d8238) at ../wayland-1.23.1/src/wayland-client.c:2062
#18 0x000008ac50bb6f5d in _gdk_wayland_display_queue_events (display=<optimized out>) at ../gtk-3.24.48/gdk/wayland/gdkeventsource.c:201
#19 0x000008ac50b7c533 in gdk_display_get_event (display=0x8ac216efa00) at ../gtk-3.24.48/gdk/gdkdisplay.c:442
#20 0x000008ac50bb7278 in gdk_event_source_dispatch (base=<optimized out>, callback=<optimized out>, data=<optimized out>) at ../gtk-3.24.48/gdk/wayland/gdkeventsource.c:120
#21 0x000008acdb16058f in g_main_dispatch (context=0x8ac2e72e7e0) at ../glib-2.82.5/glib/gmain.c:3357
#22 g_main_context_dispatch_unlocked (context=0x8ac2e72e7e0) at ../glib-2.82.5/glib/gmain.c:4208
#23 0x000008acdb160a33 in g_main_context_iterate_unlocked (context=0x8ac2e72e7e0, block=<optimized out>, dispatch=1, self=<optimized out>)
    at ../glib-2.82.5/glib/gmain.c:4273
#24 0x000008acdb160e3a in g_main_loop_run (loop=0x8ac217ffbb0) at ../glib-2.82.5/glib/gmain.c:4475
#25 0x000008ace513c41b in gtk_main () at ../gtk-3.24.48/gtk/gtkmain.c:1329
#26 0x000008aa1f80f69b in main (argc=1, argv=0x7b65af890e08) at main.c:381
(gdb) up
#1  0x000008ac22bd2416 in xfce_tasklist_app_get_name (app=0x8acf5ccb360) at tasklist-widget.c:105
warning: 105    tasklist-widget.c: No such file or directory
(gdb) p *app
$1 = {parent_instance = {g_type_instance = {g_class = 0xdfdfdfdfdfdfdfdf}, ref_count = 0, qdata = 0x0}}

if i install the debug symbols for libxfce4windowing, the crash doesnt happen but there's still a type mismatch it seems, so something is fishy:

** (xfce4-panel:83649): CRITICAL **: 11:28:47.901: IA__xfw_application_get_name: assertion 'XFW_IS_APPLICATION(app)' failed
** (xfce4-panel:83649): CRITICAL **: 11:28:47.901: IA__xfw_application_get_class_id: assertion 'XFW_IS_APPLICATION(app)' failed