I believe I've found why this happens.  Or at least, one way it *could*
happen.  With a very similar stacktrace.

While a GtkUIManager is updating its dynamic elements, and it destroys a
menu item, any signal handlers for that destruction might further modify
the UIManager.  And the current code is poorly equipped to handle the
node structure changing out from under it while it is in update_node.

See attached test program.  It triggers two similar bugs: (1) deleting
the next sibling in the destruction handler and (2) deleting the parent
node in the destruction handler.

I haven't confirmed that either of these issues is this same exact crash
in nautilus yet.  But it sounds reasonable, and has a similar
stacktrace.

Run the program like so:
valac --pkg gtk+-3.0 test.vala && G_SLICE=debug-blocks ./test

The first bug you hit will be the sibling one.  Unless you comment out
that function call in the test, you won't ever get to the parent bug
because you'll keep crashing.

** Attachment added: "test.vala"
   
https://bugs.launchpad.net/ubuntu/+source/nautilus/+bug/1053862/+attachment/3399119/+files/test.vala

** Bug watch added: GNOME Bug Tracker #686174
   https://bugzilla.gnome.org/show_bug.cgi?id=686174

** Also affects: nautilus via
   https://bugzilla.gnome.org/show_bug.cgi?id=686174
   Importance: Unknown
       Status: Unknown

** Project changed: nautilus => gtk

** Package changed: nautilus (Ubuntu Quantal) => gtk+3.0 (Ubuntu
Quantal)

-- 
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/1053862

Title:
  nautilus crashed with SIGSEGV in g_list_foreach()

Status in GTK+ GUI Toolkit:
  Unknown
Status in “gtk+3.0” package in Ubuntu:
  Confirmed
Status in “gtk+3.0” source package in Quantal:
  Confirmed

Bug description:
  Was using machine have browser open and terminal plus thunderbird, alt
  tabbing between things, nothing heavy running and the crash report
  appeared.

  ProblemType: Crash
  DistroRelease: Ubuntu 12.10
  Package: nautilus 1:3.5.90.really.3.4.2-0ubuntu2
  ProcVersionSignature: Ubuntu 3.5.0-15.22-generic 3.5.4
  Uname: Linux 3.5.0-15-generic x86_64
  ApportVersion: 2.5.2-0ubuntu4
  Architecture: amd64
  Date: Fri Sep 21 08:31:26 2012
  ExecutablePath: /usr/bin/nautilus
  GsettingsChanges: b'org.gnome.nautilus.window-state' b'geometry' 
b"'658x716+706+24'"
  InstallationMedia: Ubuntu 11.10 "Oneiric Ocelot" - Release amd64 (20111012)
  ProcCmdline: nautilus -n
  SegvAnalysis:
   Segfault happened at: 0x7fe7f0885ba0 <g_list_foreach+16>:    mov    
0x8(%rdi),%rbx
   PC (0x7fe7f0885ba0) ok
   source "0x8(%rdi)" (0x005f6574) not located in a known VMA region (needed 
readable region)!
   destination "%rbx" ok
  SegvReason: reading unknown VMA
  Signal: 11
  SourcePackage: nautilus
  StacktraceTop:
   g_list_foreach () from /lib/x86_64-linux-gnu/libglib-2.0.so.0
   g_list_free_full () from /lib/x86_64-linux-gnu/libglib-2.0.so.0
   ?? () from /usr/lib/x86_64-linux-gnu/libgtk-3.so.0
   ?? () from /usr/lib/x86_64-linux-gnu/libgtk-3.so.0
   ?? () from /usr/lib/x86_64-linux-gnu/libgtk-3.so.0
  Title: nautilus crashed with SIGSEGV in g_list_foreach()
  UpgradeStatus: Upgraded to quantal on 2012-09-08 (12 days ago)
  UserGroups: adm admin cdrom dialout lpadmin plugdev sambashare

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

-- 
Mailing list: https://launchpad.net/~desktop-packages
Post to     : [email protected]
Unsubscribe : https://launchpad.net/~desktop-packages
More help   : https://help.launchpad.net/ListHelp

Reply via email to