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 534226 - Crash in nautilus-icon-dnd.c on bad pixmap
Crash in nautilus-icon-dnd.c on bad pixmap
Status: RESOLVED FIXED
Product: nautilus
Classification: Core
Component: general
2.22.x
Other Linux
: Normal critical
: ---
Assigned To: A. Walton
Nautilus Maintainers
Depends on:
Blocks:
 
 
Reported: 2008-05-21 17:38 UTC by A. Walton
Modified: 2008-05-27 23:56 UTC
See Also:
GNOME target: ---
GNOME version: 2.21/2.22


Attachments
simple fix (471 bytes, patch)
2008-05-21 17:39 UTC, A. Walton
committed Details | Review

Description A. Walton 2008-05-21 17:38:11 UTC
Reported here: https://bugs.edge.launchpad.net/ubuntu/+source/nautilus/+bug/232522
"Using Ubuntu Hardy 8.04 with Nautilus 1:2.22.2-0ubuntu6 pressing LMB (Left mouse button) and quickly afterwards RMB (Right mouse button) on a directory causes a Nautilus Segmentation fault and a system hang, only CTRL+ALT+Backspace lets me get out of it. The mouse pointer changes to the hand with a plus sign (indicating that Nautilus wants to copy something) when the hang occurs. The expected behavior would be that the directory is opened."

Program received signal SIGSEGV, Segmentation fault.

Thread 139651981596576 (LWP 6320)

  • #0 cairo_set_operator
    from /usr/lib/libcairo.so.2
  • #1 drag_begin_callback
    at nautilus-icon-dnd.c line 1469
  • #2 g_closure_invoke
    from /usr/lib/libgobject-2.0.so.0
  • #3 ??
    from /usr/lib/libgobject-2.0.so.0
  • #4 g_signal_emit_valist
    from /usr/lib/libgobject-2.0.so.0
  • #5 g_signal_emit_by_name
    from /usr/lib/libgobject-2.0.so.0
  • #6 ??
    from /usr/lib/libgtk-x11-2.0.so.0
  • #7 motion_notify_event
    at nautilus-icon-container.c line 3752
  • #8 ??
    from /usr/lib/libgtk-x11-2.0.so.0
  • #9 g_closure_invoke
    from /usr/lib/libgobject-2.0.so.0
  • #10 ??
    from /usr/lib/libgobject-2.0.so.0
  • #11 g_signal_emit_valist
    from /usr/lib/libgobject-2.0.so.0
  • #12 g_signal_emit
    from /usr/lib/libgobject-2.0.so.0
  • #13 ??
    from /usr/lib/libgtk-x11-2.0.so.0
  • #14 gtk_propagate_event
    from /usr/lib/libgtk-x11-2.0.so.0
  • #15 gtk_main_do_event
    from /usr/lib/libgtk-x11-2.0.so.0
  • #16 ??
    from /usr/lib/libgdk-x11-2.0.so.0
  • #17 g_main_context_dispatch
    from /usr/lib/libglib-2.0.so.0
  • #18 ??
    from /usr/lib/libglib-2.0.so.0
  • #19 g_main_loop_run
    from /usr/lib/libglib-2.0.so.0
  • #20 gtk_main
    from /usr/lib/libgtk-x11-2.0.so.0
  • #21 main
    at nautilus-main.c line 569

Patch fixing the crash follows
Comment 1 A. Walton 2008-05-21 17:39:39 UTC
Created attachment 111285 [details] [review]
simple fix

Can't create a (valid) cairo context for a NULL pixmap.
Comment 2 Christian Neumair 2008-05-26 11:03:29 UTC
Good catch, please commit the patch!
Comment 3 A. Walton 2008-05-27 23:56:40 UTC
2008-05-27  A. Walton  <awalton@gnome.org>

	* libnautilus-private/nautilus-icon-dnd.c: (drag_begin_callback):
	Don't try to create a Cairo context for a NULL pixmap.
	Fixes bug #534226.

Committed to 2.22 and trunk.