← Back to team overview

desktop-packages team mailing list archive

[Bug 908787] Re: nautilus crashed with SIGSEGV in g_str_hash()

 

Found the problem, it is actually caused by ubuntuone-client
(specifically libsyncdaemon). Due to a recent change from bug #859635 ,
the library is registering a dbus message marshaller for VOID__POINTER,
however the type registered is actually VOID__BOXED, which happens to be
the same type as DeviceChanged from UDisks (DBusGObjectPath is a boxed
type). So there is an unnecessary (it is a standard type, and just maps
to g_cclosure_marshal_VOID__POINTER anyway)  and incorrect entry in the
marshal_table of dbus-glib, and we get the error message as above:

GLib-GObject-CRITICAL **: g_value_get_pointer: assertion
`G_VALUE_HOLDS_POINTER (value)' failed

when g_cclosure_marshal_VOID__POINTER is called, and then everything
dies because object_path is NULL.

I think the best fix to this would be to just remove the marshaller
registration in ubuntuone-client/libsyncdaemon/syncdaemon-
authentication.c. (tested a rebuild with it commented out and no crash,
but I don't use ubuntuone so didn't test any of that code, but again, it
should be unnecessary since it just maps to a standard marshaller).

** Also affects: ubuntuone-client (Ubuntu)
   Importance: Undecided
       Status: New

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

Title:
  nautilus crashed with SIGSEGV in g_str_hash()

Status in “nautilus” package in Ubuntu:
  Confirmed
Status in “ubuntuone-client” package in Ubuntu:
  New

Bug description:
  I can see there are old duplicates of this bug title, with upstream
  bugs marked obsolete. Yet, this happened on current Precise. I was
  clicking on a disk icon to have it mounted.

  I was able to reproduce it once by unmounting the disk in the dock,
  then double-clicking on it in a "Computer" window.

  ProblemType: Crash
  DistroRelease: Ubuntu 12.04
  Package: nautilus 1:3.2.1-2ubuntu4
  ProcVersionSignature: Ubuntu 3.2.0-6.12-generic-pae 3.2.0-rc6
  Uname: Linux 3.2.0-6-generic-pae i686
  ApportVersion: 1.90-0ubuntu1
  Architecture: i386
  Date: Mon Dec 26 15:16:34 2011
  ExecutablePath: /usr/bin/nautilus
  InstallationMedia: Ubuntu 12.04 LTS "Precise Pangolin" - Alpha i386 (20111225)
  ProcCmdline: nautilus -n
  ProcEnviron:
   PATH=(custom, no user)
   LANG=en_US.UTF-8
   SHELL=/bin/bash
  SegvAnalysis:
   Segfault happened at: 0xb6ba534a <g_str_hash+10>:	movzbl (%ecx),%edx
   PC (0xb6ba534a) ok
   source "(%ecx)" (0x00000000) not located in a known VMA region (needed readable region)!
   destination "%edx" ok
  SegvReason: reading NULL VMA
  Signal: 11
  SourcePackage: nautilus
  StacktraceTop:
   g_str_hash () from /lib/i386-linux-gnu/libglib-2.0.so.0
   g_hash_table_lookup () from /lib/i386-linux-gnu/libglib-2.0.so.0
   gdu_pool_get_by_object_path () from /usr/lib/i386-linux-gnu/libgdu.so.0
   ?? () from /usr/lib/i386-linux-gnu/libgdu.so.0
   g_cclosure_marshal_VOID__POINTER () from /usr/lib/i386-linux-gnu/libgobject-2.0.so.0
  Title: nautilus crashed with SIGSEGV in g_str_hash()
  UpgradeStatus: No upgrade log present (probably fresh install)
  UserGroups: adm cdrom dip lpadmin plugdev sambashare sudo

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


References