Open rdiez opened 9 months ago
Sorry I got confused with other core dumps: This crash happened 2 days ago, but it was at the end of the day (on shutdown), and not every day. On this PC, Ubuntu's apport only stores the last crash per process, so I cannot say yet how often this happens.
This could help (not that I ever seen this, but maybe I just don't have an auto-crash reported to tell me as it's in finalizing):
diff --git a/plugins/housekeeping/msd-disk-space.c b/plugins/housekeeping/msd-disk-space.c
index 91738e0..e87cbb8 100644
--- a/plugins/housekeeping/msd-disk-space.c
+++ b/plugins/housekeeping/msd-disk-space.c
@@ -695,6 +695,7 @@ msd_ldsm_clean (void)
if (ignore_paths) {
g_slist_free_full (ignore_paths, g_free);
+ ignore_paths = NULL;
}
}
Thanks for all the extra information.
I moved file /var/crash/_usr_bin_mate-settings-daemon.1000.crash
out of the way, so that Ubuntu's apport would store an eventual new crash, and then it did. The crash happened again during logoff/shutdown, and it is the same call stack:
#0 __pthread_kill_implementation (no_tid=0, signo=6, threadid=140119286791936) at ./nptl/pthread_kill.c:44
#1 __pthread_kill_internal (signo=6, threadid=140119286791936) at ./nptl/pthread_kill.c:78
#2 __GI___pthread_kill (threadid=140119286791936, signo=signo@entry=6) at ./nptl/pthread_kill.c:89
#3 0x00007f7011642476 in __GI_raise (sig=sig@entry=6) at ../sysdeps/posix/raise.c:26
#4 0x00007f70116287f3 in __GI_abort () at ./stdlib/abort.c:79
#5 0x00007f7011689676 in __libc_message (action=action@entry=do_abort, fmt=fmt@entry=0x7f70117dbb77 "%s\n") at ../sysdeps/posix/libc_fatal.c:155
#6 0x00007f70116a0cfc in malloc_printerr (str=str@entry=0x7f70117d9744 "free(): invalid pointer") at ./malloc/malloc.c:5664
#7 0x00007f70116a2a44 in _int_free (av=<optimized out>, p=<optimized out>, have_lock=0) at ./malloc/malloc.c:4439
#8 0x00007f70116a5453 in __GI___libc_free (mem=<optimized out>) at ./malloc/malloc.c:3391
#9 0x00007f70118feb20 in g_slist_foreach (list=<optimized out>, list@entry=0x564178176740 = {...}, func=0x7f70118e7d50 <g_free>, user_data=user_data@entry=0x0) at ../../../glib/gslist.c:885
#10 0x00007f7011902a8f in g_slist_free_full (list=0x564178176740 = {...}, free_func=<optimized out>) at ../../../glib/gslist.c:198
#11 0x00007f700c66bc2e in msd_ldsm_clean () at /build/mate-settings-daemon-NgefVQ/mate-settings-daemon-1.26.0/plugins/housekeeping/msd-disk-space.c:699
#12 0x00007f700c66bda2 in msd_housekeeping_manager_stop (manager=<optimized out>)
at /build/mate-settings-daemon-NgefVQ/mate-settings-daemon-1.26.0/plugins/housekeeping/msd-housekeeping-manager.c:301
#13 0x00007f700c66be20 in msd_housekeeping_manager_finalize (object=0x564178399010 [MsdHousekeepingManager])
at /build/mate-settings-daemon-NgefVQ/mate-settings-daemon-1.26.0/plugins/housekeeping/msd-housekeeping-manager.c:271
#14 0x00007f70119e9f9d in g_object_unref (_object=<optimized out>) at ../../../gobject/gobject.c:3690
#15 g_object_unref (_object=0x564178399010) at ../../../gobject/gobject.c:3565
#16 0x00007f700c66bf86 in msd_housekeeping_plugin_finalize (object=0x564178398d90 [MsdHousekeepingPlugin])
at /build/mate-settings-daemon-NgefVQ/mate-settings-daemon-1.26.0/plugins/housekeeping/msd-housekeeping-plugin.c:62
#17 0x00007f70119e9f9d in g_object_unref (_object=<optimized out>) at ../../../gobject/gobject.c:3690
#18 g_object_unref (_object=0x564178398d90) at ../../../gobject/gobject.c:3565
#19 0x0000564176c96d30 in mate_settings_plugin_info_finalize (object=0x564178402070 [MateSettingsPluginInfo]) at ./mate-settings-daemon/mate-settings-plugin-info.c:99
#20 0x00007f70119e9f9d in g_object_unref (_object=<optimized out>) at ../../../gobject/gobject.c:3690
#21 g_object_unref (_object=0x564178402070) at ../../../gobject/gobject.c:3565
#22 0x00007f70118feb20 in g_slist_foreach (list=<optimized out>, func=func@entry=0x564176c96ff0 <_unload_plugin>, user_data=user_data@entry=0x0) at ../../../glib/gslist.c:885
#23 0x0000564176c95b11 in _unload_all (manager=0x5641783327a0 [MateSettingsManager]) at ./mate-settings-daemon/mate-settings-manager.c:302
#24 mate_settings_manager_stop (manager=0x5641783327a0 [MateSettingsManager]) at ./mate-settings-daemon/mate-settings-manager.c:379
#25 on_session_end (proxy=<optimized out>, flags=<optimized out>, manager=0x5641783327a0 [MateSettingsManager]) at ./mate-settings-daemon/main.c:267
#26 0x00007f7010d21e2e in ffi_call_unix64 () at ../src/x86/unix64.S:105
#27 0x00007f7010d1e493 in ffi_call_int (cif=<optimized out>, fn=<optimized out>, rvalue=<optimized out>, avalue=<optimized out>, closure=<optimized out>) at ../src/x86/ffi64.c:672
#28 0x00007f70119e216d in g_cclosure_marshal_generic
(closure=closure@entry=0x56417807bbf0, return_gvalue=return_gvalue@entry=0x0, n_param_values=<optimized out>, param_values=<optimized out>, invocation_hint=invocation_hint@entry=0x7fffd84ef880, marshal_data=marshal_data@entry=0x0) at ../../../gobject/gclosure.c:1534
#29 0x00007f7012540bdd in marshal_dbus_message_to_g_marshaller
(closure=0x56417807bbf0, return_value=0x0, n_param_values=<optimized out>, param_values=<optimized out>, invocation_hint=0x7fffd84ef880, marshal_data=0x0)
at /build/dbus-glib-rGJYDH/dbus-glib-0.112/dbus/dbus-gproxy.c:1744
#33 0x00007f70119f9863 in <emit signal received:org-gnome-SessionManager-ClientPrivate-EndSession on instance 0x564178320ea0 [DBusGProxy]>
(instance=instance@entry=0x564178320ea0, signal_id=<optimized out>, detail=detail@entry=1433) at ../../../gobject/gsignal.c:3587
#30 0x00007f70119dbd2f in g_closure_invoke (closure=0x56417807bbf0, return_value=0x0, n_param_values=3, param_values=0x7fffd84ef900, invocation_hint=0x7fffd84ef880)
at ../../../gobject/gclosure.c:830
#31 0x00007f70119f7c36 in signal_emit_unlocked_R
(node=node@entry=0x564178154670, detail=detail@entry=1433, instance=instance@entry=0x564178320ea0, emission_return=emission_return@entry=0x0, instance_and_params=instance_and_params@entry=0x7fffd84ef900) at ../../../gobject/gsignal.c:3777
#32 0x00007f70119f9614 in g_signal_emit_valist (instance=<optimized out>, signal_id=<optimized out>, detail=<optimized out>, var_args=var_args@entry=0x7fffd84efae0)
at ../../../gobject/gsignal.c:3530
#34 0x00007f701253d9c2 in dbus_g_proxy_emit_remote_signal (message=0x5641780f78d0, proxy=0x564178320ea0 [DBusGProxy]) at /build/dbus-glib-rGJYDH/dbus-glib-0.112/dbus/dbus-gproxy.c:1797
#35 dbus_g_proxy_manager_filter (connection=<optimized out>, user_data=0x5641781d28c0, message=<optimized out>) at /build/dbus-glib-rGJYDH/dbus-glib-0.112/dbus/dbus-gproxy.c:1358
#36 dbus_g_proxy_manager_filter (connection=<optimized out>, message=<optimized out>, user_data=0x5641781d28c0) at /build/dbus-glib-rGJYDH/dbus-glib-0.112/dbus/dbus-gproxy.c:1198
#37 0x00007f70124f66a5 in dbus_connection_dispatch () at /lib/x86_64-linux-gnu/libdbus-1.so.3
#38 0x00007f7012547469 in message_queue_dispatch (source=<optimized out>, callback=<optimized out>, user_data=<optimized out>) at ../dbus-gmain/dbus-gmain.c:91
#39 0x00007f70118e2d3b in g_main_dispatch (context=0x564177fdf180) at ../../../glib/gmain.c:3419
#40 g_main_context_dispatch (context=0x564177fdf180) at ../../../glib/gmain.c:4137
#41 0x00007f7011938258 in g_main_context_iterate.constprop.0 (context=0x564177fdf180, block=block@entry=1, dispatch=dispatch@entry=1, self=<optimized out>) at ../../../glib/gmain.c:4213
#42 0x00007f70118e22b3 in g_main_loop_run (loop=0x564178385650) at ../../../glib/gmain.c:4413
#43 0x00007f7011e48cfd in gtk_main () at /lib/x86_64-linux-gnu/libgtk-3.so.0
#44 0x0000564176c95679 in main (argc=<optimized out>, argv=<optimized out>) at ./mate-settings-daemon/main.c:554
I didn't install any fix. You probably mean I should have patched it with the "ignore_paths = NULL;" suggestion about, right? If so, I am guessing that setting up a development environment, building it from source, replacing the mate-settings-daemon in my Ubuntu MATE distribution, and debugging something that happens on shutdown will probably take more than 5 minutes. Or is that really easy do to?
Is this problem hard for you guys to reproduce?
I did answer to that question of yours above.
This is a bit of a contradiction. First you say "no" (I understand then that "it is not hard to reproduce"), but then you cannot reproduce it now.
I have 2 other similar systems which do not crash mate-settings-daemon in that way. As far as I remember, I never configured anything special about the plug-in you mentioned, which is active on both of them:
$ gsettings get org.mate.SettingsDaemon.plugins.housekeeping active
true
I can't check on the PC where mate-settings-daemon is crashing until at least tuesday, but I suspect it will be the same.
All my systems have sufficient disk space and I do not expect any disk full warnings. By the way, is there a GUI way to configure such warnings? I had a quick look in the "Control Center" but couldn't find anything related.
The one difference with the crashing PC is that it is regularly connected to SMB network disk shares, and some of them are pretty full. Maybe the housekeeping plug-in behaves differently in such a scenario. I mean, even if it decides not to warn about a network share, maybe it is subscribed to them in some way when the system shuts down and the network connection is lost.
If there is an easy way, I could try enabling some tracing in order to help pin-point where the problem lies.
On Ubuntu MATE 22.04.3, with the standard package version 1.26.0-1ubuntu1, mate-settings-daemon seems to crash every day on start-up. The call stack is: