Bugzilla will be upgraded to version 5.0. The upgrade date is tentatively scheduled for 2 December 2018, pending final testing and feedback.
Bug 1207187 - Changing bookmarks order by drag and drop in sidebar cause nautilus to crash
Changing bookmarks order by drag and drop in sidebar cause nautilus to crash
Status: CLOSED ERRATA
Product: Red Hat Enterprise Linux 7
Classification: Red Hat
Component: gtk3 (Show other bugs)
7.2
Unspecified Unspecified
high Severity high
: rc
: ---
Assigned To: Benjamin Otte
Desktop QE
:
Depends On:
Blocks:
  Show dependency treegraph
 
Reported: 2015-03-30 07:59 EDT by Martin Simon
Modified: 2015-11-19 03:18 EST (History)
7 users (show)

See Also:
Fixed In Version: gtk3-3.13-14.el7
Doc Type: Bug Fix
Doc Text:
Story Points: ---
Clone Of:
Environment:
Last Closed: 2015-11-19 03:18:14 EST
Type: Bug
Regression: ---
Mount Type: ---
Documentation: ---
CRM:
Verified Versions:
Category: ---
oVirt Team: ---
RHEL 7.3 requirements from Atomic Host:
Cloudforms Team: ---


Attachments (Terms of Use)


External Trackers
Tracker ID Priority Status Summary Last Updated
Red Hat Product Errata RHBA-2015:2116 normal SHIPPED_LIVE GTK+ bug fix and enhancement update 2015-11-19 03:39:32 EST

  None (edit)
Description Martin Simon 2015-03-30 07:59:56 EDT
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
Comment 1 Martin Simon 2015-08-13 15:10:39 EDT
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
Comment 2 Matthias Clasen 2015-09-08 15:50:10 EDT
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 ?
Comment 3 Martin Simon 2015-09-09 04:02:05 EDT
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.
Comment 4 Carlos Soriano 2015-09-14 09:27:05 EDT
upstream bug https://bugzilla.gnome.org/show_bug.cgi?id=754995
Comment 5 Ray Strode [halfline] 2015-09-15 12:19:58 EDT
fixed upstream, crasher, devack+
Comment 9 Martin Simon 2015-09-21 04:25:24 EDT
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.
Comment 10 errata-xmlrpc 2015-11-19 03:18:14 EST
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

Note You need to log in before you can comment on or make changes to this bug.