Deadlock when trying to restore files from the trash
I deleted 2 ISOs from ~/Downloads, went to the trash and tried to restore the files, and Nautilus hung. Looking at a backtrace, this seems to be a deadlock, the mainloop is blocked waiting for nautilus_file_operations_move_sync() to complete, while the thread is trying to show a dialog using the mainloop. As a sidenote, there must be a second bug, as the error message is about "not enough free space". However, restoring the ISOs one by one is fine, restoring them from the command line is fine too (with 'mv'). It's just when the 2 isos are selected at once that this triggers (and I've reprocude this multiple times).
#0 syscall () at ../sysdeps/unix/sysv/linux/x86_64/syscall.S:38
#1 0x00007f68f73351b5 in g_cond_wait (cond=0x7f68d40163f8, mutex=0x7f68d40163f0) at ../../../../freesoftware/gnome/glib/glib/gthread-posix.c:1402
#2 0x00000000004710b0 in run_simple_dialog_va (job=0x1f5aad0, ignore_close_box=0, message_type=GTK_MESSAGE_WARNING, primary_text=0x7f68d4012a30 "Erreur lors de la copie vers « isos ».",
secondary_text=0x7f68d400c240 "La destination n’a plus assez d’espace libre. Essayez de supprimer des fichiers pour libérer de l’espace.",
details_text=0x7f68d40054c0 "2,7 Go d’espace supplémentaire est requis pour copier vers la destination.", show_all=0, varargs=0x7f68e37fd850)
at ../../../../freesoftware/gnome/nautilus/src/nautilus-file-operations.c:1330
#3 0x00000000004712f7 in run_warning (job=0x1f5aad0, primary_text=0x7f68d4012a30 "Erreur lors de la copie vers « isos ».",
secondary_text=0x7f68d400c240 "La destination n’a plus assez d’espace libre. Essayez de supprimer des fichiers pour libérer de l’espace.",
details_text=0x7f68d40054c0 "2,7 Go d’espace supplémentaire est requis pour copier vers la destination.", show_all=0) at ../../../../freesoftware/gnome/nautilus/src/nautilus-file-operations.c:1413
#4 0x0000000000475696 in verify_destination (job=0x1f5aad0, dest=0x18cf6e0, dest_fs_id=0x0, required_size=5064622080) at ../../../../freesoftware/gnome/nautilus/src/nautilus-file-operations.c:3675
#5 0x000000000047a637 in nautilus_file_operations_move (task=0x7f68dc018da0, source_object=0x0, task_data=0x1f5aad0, cancellable=0x7f68e402fc70)
at ../../../../freesoftware/gnome/nautilus/src/nautilus-file-operations.c:6420
#6 0x00007f68f5dd64f2 in g_task_thread_pool_thread (thread_data=0x7f68dc018da0, pool_data=0x0) at ../../../../freesoftware/gnome/glib/gio/gtask.c:1338
#7 0x00007f68f730ab31 in g_thread_pool_thread_proxy (data=0xe13400) at ../../../../freesoftware/gnome/glib/glib/gthreadpool.c:308
#8 0x00007f68f730a557 in g_thread_proxy (data=0x103ca80) at ../../../../freesoftware/gnome/glib/glib/gthread.c:784
#9 0x00007f68f5a8558e in start_thread (arg=<optimized out>) at pthread_create.c:486
#10 0x00007f68f59b2593 in clone () at ../sysdeps/unix/sysv/linux/x86_64/clone.S:95
Thread 1 (Thread 0x7f68f1bd5280 (LWP 29344)):
#0 syscall () at ../sysdeps/unix/sysv/linux/x86_64/syscall.S:38
#1 0x00007f68f73351b5 in g_cond_wait (cond=0x7f68dc018e18, mutex=0x7f68dc018e10) at ../../../../freesoftware/gnome/glib/glib/gthread-posix.c:1402
#2 0x00007f68f5dd691a in g_task_run_in_thread_sync (task=0x7f68dc018da0, task_func=0x47a3e1 <nautilus_file_operations_move>) at ../../../../freesoftware/gnome/glib/gio/gtask.c:1504
#3 0x000000000047a31c in nautilus_file_operations_move_sync (files=0x18f0640, target_dir=0x18cf6e0) at ../../../../freesoftware/gnome/nautilus/src/nautilus-file-operations.c:6309
#4 0x00000000004813fa in ensure_dirs_task_ready_cb (_source=0x0, res=0x7f68dc01ec40, user_data=0x1a5f560) at ../../../../freesoftware/gnome/nautilus/src/nautilus-file-utilities.c:821
#5 0x00007f68f5dd6015 in g_task_return_now (task=0x7f68dc01ec40) at ../../../../freesoftware/gnome/glib/gio/gtask.c:1152
#6 0x00007f68f5dd607b in complete_in_idle_cb (task=0x7f68dc01ec40) at ../../../../freesoftware/gnome/glib/gio/gtask.c:1166
#7 0x00007f68f72db7e0 in g_idle_dispatch (source=0x7f68d4004290, callback=0x7f68f5dd6063 <complete_in_idle_cb>, user_data=0x7f68dc01ec40) at ../../../../freesoftware/gnome/glib/glib/gmain.c:5628
#8 0x00007f68f72d8c8e in g_main_dispatch (context=0xdf9470) at ../../../../freesoftware/gnome/glib/glib/gmain.c:3190
#9 0x00007f68f72d9b4d in g_main_context_dispatch (context=0xdf9470) at ../../../../freesoftware/gnome/glib/glib/gmain.c:3855
#10 0x00007f68f72d9d31 in g_main_context_iterate (context=0xdf9470, block=1, dispatch=1, self=0xdd4270) at ../../../../freesoftware/gnome/glib/glib/gmain.c:3928
#11 0x00007f68f72d9df5 in g_main_context_iteration (context=0xdf9470, may_block=1) at ../../../../freesoftware/gnome/glib/glib/gmain.c:3989
#12 0x00007f68f5aad036 in ?? () from /lib64/libtracker-sparql-2.0.so.0
#13 0x00007f68f5dd6015 in g_task_return_now (task=0x7f68dc006f00) at ../../../../freesoftware/gnome/glib/gio/gtask.c:1152
#14 0x00007f68f5dd607b in complete_in_idle_cb (task=0x7f68dc006f00) at ../../../../freesoftware/gnome/glib/gio/gtask.c:1166
#15 0x00007f68f72db7e0 in g_idle_dispatch (source=0x7f68d400c2e0, callback=0x7f68f5dd6063 <complete_in_idle_cb>, user_data=0x7f68dc006f00) at ../../../../freesoftware/gnome/glib/glib/gmain.c:5628
#16 0x00007f68f72d8c8e in g_main_dispatch (context=0xdf9470) at ../../../../freesoftware/gnome/glib/glib/gmain.c:3190
#17 0x00007f68f72d9b4d in g_main_context_dispatch (context=0xdf9470) at ../../../../freesoftware/gnome/glib/glib/gmain.c:3855
#18 0x00007f68f72d9d31 in g_main_context_iterate (context=0xdf9470, block=1, dispatch=1, self=0xdd4270) at ../../../../freesoftware/gnome/glib/glib/gmain.c:3928
#19 0x00007f68f72d9df5 in g_main_context_iteration (context=0xdf9470, may_block=1) at ../../../../freesoftware/gnome/glib/glib/gmain.c:3989
#20 0x00007f68f5e0e23c in g_application_run (application=0xddd140, argc=1, argv=0x7ffc64160548) at ../../../../freesoftware/gnome/glib/gio/gapplication.c:2470
#21 0x0000000000441932 in main (argc=1, argv=0x7ffc64160548) at ../../../../freesoftware/gnome/nautilus/src/nautilus-main.c:81
Edited by Christophe Fergeau