← Back to team overview

desktop-packages team mailing list archive

[Bug 845408] Re: nautilus quits when deleting a folder in the left side treeview

 

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.

-- 
You received this bug notification because you are a member of Desktop
Packages, which is subscribed to nautilus in Ubuntu.
https://bugs.launchpad.net/bugs/845408

Title:
  nautilus quits when deleting a folder in the left side treeview

Status in Nautilus:
  New
Status in “nautilus” package in Ubuntu:
  Triaged
Status in “nautilus” source package in Oneiric:
  Triaged

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

To manage notifications about this bug go to:
https://bugs.launchpad.net/nautilus/+bug/845408/+subscriptions


References