Red Hat Bugzilla – Bug 1207187
Changing bookmarks order by drag and drop in sidebar cause nautilus to crash
Last modified: 2015-11-19 03:18:14 EST
Description of problem: Changing bookmarks order by drag and drop in sidebar cause nautilus to crash. Version-Release number of selected component (if applicable): nautilus-3.14.2-1.el7.x86_64 How reproducible: 100% Steps to Reproduce: 1. Have added at least two bookmarks in nautilus (use CTRL+D to bookmark actual location) 2. Change order of bookmarks by dragging them up or down in the sidebar (show sidebar with F9) few times Actual results: segfault. sometime, two or three attempts are needed Expected results: No crash, order changed Additional info: This is early gnome 3.14 rebase version taken from copr repo el7-gnome-3-14 owned by rhughes
Still reproducible with nautilus-3.14.3-3.el7.x86_64. Backtrace: Program received signal SIGSEGV, Segmentation fault. clicked_eject_button (sidebar=sidebar@entry=0xa3aa70 [GtkPlacesSidebar], path=path@entry=0x7fffffffce98) at gtkplacessidebar.c:1426 1426 if ((event->type == GDK_BUTTON_PRESS || event->type == GDK_BUTTON_RELEASE) && (gdb) bt #0 0x00007ffff6ee3797 in clicked_eject_button (sidebar=sidebar@entry=0xa3aa70 [GtkPlacesSidebar], path=path@entry=0x7fffffffce98) at gtkplacessidebar.c:1426 #1 0x00007ffff6ee5b86 in bookmarks_button_release_event_cb (widget=widget@entry=0xaa4400 [GtkTreeView], event=0xd7fd70, sidebar=sidebar@entry=0xa3aa70 [GtkPlacesSidebar]) at gtkplacessidebar.c:3659 #6 0x00007ffff49f572f in <emit signal ??? on instance 0xaa4400 [GtkTreeView]> (instance=instance@entry=0xaa4400, signal_id=<optimized out>, detail=detail@entry=0) at gsignal.c:3365 #2 0x00007ffff6e9e74c in _gtk_marshal_BOOLEAN__BOXED (closure=0xab55b0, return_value=0x7fffffffd030, n_param_values=<optimized out>, param_values=0x7fffffffd0e0, invocation_hint=<optimized out>, marshal_data=<optimized out>) at gtkmarshalers.c:85 #3 0x00007ffff49dbde8 in g_closure_invoke (closure=0xab55b0, return_value=return_value@entry=0x7fffffffd030, n_param_values=2, param_values=param_values@entry=0x7fffffffd0e0, invocation_hint=invocation_hint@entry=0x7fffffffd080) at gclosure.c:768 #4 0x00007ffff49ed70d in signal_emit_unlocked_R (node=node@entry=0x776200, detail=detail@entry=0, instance=instance@entry=0xaa4400, emission_return=emission_return@entry=0x7fffffffd190, instance_and_params=instance_and_params@entry=0x7fffffffd0e0) at gsignal.c:3553 #5 0x00007ffff49f515c in g_signal_emit_valist (instance=<optimized out>, signal_id=<optimized out>, detail=<optimized out>, var_args=var_args@entry=0x7fffffffd270) at gsignal.c:3319 #7 0x00007ffff6fce68c in gtk_widget_event_internal (widget=0xaa4400 [GtkTreeView], event=0xd7fd70) at gtkwidget.c:7773 #8 0x00007ffff6e9c2ac in propagate_event (topmost=<optimized out>, event=<optimized out>, widget=0xaa4400 [GtkTreeView]) at gtkmain.c:2414 #9 0x00007ffff6e9c2ac in propagate_event (widget=widget@entry=0xaa4400 [GtkTreeView], event=event@entry=0xd7fd70, captured=captured@entry=0, topmost=topmost@entry=0x0) at gtkmain.c:2516 #10 0x00007ffff6e9d712 in gtk_propagate_event (widget=widget@entry=0xaa4400 [GtkTreeView], event=event@entry=0xd7fd70) at gtkmain.c:2551 #11 0x00007ffff6ff54ed in gtk_drag_end (info=info@entry=0xb40510, time=time@entry=0) at gtkdnd.c:4242 #12 0x00007ffff6ff8153 in gtk_drag_cancel_internal (info=0xb40510, result= GTK_DRAG_RESULT_GRAB_BROKEN, time=0) at gtkdnd.c:4255 #13 0x00007ffff6ff8507 in gtk_drag_grab_notify_cb (widget=0xa3da90 [GtkWindow], was_grabbed=<optimized out>, data=0xb40510) at gtkdnd.c:4413 #14 0x00007ffff49ddcfc in g_cclosure_marshal_VOID__BOOLEANv (closure=<optimized out>, return_value=<optimized out>, instance=<optimized out>, args=<optimized out>, marshal_data=<optimized out>, n_params=<optimized out>, param_types=0x775520) at gmarshal.c:188 #15 0x00007ffff49dc017 in _g_closure_invoke_va (closure=closure@entry=0xd69150, return_value=return_value@entry=0x0, instance=instance@entry=0xa3da90, args=args@entry=0x7fffffffd660, n_params=1, param_types=0x775520) at gclosure.c:831 #16 0x00007ffff49f4ad7 in g_signal_emit_valist (instance=0xa3da90, signal_id=<optimized out>, detail=0, var_args=var_args@entry=0x7fffffffd660) at gsignal.c:3218 #17 0x00007ffff49f572f in g_signal_emit (instance=instance@entry=0xa3da90, signal_id=<optimized out>, detail=detail@entry=0) at gsignal.c:3365 #18 0x00007ffff6fcd691 in _gtk_widget_grab_notify (widget=widget@entry=0xa3da90 [GtkWindow], was_grabbed=was_grabbed@entry=0) at gtkwidget.c:8036 #19 0x00007ffff6e9c7bb in gtk_grab_notify_foreach (child=child@entry=0xa3da90 [GtkWindow], data=data@entry=0x7fffffffd790) at gtkmain.c:1996 #20 0x00007ffff6e9c91b in gtk_grab_notify (group=0x9b0360 [GtkWindowGroup], device=device@entry=0x0, old_grab_widget=<optimized out>, new_grab_widget=new_grab_widget@entry=0xd9a2b0 [GtkMessageDialog], from_grab=from_grab@entry=1) at gtkmain.c:2037 #21 0x00007ffff6e9d21c in gtk_grab_add (widget=widget@entry=0xd9a2b0 [GtkMessageDialog]) at gtkmain.c:2077 #22 0x00007ffff6fe94f3 in gtk_window_show (widget=0xd9a2b0 [GtkMessageDialog]) at gtkwindow.c:5833 #26 0x00007ffff49f572f in <emit signal ??? on instance 0xd9a2b0 [GtkMessageDialog]> (instance=instance@entry=0xd9a2b0, signal_id=<optimized out>, detail=detail@entry=0) at gsignal.c:3365 #23 0x00007ffff49dbde8 in g_closure_invoke (closure=closure@entry=0x7696d0, return_value=return_value@entry=0x0, n_param_values=1, param_values=param_values@entry=0x7fffffffda40, invocation_hint=invocation_hint@entry=0x7fffffffd9e0) at gclosure.c:768 #24 0x00007ffff49ecf37 in signal_emit_unlocked_R (node=node@entry=0x773910, detail=detail@entry=0, instance=instance@entry=0xd9a2b0, emission_return=emission_return@entry=0x0, instance_and_params=instance_and_params@entry=0x7fffffffda40) at gsignal.c:3483 #25 0x00007ffff49f5471 in g_signal_emit_valist (instance=<optimized out>, signal_id=<optimized out>, detail=<optimized out>, var_args=var_args@entry=0x7fffffffdbc0) at gsignal.c:3309 #27 0x00007ffff6fd83dc in gtk_widget_show (widget=0xd9a2b0 [GtkMessageDialog]) at gtkwidget.c:4853 #28 0x00000000004e390e in show_message_dialog (primary_text=primary_text@entry=0xb647d0 "Unable to find the requested file. Please check the spelling and try again.", secondary_text=secondary_text@entry=0xd6d400 "Unhandled error message: Error when getting information for file '/mnt/scratch/msimon': No such file or directory", type=type@entry=GTK_MESSAGE_ERROR, details_text=details_text@entry=0x0, parent=<optimized out>, buttons_type=GTK_BUTTONS_OK) at eel-stock-dialogs.c:409 #29 0x00000000004e394b in show_ok_dialog (primary_text=primary_text@entry=0xb647d0 "Unable to find the requested file. Please check the spelling and try again.", secondary_text=secondary_text@entry=0xd6d400 "Unhandled error message: Error when getting information for file '/mnt/scratch/msimon': No such file or directory", type=type@entry=GTK_MESSAGE_ERROR, parent=<optimized out>) at eel-stock-dialogs.c:425 #30 0x00000000004e3e9d in eel_show_error_dialog (primary_text=primary_text@entry=0xb647d0 "Unable to find the requested file. Please check the spelling and try again.", secondary_text=secondary_text@entry=0xd6d400 "Unhandled error message: Error when getting information for file '/mnt/scratch/msimon': No such file or directory", parent=<optimized out>) at eel-stock-dialogs.c:494 #31 0x0000000000472adf in got_file_info_for_view_selection_callback (error=<optimized out>, location=0x929f00, file=0xadb3c0 [NautilusVFSFile], window=0x9c4470 [NautilusWindow]) at nautilus-window-slot.c:1660 #32 0x0000000000472adf in got_file_info_for_view_selection_callback (file=<optimized out>, callback_data=0xa3ada0) at nautilus-window-slot.c:1291 #33 0x00000000004a25f3 in call_ready_callbacks_at_idle (callback_data=<optimized out>) at nautilus-directory-async.c:1798 #34 0x00007ffff46de79a in g_main_context_dispatch (context=0x792200) at gmain.c:3109 #35 0x00007ffff46de79a in g_main_context_dispatch (context=context@entry=0x792200) at gmain.c:3708 #36 0x00007ffff46deae8 in g_main_context_iterate (context=context@entry=0x792200, block=block@entry=1, dispatch=dispatch@entry=1, self=<optimized out>) at gmain.c:3779 #37 0x00007ffff46deb9c in g_main_context_iteration (context=0x792200, context@entry=0x0, may_block=may_block@entry=1) at gmain.c:3840 #38 0x00007ffff4cc1f24 in g_application_run (application=0x76a120 [NautilusApplication], argc=argc@entry=1, argv=argv@entry=0x7fffffffdfd8) at gapplication.c:2282 #39 0x000000000042a0fb in main (argc=1, argv=0x7fffffffdfd8) at nautilus-main.c:103
I think this was probably fixed by the fix for bug 1115338 in 3.14.3-4.el7. I can't reproduce the described crash with that version. Can you, Martin ?
I can reproduce this in nautilus-3.14.3-4.el7.x86_64. According the steps and the backtrace I don't think the new patch in -4 affected this behaviour at all. The only thing I noticed now, because I was curious why the reproducer didn't work for you, is that few of my bookmarks are remote and few of them link to nonexisting directories (unmounted remote locations). I don't know what happens when I try to move the bookmark, I expected that there is no difference between local, remote a non-existing ones. If there is a difference, please try to add a bookmark linking to a non-existing directory.
upstream bug https://bugzilla.gnome.org/show_bug.cgi?id=754995
fixed upstream, crasher, devack+
Re-tested with gtk3-3.14.13-14.el7.x86_64 and nautilus-3.14.3-5.el7.x86_64 and I'm not able to reproduce the crash. The bug is fixed, marking this as verified.
Since the problem described in this bug report should be resolved in a recent advisory, it has been closed with a resolution of ERRATA. For information on the advisory, and where to find the updated files, follow the link below. If the solution does not work for you, open a new bug report. https://rhn.redhat.com/errata/RHBA-2015-2116.html