Bug 26394

Summary: Cairo Dock segfaults on desktop switcher
Product: Mageia Reporter: Herbert Poetzl <herbert>
Component: RPM PackagesAssignee: Shlomi Fish <shlomif>
Status: RESOLVED OLD QA Contact:
Severity: critical    
Priority: Normal CC: herbert
Version: 7   
Target Milestone: ---   
Hardware: All   
OS: Linux   
Whiteboard:
Source RPM: cairo-dock-3.4.1-5.mga7.src.rpm CVE:
Status comment:

Description Herbert Poetzl 2020-03-30 20:48:24 CEST
Description of problem:
When using the Cairo Dock desktop switcher, cairo dock segfaults and restarts.

Version-Release number of selected component (if applicable):
cairo-dock-3.4.1-5.mga7.x86_64

How reproducible:
Always

Steps to Reproduce:
1. Start cairo dock
2. Hover mouse over desktop switcher
3. Watch cairo dock segfault and restart


warning :  (/home/iurt/rpmbuild/BUILD/cairo-dock-core-3.4.1/src/implementations/cairo-dock-egl.c:gldi_register_egl_backend:232)  
  Cairo-Dock was not built with EGL support
warning :  (/home/iurt/rpmbuild/BUILD/cairo-dock-core-3.4.1/src/implementations/cairo-dock-glx.c:_initialize_opengl_backend:129)  
  couldn't find an appropriate visual, trying to get one without Stencil buffer
(it may cause some little deterioration in the rendering) ...

 ============================================================================
	Cairo-Dock version : 3.4.1
	Compiled date      : Sep 23 2018 07:03:18
	Built with GTK     : 3.22
	Running with OpenGL: 1
 ============================================================================

g_file_test: assertion 'filename != NULL' failed
g_file_test: assertion 'filename != NULL' failed

(cairo-dock:12326): Gtk-WARNING **: 20:44:09.349: Theme parsing error: <data>:7:1467: The :insensitive pseudo-class is deprecated. Use :disabled instead.

(cairo-dock:12326): Gtk-WARNING **: 20:44:09.349: Theme parsing error: <data>:7:3649: The :inconsistent pseudo-class is deprecated. Use :indeterminate instead.
cairo_dock_create_surface_from_image_simple: assertion 'cImageFile != NULL' failed
Cairo-Dock - Launcher API Daemon is already running (20703)
warning :  (/home/iurt/rpmbuild/BUILD/cairo-dock-plug-ins-3.4.1/shortcuts/src/applet-drives.c:cd_shortcuts_list_drives:321)  
  couldn't detect any drives
warning :  (/home/iurt/rpmbuild/BUILD/cairo-dock-plug-ins-3.4.1/shortcuts/src/applet-load-icons.c:cd_shortcuts_build_shortcuts_from_data:310)  
  Shortcuts : can't monitor bookmarks
warning :  (/home/iurt/rpmbuild/BUILD/cairo-dock-core-3.4.1/src/cairo-dock.c:_cairo_dock_intercept_signal:180)  
  Cairo-Dock has crashed (sig 11).
It will be restarted now.
Feel free to report this bug on glx-dock.org to help improving the dock!
info on the system :
Linux localhost.localdomain 5.5.9-desktop-1.mga7 #1 SMP Thu Mar 12 08:02:44 UTC 2020 x86_64 x86_64 x86_64 GNU/Linux
Couldn't guess if it was an applet's fault or not. It may have crashed inside the core or inside a thread
David Walser 2020-03-31 16:27:07 CEST

Assignee: bugsquad => shlomif

