nautilus quits when deleting a folder in the left side treeview

Bug #845408 reported by I Craft Crafts on 2011-09-09
58
This bug affects 8 people
Affects Status Importance Assigned to Milestone
Nautilus
Fix Released
Critical
nautilus (Ubuntu)
High
Unassigned
Oneiric
High
Unassigned

Bug Description

Steps to reproduce it:

1- Open a nautilus folder
2- Change the Sidebar view to Tree.
3- Delete a directory on that Tree.

ProblemType: CrashDistroRelease: Ubuntu 11.10
Package: nautilus 1:3.1.90-0ubuntu2
ProcVersionSignature: Ubuntu 3.0.0-10.16-generic 3.0.4
Uname: Linux 3.0.0-10-generic i686
NonfreeKernelModules: wl
ApportVersion: 1.22.1-0ubuntu2
Architecture: i386
AssertionMessage: *** glibc detected *** nautilus: free(): invalid pointer: 0x08aa2290 ***
CrashCounter: 1
Date: Fri Sep 9 09:34:45 2011
ExecutablePath: /usr/bin/nautilus
InstallationMedia: Ubuntu 11.10 "Oneiric Ocelot" - Beta i386 (20110901)
ProcCmdline: nautilus
ProcEnviron:
 LANGUAGE=en_ZA:en
 PATH=(custom, no User Name)
 LANG=en_ZA.UTF-8
 SHELL=/bin/bash
Signal: 6SourcePackage: nautilus
StacktraceTop:
 __kernel_vsyscall ()
 raise () from /lib/i386-linux-gnu/libc.so.6
 abort () from /lib/i386-linux-gnu/libc.so.6
 ?? () from /lib/i386-linux-gnu/libc.so.6
 ?? () from /lib/i386-linux-gnu/libc.so.6
Title: nautilus assert failure: *** glibc detected *** nautilus: free(): invalid pointer: 0x08aa2290 ***
UpgradeStatus: No upgrade log present (probably fresh install)
UserGroups: adm admin cdrom dialout lpadmin plugdev sambashare

I Craft Crafts (icraftcrafts) wrote :
Pedro Villavicencio (pedro) wrote :

Thank you taking the time to report this bug and helping to make Ubuntu better. However, processing the crash report to get detailed information for the developers failed as the retracer did not generate a useful symbolic stack trace.
Please try to obtain a backtrace manually following the instructions at http://wiki.ubuntu.com/DebuggingProgramCrash and upload the backtrace (as an attachment) to the bug report. This will greatly help us in tracking down your problem.

Changed in nautilus (Ubuntu):
importance: Undecided → Medium
status: New → Incomplete
summary: whenever i delete a folder in left pane of nautilus, nautilus crashes.
- this has been an issue since 11.10 alpha editions. PRETTY SERIOUS

nautilus assert failure: *** glibc detected *** nautilus: free(): invalid pointer: 0x0a07b5d0 ***, here.

Pedro Villavicencio (pedro) wrote :

we still need the backtrace.

Confirmed, it happens in treeview mode when trying to delete a directory

Changed in nautilus (Ubuntu):
status: Incomplete → Confirmed
summary: - whenever i delete a folder in left pane of nautilus, nautilus crashes.
+ nautilus segfaults when deleting a folder in the left side treeview
summary: - nautilus segfaults when deleting a folder in the left side treeview
+ nautilus quits when deleting a folder in the left side treeview
Pedro Villavicencio (pedro) wrote :

Thank you for your bug report. This bug has been reported to the developers of the software. You can track it and make comments at:
https://bugzilla.gnome.org/show_bug.cgi?id=660906

description: updated
Changed in nautilus (Ubuntu Oneiric):
status: Confirmed → Triaged
Changed in nautilus:
importance: Undecided → Unknown
status: New → Unknown
Changed in nautilus:
importance: Unknown → Critical
status: Unknown → New

double free occurs in
src/nautilus-tree-sidebar.c: 1015

static void
fm_tree_view_trash_cb (GtkWidget *menu_item,
           FMTreeView *view)
{
  GList *list;

  if (!nautilus_file_can_trash (view->details->popup_file)) {
    return;
  }

  list = g_list_prepend (NULL,
             nautilus_file_get_location (view->details->popup_file));

  nautilus_file_operations_trash_or_delete (list,
              fm_tree_view_get_containing_window (view),
              NULL, NULL);
  g_list_free_full (list, g_free);
}

The final call to g_list_free_full (list, g_free) causes the problem. Just for more informations sake, using g_object_unref instead of gfree avoids the crash, as does not calling g_list_free_full at all and so not double freeing. But someone with actual gobject memory management knowledge will need to look for the real problem, personally I thought g_free was supposed to handle this safely.

Changed in nautilus:
status: New → Fix Released
Sebastien Bacher (seb128) wrote :
Changed in nautilus (Ubuntu Oneiric):
status: Triaged → Fix Committed
Changed in nautilus (Ubuntu):
status: Triaged → Fix Committed
Changed in nautilus (Ubuntu Oneiric):
status: Fix Committed → Triaged
Changed in nautilus (Ubuntu):
importance: Medium → High
Changed in nautilus (Ubuntu Oneiric):
importance: Medium → High

Hello shaheem, or anyone else affected,

Accepted nautilus into oneiric-proposed, the package will build now and be available in a few hours. Please test and give feedback here. See https://wiki.ubuntu.com/Testing/EnableProposed for documentation how to enable and use -proposed. Thank you in advance!

Changed in nautilus (Ubuntu Oneiric):
status: Triaged → Fix Committed
tags: added: verification-needed
Miklos Juhasz (mjuhasz) wrote :

The proposed version resolves this bug.
I can delete folders from the tree view.

tags: added: verification-done
removed: verification-needed
Launchpad Janitor (janitor) wrote :

This bug was fixed in the package nautilus - 1:3.2.1-0ubuntu1

---------------
nautilus (1:3.2.1-0ubuntu1) oneiric-proposed; urgency=low

  * New upstream release:
    - Consolidate typeahead find entry for icon view (LP: #857710)
    - Fix a crasher when middle-clicking empty space in the places sidebar
    - Fix a crasher when trying to delete files from the tree sidebar
      (LP: #830185, #845408)
    - Fix a crasher when ejecting a removable device under some circumstances
    - Fix a crasher when trying to activate the previewer in a list view
      with no selection
    - Fix a crasher when symbolic icon theme is not available
    - Plug some memory leaks
    - Fix the build when Tracker FTS is enabled
  * Remove some cherry-picked patches:
    - git_handle_missing_icon.patch, git_gsettings_signals.patch,
      git_no_typeahead_timeout_segfault.patch,
      git_dont_preview_empty_selection.patch, git_correct_signal_handling.patch
      git_no_signal_order_assert.patch, git_slot_closing.patch,
      git_close_pane_cleaning.patch
 -- Didier Roche <email address hidden> Tue, 18 Oct 2011 09:52:20 +0200

Changed in nautilus (Ubuntu):
status: Fix Committed → Fix Released
Changed in nautilus (Ubuntu Oneiric):
status: Fix Committed → Fix Released
To post a comment you must log in.
This report contains Public information  Edit
Everyone can see this information.

Duplicates of this bug

Other bug subscribers

Remote bug watches

Bug watches keep track of this bug in other bug trackers.