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 Ubuntu
Desktop Bugs, which is subscribed to nautilus in Ubuntu.
https://bugs.launchpad.net/bugs/908787

Title:
  nautilus crashed with SIGSEGV in g_str_hash()

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

-- 
desktop-bugs mailing list
desktop-bugs@lists.ubuntu.com
https://lists.ubuntu.com/mailman/listinfo/desktop-bugs

Reply via email to