Comment 1 Herbert Poetzl 2020-03-31 19:42:51 CEST
Thread 1 "cairo-dock" received signal SIGSEGV, Segmentation fault.
0x00007ffff1d3cb14 in si_nir_build_llvm () from /usr/lib64/dri/radeonsi_dri.so
(gdb) where
#0  0x00007ffff1d3cb14 in si_nir_build_llvm () at /usr/lib64/dri/radeonsi_dri.so
#1  0x00007ffff1d38d68 in si_build_main_function () at /usr/lib64/dri/radeonsi_dri.so
#2  0x00007ffff1d397e9 in si_llvm_compile_shader () at /usr/lib64/dri/radeonsi_dri.so
#3  0x00007ffff1d3ae54 in si_compile_shader () at /usr/lib64/dri/radeonsi_dri.so
#4  0x00007ffff1d5c060 in si_check_missing_main_part () at /usr/lib64/dri/radeonsi_dri.so
#5  0x00007ffff1d61daa in si_shader_select_with_key () at /usr/lib64/dri/radeonsi_dri.so
#6  0x00007ffff1d62297 in si_shader_select () at /usr/lib64/dri/radeonsi_dri.so
#7  0x00007ffff1d64a5c in si_update_shaders () at /usr/lib64/dri/radeonsi_dri.so
#8  0x00007ffff1d59f4d in si_draw_vbo () at /usr/lib64/dri/radeonsi_dri.so
#9  0x00007ffff24cf73a in tc_call_draw_vbo () at /usr/lib64/dri/radeonsi_dri.so
#10 0x00007ffff24cc850 in _tc_sync.isra.24 () at /usr/lib64/dri/radeonsi_dri.so
#11 0x00007ffff24cdb18 in tc_flush () at /usr/lib64/dri/radeonsi_dri.so
#12 0x00007ffff1f875f3 in st_context_flush () at /usr/lib64/dri/radeonsi_dri.so
#13 0x00007ffff1bc2982 in dri_flush () at /usr/lib64/dri/radeonsi_dri.so
#14 0x00007ffff6f8cbb3 in loader_dri3_swap_buffers_msc () at /lib64/libGL.so.1
#15 0x00007ffff65b2d3b in on_expose_desklet (pWidget=pWidget@entry=0x92a520 [GtkWindow], pCairoContext=0xcfd560, pDesklet=0xc2c9e0) at /home/iurt/rpmbuild/BUILD/cairo-dock-core-3.4.1/src/gldit/cairo-dock-desklet-factory.c:74
#16 0x00007ffff6b842fb in _gtk_marshal_BOOLEAN__BOXED
    (closure=closure@entry=0xbebc80, return_value=return_value@entry=0x7fffffffc7f0, n_param_values=n_param_values@entry=2, param_values=param_values@entry=0x7fffffffc8a0, invocation_hint=invocation_hint@entry=0x7fffffffc840, marshal_data=marshal_data@entry=0x0) at gtkmarshalers.c:83
#17 0x00007ffff6b31d3f in gtk_widget_draw_marshaller (closure=0xbebc80, return_value=0x7fffffffc7f0, n_param_values=2, param_values=0x7fffffffc8a0, invocation_hint=0x7fffffffc840, marshal_data=0x0) at gtkwidget.c:945
#21 0x00007ffff72e31b2 in <emit signal ??? on instance 0x92a520 [GtkWindow]> (instance=instance@entry=0x92a520, signal_id=<optimized out>, detail=detail@entry=0) at ../gobject/gsignal.c:3447
    #18 0x00007ffff72c6d8d in g_closure_invoke (closure=0xbebc80, return_value=0x7fffffffc7f0, n_param_values=2, param_values=0x7fffffffc8a0, invocation_hint=0x7fffffffc840) at ../gobject/gclosure.c:810
    #19 0x00007ffff72d9d35 in signal_emit_unlocked_R
    (node=<optimized out>, detail=detail@entry=0, instance=instance@entry=0x92a520, emission_return=emission_return@entry=0x7fffffffc9a0, instance_and_params=instance_and_params@entry=0x7fffffffc8a0) at ../gobject/gsignal.c:3635
    #20 0x00007ffff72e2276 in g_signal_emit_valist (instance=<optimized out>, signal_id=<optimized out>, detail=<optimized out>, var_args=var_args@entry=0x7fffffffca68) at ../gobject/gsignal.c:3401
