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 589258 - crashes when using dnd from file-roller to a directory
crashes when using dnd from file-roller to a directory
Status: RESOLVED FIXED
Product: nautilus
Classification: Core
Component: [obsolete] GIO
2.27.x
Other Linux
: Normal critical
: ---
Assigned To: Nautilus Maintainers
Nautilus Maintainers
: 588548 596302 (view as bug list)
Depends on:
Blocks:
 
 
Reported: 2009-07-21 14:53 UTC by Sebastien Bacher
Modified: 2009-10-10 14:00 UTC
See Also:
GNOME target: ---
GNOME version: 2.27/2.28



Description Sebastien Bacher 2009-07-21 14:53:34 UTC
The bug has been opened on https://bugs.launchpad.net/bugs/389888

"When I draged from file-roller archive and droped to nautilus, nautilus has been crashed.
Now I'm working on upgrade packages and I use uscan for update. After download .tar.gz uscan create a symlink to .tar.gz file. If I'll open any archive (not different a symlink or source .tar.gz) by file-roller, drag and drop to nautilus and... nautilus crashed.

error from .xsession-errors:
Gdk-ERROR **: The program 'nautilus' received an X Window System error.
This probably reflects a bug in the program.
The error was 'BadAtom (invalid Atom parameter)'.
  (Details: serial 10778 error_code 5 request_code 24 minor_code 0)
  (Note to programmers: normally, X errors are reported asynchronously;
   that is, you will receive the error a while after causing it.
   To debug your program, run it with the --sync command line
   option to change this behavior. You can then get a meaningful
   backtrace from your debugger if you break on the gdk_x_error() function.)"
Comment 1 Sebastien Bacher 2009-07-21 14:54:05 UTC
Using nautilus 2.27.4 on karmic:

"Gdk-ERROR **: The program 'nautilus' received an X Window System error.
This probably reflects a bug in the program.
The error was 'BadAtom (invalid Atom parameter)'.
  (Details: serial 127759 error_code 5 request_code 24 minor_code 0)
  (Note to programmers: normally, X errors are reported asynchronously;
   that is, you will receive the error a while after causing it.
   To debug your program, run it with the --sync command line
   option to change this behavior. You can then get a meaningful
   backtrace from your debugger if you break on the gdk_x_error() function.)
aborting...

Program received signal SIGTRAP, Trace/breakpoint trap.
IA__g_logv (log_domain=<value optimized out>, log_level=G_LOG_LEVEL_ERROR, 
    format=0x1a6c53 "%s", args1=0xbfffe17c "\200\212R\b\5")
    at /build/buildd/glib2.0-2.21.4/glib/gmessages.c:512
512	/build/buildd/glib2.0-2.21.4/glib/gmessages.c: Aucun fichier ou dossier de ce type.
	in /build/buildd/glib2.0-2.21.4/glib/gmessages.c
