After an evaluation, GNOME has moved from Bugzilla to GitLab. Learn more about GitLab.
No new issues can be reported in GNOME Bugzilla anymore.
To report an issue in a GNOME project, go to GNOME GitLab.
Do not go to GNOME Gitlab for: Bluefish, Doxygen, GnuCash, GStreamer, java-gnome, LDTP, NetworkManager, Tomboy.
Bug 720264 - Hovering item over sidebar "desktop"-entry crashes applications if XDG-desktop dir is not "~/Desktop"
Hovering item over sidebar "desktop"-entry crashes applications if XDG-deskto...
Status: RESOLVED FIXED
Product: gtk+
Classification: Platform
Component: .General
3.10.x
Other Linux
: High critical
: ---
Assigned To: Nautilus Maintainers
Nautilus Maintainers
Depends on:
Blocks:
 
 
Reported: 2013-12-11 15:43 UTC by Tobias Getzner
Modified: 2013-12-19 16:06 UTC
See Also:
GNOME target: ---
GNOME version: ---



Description Tobias Getzner 2013-12-11 15:43:00 UTC
When hovering a file over the "Desktop" entry on the Nautilus sidebar during DnD, Nautilus segfaults. Since I do not use a desktop, my XDG_DESKTOP_DIR is "~"; if I set XDG_DESKTOP_DIR to "~/Desktop", the segfault does not trigger.

BTW it would be convenient if the sidebar omits the Desktop entry altogether if it's identical to $HOME, or something like that.

This is on Nautilus 3.10.1.
Comment 1 António Fernandes 2013-12-17 09:29:04 UTC
Thanks for taking the time to report this bug.
Without a stack trace from the crash it's very hard to determine what caused it.
Can you get us a stack trace? Please see http://live.gnome.org/GettingTraces for more information on how to do so. Thanks in advance!