#22 0x00007ffff6b3e2e2 in gtk_widget_draw_internal (clip_to_size=<optimized out>, cr=0xcfd560, widget=0x92a520 [GtkWindow]) at gtkwidget.c:7025
#23 0x00007ffff6b3e2e2 in gtk_widget_draw_internal (widget=0x92a520 [GtkWindow], cr=0xcfd560, clip_to_size=<optimized out>) at gtkwidget.c:6970
#24 0x00007ffff6b46ff3 in gtk_widget_render (widget=widget@entry=0x92a520 [GtkWindow], window=<optimized out>, region=<optimized out>) at gtkwidget.c:17542
#25 0x00007ffff69fed79 in gtk_main_do_event (event=0x7fffffffcc80) at gtkmain.c:1838
#26 0x00007ffff69fed79 in gtk_main_do_event (event=<optimized out>) at gtkmain.c:1685
#27 0x00007ffff670e2d5 in _gdk_event_emit (event=event@entry=0x7fffffffcc80) at gdkevents.c:73
--Type <RET> for more, q to quit, c to continue without paging--
#28 0x00007ffff671e3ce in _gdk_window_process_updates_recurse_helper (window=0x495660 [GdkX11Window], expose_region=<optimized out>) at gdkwindow.c:3852
#29 0x00007ffff671f536 in gdk_window_process_updates_internal (window=0x495660 [GdkX11Window]) at gdkwindow.c:3998
#30 0x00007ffff671f6f4 in gdk_window_process_updates_with_mode (recurse_mode=<optimized out>, window=<optimized out>) at gdkwindow.c:4193
#31 0x00007ffff671f6f4 in gdk_window_process_updates_with_mode (window=<optimized out>, recurse_mode=<optimized out>) at gdkwindow.c:4164
#35 0x00007ffff72e31b2 in <emit signal ??? on instance 0x4b63b0 [GdkFrameClockIdle]> (instance=instance@entry=0x4b63b0, signal_id=<optimized out>, detail=detail@entry=0) at ../gobject/gsignal.c:3447
    #32 0x00007ffff72c6d8d in g_closure_invoke (closure=0xbd9d50, return_value=0x0, n_param_values=1, param_values=0x7fffffffcf50, invocation_hint=0x7fffffffcef0) at ../gobject/gclosure.c:810
    #33 0x00007ffff72d9d35 in signal_emit_unlocked_R
    (node=node@entry=0x4b5080, detail=detail@entry=0, instance=instance@entry=0x4b63b0, emission_return=emission_return@entry=0x0, instance_and_params=instance_and_params@entry=0x7fffffffcf50) at ../gobject/gsignal.c:3635
    #34 0x00007ffff72e2bce in g_signal_emit_valist (instance=<optimized out>, signal_id=<optimized out>, detail=<optimized out>, var_args=var_args@entry=0x7fffffffd0f8) at ../gobject/gsignal.c:3391
#36 0x00007ffff6716eff in _gdk_frame_clock_emit_paint (frame_clock=frame_clock@entry=0x4b63b0 [GdkFrameClockIdle]) at gdkframeclock.c:640
#37 0x00007ffff671773d in gdk_frame_clock_paint_idle (data=0x4b63b0) at gdkframeclockidle.c:459
#38 0x00007ffff6702c48 in gdk_threads_dispatch (data=data@entry=0x5eea00) at gdk.c:772
#39 0x00007ffff71e207d in g_timeout_dispatch (source=0x131bcc0, callback=0x7ffff6702c20 <gdk_threads_dispatch>, user_data=0x5eea00) at ../glib/gmain.c:4678
#40 0x00007ffff71e1665 in g_main_dispatch (context=0x4ac9f0) at ../glib/gmain.c:3189
#41 0x00007ffff71e1665 in g_main_context_dispatch (context=context@entry=0x4ac9f0) at ../glib/gmain.c:3854
#42 0x00007ffff71e19e8 in g_main_context_iterate (context=0x4ac9f0, block=block@entry=1, dispatch=dispatch@entry=1, self=<optimized out>) at ../glib/gmain.c:3927
#43 0x00007ffff71e1cd2 in g_main_loop_run (loop=0x10bd890) at ../glib/gmain.c:4123
#44 0x00007ffff69fdfc5 in gtk_main () at gtkmain.c:1323
#45 0x00000000004109f8 in main ()

CC: (none) => herbert

Comment 2 Shlomi Fish 2020-03-31 20:19:47 CEST
Hi Herbert!

