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 646302 - segfault around sidebar drag'n drop
segfault around sidebar drag'n drop
Status: RESOLVED FIXED
Product: nautilus
Classification: Core
Component: [obsolete] Sidebar
2.91.x
Other Linux
: Normal normal
: 3.0
Assigned To: Nautilus Maintainers
Nautilus Maintainers
: 647381 (view as bug list)
Depends on:
Blocks:
 
 
Reported: 2011-03-31 04:49 UTC by Frederic Peters
Modified: 2011-04-11 16:00 UTC
See Also:
GNOME target: ---
GNOME version: ---


Attachments
I can reproduce this here; attached patch fixes it. (1.22 KB, patch)
2011-03-31 17:32 UTC, Cosimo Cecchi
committed Details | Review

Description Frederic Peters 2011-03-31 04:49:07 UTC
I checked the fixed eject icon in the sidebar and it worked fine, but it left me with the cursor dragging my first bookmark, and then crashed. (I failed to reproduce it)

Core was generated by `nautilus /media/F2A2-D2F1'.
Program terminated with signal 6, Aborted.
  • #0 raise
    at ../nptl/sysdeps/unix/sysv/linux/raise.c line 64
  • #0 raise
    at ../nptl/sysdeps/unix/sysv/linux/raise.c line 64
  • #1 abort
    at abort.c line 92
  • #2 g_assertion_message
    at /tmp/buildd/glib2.0-2.28.4/./glib/gtestutils.c line 1358
  • #3 reorder_bookmarks
    at nautilus-places-sidebar.c line 1365
  • #4 drag_data_received_callback
    at nautilus-places-sidebar.c line 1457
  • #5 _gtk_marshal_VOID__OBJECT_INT_INT_BOXED_UINT_UINT
    at /tmp/buildd/gtk+3.0-3.0.6/./gtk/gtkmarshalers.c line 2314
  • #6 g_closure_invoke
    at /tmp/buildd/glib2.0-2.28.4/./gobject/gclosure.c line 767
  • #7 signal_emit_unlocked_R
    at /tmp/buildd/glib2.0-2.28.4/./gobject/gsignal.c line 3252
  • #8 g_signal_emit_valist
    at /tmp/buildd/glib2.0-2.28.4/./gobject/gsignal.c line 2983
  • #9 g_signal_emit_by_name
    at /tmp/buildd/glib2.0-2.28.4/./gobject/gsignal.c line 3077
  • #10 gtk_drag_selection_received
    at /tmp/buildd/gtk+3.0-3.0.6/./gtk/gtkdnd.c line 1771
  • #11 g_closure_invoke
    at /tmp/buildd/glib2.0-2.28.4/./gobject/gclosure.c line 767
  • #12 signal_emit_unlocked_R
    at /tmp/buildd/glib2.0-2.28.4/./gobject/gsignal.c line 3252
  • #13 g_signal_emit_valist
    at /tmp/buildd/glib2.0-2.28.4/./gobject/gsignal.c line 2983
  • #14 g_signal_emit_by_name
    at /tmp/buildd/glib2.0-2.28.4/./gobject/gsignal.c line 3077
  • #15 gtk_selection_retrieval_report
    at /tmp/buildd/gtk+3.0-3.0.6/./gtk/gtkselection.c line 2986
  • #16 gtk_selection_convert
    at /tmp/buildd/gtk+3.0-3.0.6/./gtk/gtkselection.c line 1117
  • #17 get_drag_data
    at nautilus-places-sidebar.c line 1124
  • #18 drag_drop_callback
    at nautilus-places-sidebar.c line 1525
  • #19 _gtk_marshal_BOOLEAN__OBJECT_INT_INT_UINT
    at /tmp/buildd/gtk+3.0-3.0.6/./gtk/gtkmarshalers.c line 412
  • #20 g_closure_invoke
    at /tmp/buildd/glib2.0-2.28.4/./gobject/gclosure.c line 767
  • #21 signal_emit_unlocked_R
    at /tmp/buildd/glib2.0-2.28.4/./gobject/gsignal.c line 3252
  • #22 g_signal_emit_valist
    at /tmp/buildd/glib2.0-2.28.4/./gobject/gsignal.c line 2993
  • #23 g_signal_emit_by_name
    at /tmp/buildd/glib2.0-2.28.4/./gobject/gsignal.c line 3077
  • #24 gtk_drag_dest_drop
    at /tmp/buildd/gtk+3.0-3.0.6/./gtk/gtkdnd.c line 2276
  • #25 gtk_drag_find_widget
    at /tmp/buildd/gtk+3.0-3.0.6/./gtk/gtkdnd.c line 1853
  • #26 _gtk_drag_dest_handle_event
    at /tmp/buildd/gtk+3.0-3.0.6/./gtk/gtkdnd.c line 1607
  • #27 gtk_main_do_event
    at /tmp/buildd/gtk+3.0-3.0.6/./gtk/gtkmain.c line 1899
  • #28 gdk_event_source_dispatch
    at /tmp/buildd/gtk+3.0-3.0.6/./gdk/x11/gdkeventsource.c line 318
  • #29 g_main_dispatch
    at /tmp/buildd/glib2.0-2.28.4/./glib/gmain.c line 2440
  • #30 g_main_context_dispatch
    at /tmp/buildd/glib2.0-2.28.4/./glib/gmain.c line 3013
  • #31 g_main_context_iterate
    at /tmp/buildd/glib2.0-2.28.4/./glib/gmain.c line 3091
  • #32 g_main_loop_run
    at /tmp/buildd/glib2.0-2.28.4/./glib/gmain.c line 3299
  • #33 gtk_main
    at /tmp/buildd/gtk+3.0-3.0.6/./gtk/gtkmain.c line 1358
  • #34 g_application_run
    at /tmp/buildd/glib2.0-2.28.4/./gio/gapplication.c line 1322
  • #35 main
    at nautilus-main.c line 102

Comment 1 Cosimo Cecchi 2011-03-31 17:32:55 UTC
Created attachment 184804 [details] [review]
I can reproduce this here; attached patch fixes it.

places-sidebar: don't return TRUE in button-release when we eject

Otherwise the GtkTreeView default handler won't run cleaning up
what it set up in button-press-event and the next motion-event will
trigger the DnD to begin.
Comment 2 Cosimo Cecchi 2011-04-04 17:38:26 UTC
Pushed to master now.
Comment 3 Cosimo Cecchi 2011-04-11 16:00:15 UTC
*** Bug 647381 has been marked as a duplicate of this bug. ***