Wrong memory management of source
I've had this problem a few times before, and I think it happens when you unintentionally dnd an item in the view when opening the context menu on it, for example to rename it (left-click on the item -> unintentional dnd -> right-click -> rename).
Anyway, I was able to get a backtrace this time:
thunar.orig[51013]: Source ID 12746 was not found when attempting to remove it
Core was generated by `/opt/bin/thunar.orig'.
Program terminated with signal SIGTRAP, Trace/breakpoint trap.
#0 g_logv (log_domain=0x7f5a495f0161 "GLib", log_level=G_LOG_LEVEL_CRITICAL, format=<optimized out>, args=<optimized out>) at ../glib/glib/gmessages.c:1423
1423 g_private_set (&g_log_depth, GUINT_TO_POINTER (depth));
[Current thread is 1 (Thread 0x7f5a48081a00 (LWP 51013))]
(gdb) bt
#0 g_logv (log_domain=0x7f5a495f0161 "GLib", log_level=G_LOG_LEVEL_CRITICAL, format=<optimized out>, args=<optimized out>) at ../glib/glib/gmessages.c:1423
#1 0x00007f5a49538724 in g_log (log_domain=<optimized out>, log_level=<optimized out>, format=<optimized out>) at ../glib/glib/gmessages.c:1461
#2 0x00007f5a4952fc15 in g_source_remove (tag=12746) at ../glib/glib/gmain.c:2638
#3 0x00005617b4f3ce8c in thunar_standard_view_motion_notify_event (standard_view=0x5617b6d7cad0, event=0x5617b709d150, view=0x5617b6d37230) at thunar-standard-view.c:2669
#4 thunar_standard_view_motion_notify_event (view=view@entry=0x5617b6d37230, event=0x5617b709d150, standard_view=0x5617b6d7cad0) at thunar-standard-view.c:2656
#5 0x00007f5a49a8c34d in _gtk_marshal_BOOLEAN__BOXED
(closure=0x5617b70a3240, return_value=0x7ffd709fff40, param_values=0x7ffd709fffd0, marshal_data=<optimized out>, invocation_hint=<optimized out>, n_param_values=<optimized out>) at gtk/gtkmarshalers.c:84
#6 0x00007f5a496366c0 in g_closure_invoke (closure=0x5617b70a3240, return_value=0x7ffd709fff40, n_param_values=2, param_values=0x7ffd709fffd0, invocation_hint=0x7ffd709fff20) at ../glib/gobject/gclosure.c:832
#7 0x00007f5a49664a36 in signal_emit_unlocked_R.isra.0
(node=node@entry=0x7ffd70a000c0, detail=detail@entry=0, instance=instance@entry=0x5617b6d37230, emission_return=emission_return@entry=0x7ffd70a00140, instance_and_params=instance_and_params@entry=0x7ffd709fffd0) at ../glib/gobject/gsignal.c:3980
#8 0x00007f5a49655335 in signal_emit_valist_unlocked (instance=instance@entry=0x5617b6d37230, signal_id=signal_id@entry=128, detail=detail@entry=0, var_args=var_args@entry=0x7ffd70a00220)
at ../glib/gobject/gsignal.c:3625
#9 0x00007f5a49655c77 in g_signal_emit_valist (instance=0x5617b6d37230, signal_id=128, detail=0, var_args=var_args@entry=0x7ffd70a00220) at ../glib/gobject/gsignal.c:3355
#10 0x00007f5a49655d34 in g_signal_emit (instance=instance@entry=0x5617b6d37230, signal_id=<optimized out>, detail=detail@entry=0) at ../glib/gobject/gsignal.c:3675
#11 0x00007f5a49d546e5 in gtk_widget_event_internal.part.0.lto_priv.0 (widget=0x5617b6d37230, event=0x5617b709d150) at ../gtk/gtk/gtkwidget.c:7812
#12 0x00007f5a49bee91b in propagate_event_up (topmost=<optimized out>, event=<optimized out>, widget=0x5617b6d37230) at ../gtk/gtk/gtkmain.c:2588
#13 propagate_event (widget=widget@entry=0x5617b6d37230, event=event@entry=0x5617b709d150, captured=captured@entry=0, topmost=topmost@entry=0x0) at ../gtk/gtk/gtkmain.c:2691
#14 0x00007f5a49beea52 in gtk_propagate_event (event=0x5617b709d150, widget=0x5617b6d37230) at ../gtk/gtk/gtkmain.c:2725
#15 0x00007f5a49bef447 in gtk_main_do_event (event=0x5617b709d150) at ../gtk/gtk/gtkmain.c:1921
#16 gtk_main_do_event (event=<optimized out>) at ../gtk/gtk/gtkmain.c:1691
#17 0x00007f5a4a2fbb87 in _gdk_event_emit (event=0x5617b709d150) at ../gtk/gdk/gdkevents.c:73
#18 _gdk_event_emit (event=0x5617b709d150) at ../gtk/gdk/gdkevents.c:67
#19 0x00007f5a4a353d38 in gdk_event_source_dispatch.lto_priv () at ../gtk/gdk/x11/gdkeventsource.c:354
#20 0x00007f5a4952ff69 in g_main_dispatch (context=0x5617b69602b0) at ../glib/glib/gmain.c:3476
#21 0x00007f5a4958e327 in g_main_context_dispatch_unlocked (context=0x5617b69602b0) at ../glib/glib/gmain.c:4284
#22 g_main_context_iterate_unlocked.isra.0 (context=0x5617b69602b0, block=block@entry=1, dispatch=dispatch@entry=1, self=<optimized out>) at ../glib/glib/gmain.c:4349
#23 0x00007f5a49530b97 in g_main_loop_run (loop=0x5617b70e44c0) at ../glib/glib/gmain.c:4551
#24 0x00007f5a49b4a8c3 in gtk_dialog_run (dialog=dialog@entry=0x5617b6ff4fb0) at ../gtk/gtk/gtkdialog.c:1399
#25 0x00005617b4efe319 in thunar_dialogs_show_rename_file (parent=parent@entry=0x5617b69be710, file=file@entry=0x5617b6e3c260, log_mode=log_mode@entry=THUNAR_OPERATION_LOG_OPERATIONS) at thunar-dialogs.c:360
#26 0x00005617b4ef0d05 in thunar_application_rename_file
(application=application@entry=0x5617b6971340, file=0x5617b6e3c260, screen=screen@entry=0x5617b69be710, startup_id=startup_id@entry=0x0, log_mode=log_mode@entry=THUNAR_OPERATION_LOG_OPERATIONS)
at thunar-application.c:1932
#27 0x00005617b4eebe22 in thunar_action_manager_action_rename (action_mgr=0x5617b6bf0570) at thunar-action-manager.c:2442
#28 thunar_action_manager_action_rename (action_mgr=0x5617b6bf0570) at thunar-action-manager.c:2421
#29 0x00007f5a496366c0 in g_closure_invoke (closure=0x5617b6dd12f0, return_value=0x0, n_param_values=1, param_values=0x7ffd70a00900, invocation_hint=0x7ffd70a00850) at ../glib/gobject/gclosure.c:832
#30 0x00007f5a49664a36 in signal_emit_unlocked_R.isra.0
(node=node@entry=0x7ffd70a009d0, detail=detail@entry=0, instance=instance@entry=0x5617b701bed0, emission_return=emission_return@entry=0x0, instance_and_params=instance_and_params@entry=0x7ffd70a00900)
at ../glib/gobject/gsignal.c:3980
#31 0x00007f5a49655a42 in signal_emit_valist_unlocked (instance=instance@entry=0x5617b701bed0, signal_id=signal_id@entry=202, detail=detail@entry=0, var_args=var_args@entry=0x7ffd70a00b30)
at ../glib/gobject/gsignal.c:3612
#32 0x00007f5a49655c77 in g_signal_emit_valist (instance=0x5617b701bed0, signal_id=202, detail=0, var_args=var_args@entry=0x7ffd70a00b30) at ../glib/gobject/gsignal.c:3355
#33 0x00007f5a49655d34 in g_signal_emit (instance=instance@entry=0x5617b701bed0, signal_id=<optimized out>, detail=detail@entry=0) at ../glib/gobject/gsignal.c:3675
#34 0x00007f5a49d40c9d in gtk_widget_activate (widget=0x5617b701bed0) at ../gtk/gtk/gtkwidget.c:7845
#35 0x00007f5a49c04edd in gtk_menu_shell_activate_item (menu_shell=0x5617b6c8c960, menu_item=0x5617b701bed0, force_deactivate=<optimized out>) at ../gtk/gtk/gtkmenushell.c:1375
#36 0x00007f5a49c0521a in gtk_menu_shell_button_release (widget=0x5617b6c8c960, event=<optimized out>) at ../gtk/gtk/gtkmenushell.c:791
I can't see what could be wrong at first glance: thunar_standard_view_motion_notify_event()
is well disconnected in thunar_standard_view_drag_timer_destroy()
, so it shouldn't be called if the source has been removed, but apparently it is.
By the way I wonder if releasing priv->drag_timer_event
shouldn't also take place in thunar_standard_view_drag_timer_destroy()
, instead of in various places.