Here on mageia v8/cauldron x64 with jwm/startx/core i3/intel gfx, cairo-dock does not crash after switching desktops.

Some info I want from you:

1. What is your Desktop Env?

2. Does the crash happen in a new unix user account?

3. Does it happen in a minimalistic WM such as icewm or jwm?

4. Are you indeed on mageia v7?

5. Can you share the output of "/sbin/hwinfo" (after installing hwinfo)?

6. Does it happen using "cairo-dock -c" to avoid opengl mode?

Thanks!
Comment 3 Herbert Poetzl 2020-03-31 21:13:51 CEST
Hey,

1) I'm using Compiz with mate-session (mate-panel, etc)
2) Haven't tried yet, but will check when I get to it.
3) Haven't tried yet, but will check and let you know.
4) Yes, I am.
5) This is a little bit invasive, so I prefer not to, but if you let me know what information you are interested in, I can probably provide it.
6) No, it seems to be fine with '-c'.

Btw, I tried with mesa-20.0.2-3.mga7 from testing and I get a similar segfault trace there.

Thanks,
Herbert
Comment 4 Herbert Poetzl 2020-03-31 21:26:35 CEST
Hmm, but there seems to be an unrelated issue when using the '-c' option to cairo-dock when I hover over the volume control applet:

Thread 1 "cairo-dock" received signal SIGFPE, Arithmetic exception.
0x00007ffff281120b in cd_satus_notifier_find_item_from_coord () at /usr/src/debug/cairo-dock-plugins-3.4.1-12.mga7.x86_64/Status-Notifier/src/applet-draw.c:249
249		col = (iMouseX - x_pad) / (myData.iItemSize + iIconGap);
(gdb) where
#0  0x00007ffff281120b in cd_satus_notifier_find_item_from_coord () at /usr/src/debug/cairo-dock-plugins-3.4.1-12.mga7.x86_64/Status-Notifier/src/applet-draw.c:249
#1  0x00007ffff2811c20 in on_mouse_moved (myApplet=<optimized out>, pContainer=<optimized out>, bStartAnimation=0x7fffffffcc7c) at /usr/src/debug/cairo-dock-plugins-3.4.1-12.mga7.x86_64/Status-Notifier/src/applet-notifications.c:261
#2  0x00007ffff65c3695 in _on_motion_notify (pWidget=pWidget@entry=0x77a520 [GtkWindow], pMotion=<optimized out>, pDock=0x818c00) at /home/iurt/rpmbuild/BUILD/cairo-dock-core-3.4.1/src/gldit/cairo-dock-dock-factory.c:469
#7  0x00007ffff72e31b2 in <emit signal ??? on instance 0x77a520 [GtkWindow]> (instance=instance@entry=0x77a520, signal_id=<optimized out>, detail=detail@entry=0) at ../gobject/gsignal.c:3447
    #3  0x00007ffff6b842fb in _gtk_marshal_BOOLEAN__BOXED (closure=0x82fe50, return_value=0x7fffffffce00, n_param_values=<optimized out>, param_values=0x7fffffffceb0, invocation_hint=<optimized out>, marshal_data=<optimized out>)
    at gtkmarshalers.c:83
    #4  0x00007ffff72c6d8d in g_closure_invoke (closure=0x82fe50, return_value=0x7fffffffce00, n_param_values=2, param_values=0x7fffffffceb0, invocation_hint=0x7fffffffce50) at ../gobject/gclosure.c:810
    #5  0x00007ffff72d9d35 in signal_emit_unlocked_R
    (node=<optimized out>, detail=detail@entry=0, instance=instance@entry=0x77a520, emission_return=emission_return@entry=0x7fffffffcfb0, instance_and_params=instance_and_params@entry=0x7fffffffceb0) at ../gobject/gsignal.c:3635
    #6  0x00007ffff72e2276 in g_signal_emit_valist (instance=<optimized out>, signal_id=<optimized out>, detail=<optimized out>, var_args=var_args@entry=0x7fffffffd078) at ../gobject/gsignal.c:3401