(gdb) bt
  • #0 IA__g_logv
    at /build/buildd/glib2.0-2.21.4/glib/gmessages.c line 512
  • #1 IA__g_log
    at /build/buildd/glib2.0-2.21.4/glib/gmessages.c line 526
  • #2 gdk_x_error
    at /build/buildd/gtk+2.0-2.17.5/gdk/x11/gdkmain-x11.c line 466
  • #3 _XError
    from /usr/lib/libX11.so.6
  • #4 ??
    from /usr/lib/libX11.so.6
  • #5 _XReply
    from /usr/lib/libX11.so.6
  • #6 XSync
    from /usr/lib/libX11.so.6
  • #7 ??
    from /usr/lib/libX11.so.6
  • #8 XConvertSelection
    from /usr/lib/libX11.so.6
  • #9 IA__gdk_selection_convert
    at /build/buildd/gtk+2.0-2.17.5/gdk/x11/gdkselection-x11.c line 241
  • #10 IA__gtk_selection_convert
    at /build/buildd/gtk+2.0-2.17.5/gtk/gtkselection.c line 1108
  • #11 get_drag_data
    at nautilus-places-sidebar.c line 840
  • #12 drag_motion_callback
  • #13 _gtk_marshal_BOOLEAN__OBJECT_INT_INT_UINT
    at /build/buildd/gtk+2.0-2.17.5/gtk/gtkmarshalers.c line 411
  • #14 IA__g_closure_invoke
    at /build/buildd/glib2.0-2.21.4/gobject/gclosure.c line 767
  • #15 signal_emit_unlocked_R
    at /build/buildd/glib2.0-2.21.4/gobject/gsignal.c line 3247
  • #16 IA__g_signal_emit_valist
    at /build/buildd/glib2.0-2.21.4/gobject/gsignal.c line 2990
  • #17 IA__g_signal_emit_by_name
    at /build/buildd/glib2.0-2.21.4/gobject/gsignal.c line 3074
  • #18 gtk_drag_dest_motion
    at /build/buildd/gtk+2.0-2.17.5/gtk/gtkdnd.c line 2214
  • #19 gtk_drag_find_widget
    at /build/buildd/gtk+2.0-2.17.5/gtk/gtkdnd.c line 1917
  • #20 gtk_drag_find_widget
    at /build/buildd/gtk+2.0-2.17.5/gtk/gtkdnd.c line 1902
  • #21 gtk_drag_find_widget
    at /build/buildd/gtk+2.0-2.17.5/gtk/gtkdnd.c line 1902
  • #22 gtk_drag_find_widget
    at /build/buildd/gtk+2.0-2.17.5/gtk/gtkdnd.c line 1902
  • #23 gtk_drag_find_widget
    at /build/buildd/gtk+2.0-2.17.5/gtk/gtkdnd.c line 1902
  • #24 gtk_drag_find_widget
    at /build/buildd/gtk+2.0-2.17.5/gtk/gtkdnd.c line 1902
  • #25 gtk_drag_find_widget
    at /build/buildd/gtk+2.0-2.17.5/gtk/gtkdnd.c line 1902
  • #26 _gtk_drag_dest_handle_event
    at /build/buildd/gtk+2.0-2.17.5/gtk/gtkdnd.c line 1600
  • #27 IA__gtk_main_do_event
    at /build/buildd/gtk+2.0-2.17.5/gtk/gtkmain.c line 1625
  • #28 gdk_event_dispatch
    at /build/buildd/gtk+2.0-2.17.5/gdk/x11/gdkevents-x11.c line 2379
  • #29 g_main_dispatch
    at /build/buildd/glib2.0-2.21.4/glib/gmain.c line 1960
  • #30 IA__g_main_context_dispatch
  • #31 g_main_context_iterate
    at /build/buildd/glib2.0-2.21.4/glib/gmain.c line 2591
  • #32 IA__g_main_loop_run
    at /build/buildd/glib2.0-2.21.4/glib/gmain.c line 2799
  • #33 IA__gtk_main
    at /build/buildd/gtk+2.0-2.17.5/gtk/gtkmain.c line 1205
  • #34 main
    at nautilus-main.c line 548

Comment 2 Artur Rona 2009-07-31 13:30:28 UTC
Bug very similiar to this bug, but no using DnD method.
https://bugs.launchpad.net/ubuntu/+source/nautilus/+bug/405232
Comment 3 Louis Simard 2009-10-09 13:57:41 UTC
Confirming this bug on 2.28.0 as well, amd64/karmic beta. nautilus crashes immediately when a dragged file from file-roller enters its window, at any place.
Comment 4 Cosimo Cecchi 2009-10-10 13:58:47 UTC
This is fixed in master now, thanks for the report.

commit 23278532505862816bd5c8c0ab7d17f7a07b4790
Author: Cosimo Cecchi <cosimoc@gnome.org>
Date:   Fri Oct 9 19:19:42 2009 +0200

    Always check if the drag dest supports the source.
    
    In the "drag-motion" callback, make sure we check for target != GDK_NONE
    before getting non-existent data for it.
Comment 5 Cosimo Cecchi 2009-10-10 13:59:33 UTC
*** Bug 596302 has been marked as a duplicate of this bug. ***
Comment 6 Cosimo Cecchi 2009-10-10 14:00:31 UTC
*** Bug 588548 has been marked as a duplicate of this bug. ***