(In reply to comment #0)
> BTW it would be convenient if the sidebar omits the Desktop entry altogether if
> it's identical to $HOME, or something like that.

Some users may want to show $HOME as the desktop. 

But the sidebar does omit the "Desktop" entry if the "show-desktop-icons" setting is disabled. At least it does for me in nautilus 3.10.1 from fedora 20.

What is the output of the following command in the terminal?

gsettings get org.gnome.desktop.background show-desktop-icons
Comment 2 Tobias Getzner 2013-12-17 10:08:46 UTC
Program terminated with signal 11, Segmentation fault.

Thread 1 (Thread 0x7fc2365d2940 (LWP 21515))

  • #0 compute_drop_position.part.5
    from /usr/lib/libgtk-3.so.0
  • #1 drag_motion_callback
    from /usr/lib/libgtk-3.so.0
  • #2 _gtk_marshal_BOOLEAN__OBJECT_INT_INT_UINT
    from /usr/lib/libgtk-3.so.0
  • #3 g_closure_invoke
    from /usr/lib/libgobject-2.0.so.0
  • #4 signal_emit_unlocked_R
    from /usr/lib/libgobject-2.0.so.0
  • #5 g_signal_emit_valist
    from /usr/lib/libgobject-2.0.so.0
  • #6 g_signal_emit_by_name
    from /usr/lib/libgobject-2.0.so.0
  • #7 gtk_drag_dest_motion
    from /usr/lib/libgtk-3.so.0
  • #8 _gtk_drag_dest_handle_event
    from /usr/lib/libgtk-3.so.0
  • #9 gtk_main_do_event
    from /usr/lib/libgtk-3.so.0
  • #10 gdk_event_source_dispatch
    from /usr/lib/libgdk-3.so.0
  • #11 g_main_context_dispatch
    from /usr/lib/libglib-2.0.so.0
  • #12 g_main_context_iterate.isra.24
    from /usr/lib/libglib-2.0.so.0
  • #13 g_main_context_iteration
    from /usr/lib/libglib-2.0.so.0
  • #14 g_application_run
    from /usr/lib/libgio-2.0.so.0
  • #15 main

Comment 3 Tobias Getzner 2013-12-17 10:10:19 UTC
> But the sidebar does omit the "Desktop" entry if the "show-desktop-icons"
> setting is disabled. At least it does for me in nautilus 3.10.1 from fedora 20.
> 
> What is the output of the following command in the terminal?
> 
> gsettings get org.gnome.desktop.background show-desktop-icons

show-desktop-icons is disabled for me, yet both Nautilus and the GTK file choose show the desktop entry in the sidebar.
Comment 4 António Fernandes 2013-12-17 10:14:14 UTC
(In reply to comment #3)
> show-desktop-icons is disabled for me, yet both Nautilus and the GTK file
> choose show the desktop entry in the sidebar.

That's weird. Can you file a separate bug report about that? (Product: gtk+; component: GtkFileChooser)
Comment 5 Tobias Getzner 2013-12-17 10:26:39 UTC
Oh, by the way, when doing a move operation within the file chooser, any host program segfaults, not just Nautilus.

Tentatively reassigning to GTK+.
Comment 6 Tobias Getzner 2013-12-17 10:55:52 UTC
Sorry, the last comment was unclear. The host program don't crash for any move operation, just when D'n'Ding over the desktop entry.

Also I recompiled GTK and glib2 with -g. See new backtrace with line numbers below. (Although line numbers don't seem to show for functions from glib2? Is this normal?)

Program terminated with signal 11, Segmentation fault.

Thread 1 (Thread 0x7f285b7a2940 (LWP 3565))

  • #0 compute_drop_position
    at gtkplacessidebar.c line 1422
  • #1 compute_drop_position
    at gtkplacessidebar.c line 1702
  • #2 drag_motion_callback
    at gtkplacessidebar.c line 1625
  • #3 _gtk_marshal_BOOLEAN__OBJECT_INT_INT_UINT
    from /usr/lib/libgobject-2.0.so.0
  • #5 signal_emit_unlocked_R
    from /usr/lib/libgobject-2.0.so.0
  • #6 g_signal_emit_valist
    from /usr/lib/libgobject-2.0.so.0
  • #7 g_signal_emit_by_name
    from /usr/lib/libgobject-2.0.so.0
  • #8 gtk_drag_dest_motion
    at gtkdnd.c line 2325
  • #9 gtk_drag_find_widget
    at gtkdnd.c line 2005
  • #10 _gtk_drag_dest_handle_event
    at gtkdnd.c line 1761
  • #11 gtk_main_do_event
    at gtkmain.c line 1747
  • #12 gdk_event_source_dispatch
    at gdkeventsource.c line 364
  • #13 g_main_context_dispatch
    from /usr/lib/libglib-2.0.so.0
  • #14 g_main_context_iterate.isra.24
    from /usr/lib/libglib-2.0.so.0
  • #15 g_main_context_iteration
    from /usr/lib/libglib-2.0.so.0
  • #16 g_application_run
    from /usr/lib/libgio-2.0.so.0
  • #17 main
    at nautilus-main.c line 104

Comment 7 Tobias Getzner 2013-12-17 12:18:55 UTC
Okay, I recompiled glib2 with --enable-debug=yes, now most of the line numbers should be there.

Program terminated with signal 11, Segmentation fault.

Thread 1 (Thread 0x7f63ead54940 (LWP 28801))

  • #0 compute_drop_position
    at gtkplacessidebar.c line 1422
  • #1 compute_drop_position
    at gtkplacessidebar.c line 1702
  • #2 drag_motion_callback
    at gtkplacessidebar.c line 1625
  • #3 _gtk_marshal_BOOLEAN__OBJECT_INT_INT_UINT
    at gtkmarshalers.c line 808
  • #4 g_closure_invoke
    at gclosure.c line 777
  • #5 signal_emit_unlocked_R
    at gsignal.c line 3586
  • #6 g_signal_emit_valist
    at gsignal.c line 3340
  • #7 g_signal_emit_by_name
    at gsignal.c line 3426
  • #8 gtk_drag_dest_motion
    at gtkdnd.c line 2325
  • #9 gtk_drag_find_widget
    at gtkdnd.c line 2005
  • #10 _gtk_drag_dest_handle_event
    at gtkdnd.c line 1761
  • #11 gtk_main_do_event
    at gtkmain.c line 1747
  • #12 gdk_event_source_dispatch
    at gdkeventsource.c line 364
  • #13 g_main_dispatch
    at gmain.c line 3066
  • #14 g_main_context_dispatch
    at gmain.c line 3642
  • #15 g_main_context_iterate
    at gmain.c line 3713
  • #16 g_main_context_iteration
    at gmain.c line 3774
  • #17 g_application_run
    at gapplication.c line 1635
  • #18 main
    at nautilus-main.c line 104