#8  0x00007ffff6b334e4 in gtk_widget_event_internal (widget=widget@entry=0x77a520 [GtkWindow], event=event@entry=0x8dd9e0) at gtkwidget.c:7744
#9  0x00007ffff6b360ca in gtk_widget_event (widget=widget@entry=0x77a520 [GtkWindow], event=event@entry=0x8dd9e0) at gtkwidget.c:7314
#10 0x00007ffff6b537b7 in _gtk_window_check_handle_wm_event (event=event@entry=0x8dd9e0) at gtkwindow.c:8377
#11 0x00007ffff69feae5 in gtk_main_do_event (event=0x8dd9e0) at gtkmain.c:1762
#12 0x00007ffff69feae5 in gtk_main_do_event (event=<optimized out>) at gtkmain.c:1685
#13 0x00007ffff670e2d5 in _gdk_event_emit (event=event@entry=0x8dd9e0) at gdkevents.c:73
#14 0x00007ffff673e0d2 in gdk_event_source_dispatch (source=<optimized out>, callback=<optimized out>, user_data=<optimized out>) at gdkeventsource.c:367
#15 0x00007ffff71e1665 in g_main_dispatch (context=0x4ac9f0) at ../glib/gmain.c:3189
#16 0x00007ffff71e1665 in g_main_context_dispatch (context=context@entry=0x4ac9f0) at ../glib/gmain.c:3854
#17 0x00007ffff71e19e8 in g_main_context_iterate (context=0x4ac9f0, block=block@entry=1, dispatch=dispatch@entry=1, self=<optimized out>) at ../glib/gmain.c:3927
#18 0x00007ffff71e1cd2 in g_main_loop_run (loop=0x8dd220) at ../glib/gmain.c:4123
#19 0x00007ffff69fdfc5 in gtk_main () at gtkmain.c:1323
#20 0x00000000004109f8 in main ()
Comment 5 Herbert Poetzl 2020-03-31 21:28:29 CEST
Correction, it is the notification area applet.
Comment 6 Shlomi Fish 2020-03-31 21:33:22 CEST
(In reply to Herbert Poetzl from comment #3)
> Hey,
> 
> 1) I'm using Compiz with mate-session (mate-panel, etc)
> 2) Haven't tried yet, but will check when I get to it.
> 3) Haven't tried yet, but will check and let you know.
> 4) Yes, I am.
> 5) This is a little bit invasive, so I prefer not to, but if you let me know
> what information you are interested in, I can probably provide it.
> 6) No, it seems to be fine with '-c'.
> 
> Btw, I tried with mesa-20.0.2-3.mga7 from testing and I get a similar
> segfault trace there.
> 
> Thanks,
> Herbert

Thanks for the info! Note that you can use the "[reply]" button. From the original stacktrace, the issue seems to be the fault of GPU-interaction code.
Comment 7 David Walser 2020-03-31 22:38:45 CEST
Hi Shlomi, I don't know if you seen it or if there's any relation, but there seems to be an additional issue with cairo-dock in Bug 25582.
Comment 8 Shlomi Fish 2020-04-01 09:44:21 CEST
(In reply to David Walser from comment #7)
> Hi Shlomi, I don't know if you seen it or if there's any relation, but there
> seems to be an additional issue with cairo-dock in Bug 25582.

thanks - I saw it now: https://bugs.mageia.org/show_bug.cgi?id=25582 .
Comment 9 Aurelien Oudelet 2021-07-06 13:16:23 CEST
Mageia 7 is EOL since July 1st 2021.
There will not have any further bugfix for this release.

You are encouraged to upgrade to Mageia 8 as soon as possible.

@reporter, if this bug still apply with Mageia 8, please let us know it.

@packager, if you work on the Mageia 7 version of your package, please check the Mageia 8 package if issue is also present. In this case, please fix the Mageia 8 version instead.

This bug report will be closed OLD if there is no further notice within 1st September 2021.
Comment 10 Marja Van Waes 2021-09-07 14:09:04 CEST
Hi bug reporter and hi assignee and others involved,

Please reopen this bug report if it is still valid for Mageia 8 or 9(cauldron), and change "Version:" in the upper left of this report accordingly.

This report is being closed as OLD because it was filed against Mageia 7, for which  support ended on June 30th 2021.

Thanks,
Marja

Status: NEW => RESOLVED
Resolution: (none) => OLD