ubuntuone-login crashed with ValueError in call_async(): Unable to guess signature from an empty dict

Bug #711162 reported by Id2ndR on 2011-02-01
This bug affects 112 people
Affects Status Importance Assigned to Milestone
Ubuntu One Client
Status tracked in Trunk
dbus-python (Ubuntu)
ubuntuone-client (Ubuntu)

Bug Description

This error happens because Ubuntu SSO cannot be contacted by ubuntuone-login process. Eventually the latter gives up and throws a DBus error.

If you are experiencing this issue please check whether you have a custom python installation used by default:

which python

Expected output: /usr/bin/python

If you have e.g. another python binary in /usr/local/bin and `which python` shows it then ubuntu-sso-client will fail to start leading to this issue.

If you don't have another python installation please leave a comment with the output of:

/usr/lib/ubuntu-sso-client/ubuntu-sso-login-qt --app_name test

Related branches

Id2ndR (id2ndr) wrote :
tags: removed: need-duplicate-check
tags: added: bugpattern-needed
Sebastien Bacher (seb128) wrote :

setting to high since it seems quite some users run into it

Changed in ubuntuone-client (Ubuntu):
assignee: nobody → Ubuntu One Desktop+ team (ubuntuone-desktop+)
visibility: private → public
Changed in ubuntuone-client (Ubuntu):
importance: Undecided → High
igi (igor-cali) on 2011-04-05
tags: added: i386

Get a UbuntOne crash at each and every login since upgrading Maverick => Natty beta.

Happens on all 3 different machines out of 3 machines on which I have tried.

dobey (dobey) wrote :

The traceback appears to be entirely inside dbus-python so moving to there.

affects: ubuntuone-client (Ubuntu) → dbus-python (Ubuntu)
Changed in dbus-python (Ubuntu):
assignee: Ubuntu One Desktop+ team (ubuntuone-desktop+) → nobody

I tried to use Ubuntu One, suddenly the error appeared.

matti salminen (salmiset) wrote :

This seems to be back as it occurred right after upgrading to 11.10Alpha of July 10.

Changed in dbus-python (Ubuntu):
status: New → Confirmed
tags: removed: bugpattern-needed
tags: added: bugpattern-written
riddle (riddlepl) wrote :

11.10 beta. I get this error during logining in.

Baskak (antoni-beksiak) wrote :

while attempting to register tomboy for sync

martin (nurspam) wrote :

I get this bug with 12.04 right after login.

psypher (psypher246) wrote :

I just updated 12.04 and UbuntuOne crashed on login to the desktop and brought me here. This is regression, U1 has been working fine on precise so far. Also cannot log in to U1 client: red writing on the client states: "There was a problem while retrieving the crede" and then cuts off. Unable run u1sdtool to stop and start the daemon. Going to log a separate bug about that issue.

So U1 is completely dead

vikash (vika.sh) wrote :

I got the same bug on login - after today's upgrade.

Nest (nestor15) wrote :

Still occurs.

psypher (psypher246) wrote :

Ditto, new U1 client now states "File Sync error. (auth failed (AUTH_FAILED))

My user details are present and I have not changed my password

psypher (psypher246) on 2012-03-14
affects: dbus-python (Ubuntu) → ubuntuone-client (Ubuntu)
psypher (psypher246) wrote :

no one has been attending to this as it was marked incorrectly. Changed to ubuntuone

dobey (dobey) wrote :

psypher, what makes you think this was marked incorrectly? The traceback from the original report is all entirely in dbus-python. And your error does not sound at all anything like this. Why did you move it back to u1-client?

Thomas Kluyver (takluyver) wrote :

Marked as affecting both packages until someone works out for certain which is at fault.

I've also seen it at login on a freshly updated 12.04 system (upgraded from 11.10).

Thomas Kluyver (takluyver) wrote :

This is the error details I get when trying to start the U1 client. It's similar, but note that this traceback *does* go through ubuntuone-client.

DBusException(dbus.String(u'Traceback (most recent call last):\n File "/usr/lib/python2.7/dist-packages/dbus/service.py", line 707, in _message_cb\n retval = candidate_method(self, *args, **keywords)\n File "/usr/lib/python2.7/dist-packages/ubuntuone-client/ubuntuone/platform/credentials/linux.py", line 172, in find_credentials\n reply_handler=reply_handler, error_handler=error_handler)\n File "/usr/lib/python2.7/dist-packages/dbus/proxies.py", line 137, in __call__\n **keywords)\n File "/usr/lib/python2.7/dist-packages/dbus/connection.py", line 584, in call_async\n message.append(signature=signature, *args)\nValueError: Unable to guess signature from an empty dict\n'),)

Here's the u1 frame pulled out:

  File "/usr/lib/python2.7/dist-packages/ubuntuone-client/ubuntuone/platform/credentials/linux.py", line 172, in find_credentials
    reply_handler=reply_handler, error_handler=error_handler)

Launchpad Janitor (janitor) wrote :

Status changed to 'Confirmed' because the bug affects multiple users.

Changed in dbus-python (Ubuntu):
status: New → Confirmed
psypher (psypher246) wrote :

@Rodney, I was told by the guys one the IRC channel that it was marked incorrectly as dbus and hence no-one from u1 saw it and wasn't working on it

Changed in dbus-python (Ubuntu):
status: Confirmed → Opinion
dobey (dobey) wrote :

Zakaria, can you please explain why you changed this from Confirmed to Opinion in dbus-python?

samuel (sam-ventimiglia) wrote :


dobey (dobey) on 2012-04-29
Changed in dbus-python (Ubuntu):
status: Opinion → Confirmed
James Henstridge (jamesh) wrote :

Presumably this happens if dbus-python doesn't manage to introspect the credentials interface, so it doesn't know how to marshal the empty dictionary.

I'm not sure why this would happen for some people and not others, but we could probably work around it by passing dbus.Dictionary({}, signature='ss') to find_credentials() instead (or whatever the signature is meant to be).


any update on a fix for this bug?



Marty Ballard (marty331) wrote :

Adding ubuntuone-ubuntu-syncdaemon-diag.sh results as requested.

Marty Ballard (marty331) wrote :

As instructed I ran:
/usr/lib/ubuntu-sso-client/ubuntu-sso-login-qt --app_name Test

And this produced the following output:

Traceback (most recent call last):
  File "/usr/lib/ubuntu-sso-client/ubuntu-sso-login-qt", line 40, in <module>
    from ubuntu_sso.qt.main import main
ImportError: No module named ubuntu_sso.qt.main

Changed in dbus-python (Ubuntu):
importance: Undecided → Medium
Marty Ballard (marty331) wrote :

Was asked to run three commands, output is attached.

Roman Yepishev (rye) wrote :

Those who experience this issue - do you happen to have a custom Python installation?

What is the output of `which python` ?

Roman Yepishev (rye) wrote :

A follow up to the previous message.

In case you do have a custom Python installation then this is what breaks ubuntu-sso-client since the packaged version uses /usr/bin/env python which in turn causes your custom interpreter to be started which may not know about ubuntuone modules at all. The task to switch to /usr/bin/python interpreter for various Ubuntu One-related applications is LP:984089.

The comment in #25 is an example of custom python installations that gets used by default.

Roman Yepishev (rye) on 2012-06-07
description: updated
Launchpad Janitor (janitor) wrote :

This bug was fixed in the package ubuntuone-client - 3.99.0-0ubuntu1

ubuntuone-client (3.99.0-0ubuntu1) quantal; urgency=low

  * New upstream release.
    - Use dbus.Dictionary to pass empty dicts. (LP: #711162)
    - Ignore IN_CLOSE_WRITE for directories. (LP: #872894)
    - Validate SSL certificates better. (LP: #882062, LP: #1014654)
    - Ignore .goutputstream temporary flies. (LP: #1012620)
    - Handle failures better in share creation. (LP: #1013180)
    - Re-upload files when server reports empty hash. (LP: #1013401)
  * debian/control:
    - Update some build dependencies in preparation for testing during builds,
      and to allow building on older supported versions of Ubuntu.
  * debian/watch:
    - Update to use stable-4-0 series for Quantal releases.
 -- Rodney Dawes <email address hidden> Tue, 19 Jun 2012 16:58:05 -0400

Changed in ubuntuone-client (Ubuntu Quantal):
status: Confirmed → Fix Released

Hello Id2ndR, or anyone else affected,

Accepted ubuntuone-client into precise-proposed. The package will build now and be available at http://launchpad.net/ubuntu/+source/ubuntuone-client/3.0.2-0ubuntu1 in a few hours, and then in the -proposed repository.

Please help us by testing this new package. See https://wiki.ubuntu.com/Testing/EnableProposed for documentation how to enable and use -proposed. Your feedback will aid us getting this update out to other Ubuntu users.

If this package fixes the bug for you, please change the bug tag from verification-needed to verification-done. If it does not, change the tag to verification-failed. In either case, details of your testing will help us make a better decision.

Further information regarding the verification process can be found at https://wiki.ubuntu.com/QATeam/PerformingSRUVerification . Thank you in advance!

Changed in ubuntuone-client (Ubuntu Precise):
status: New → Fix Committed
tags: added: verification-needed
dobey (dobey) on 2012-07-23
tags: added: verification-done
removed: verification-needed
Launchpad Janitor (janitor) wrote :

This bug was fixed in the package ubuntuone-client - 3.0.2-0ubuntu1

ubuntuone-client (3.0.2-0ubuntu1) precise-proposed; urgency=low

  * New upstream release. (LP: #1018991)
    - Wrap empty dicts with dbus.Dictionary. (LP: #711162)
    - Ignore IN_CLOSE_WRITE for directories. (LP: #872894)
    - Ignore .goutputstream temporary flies. (LP: #1012620)
    - Handle failures better in share creation. (LP: #1013180)
  * debian/copyright:
    - Remove comma in list of files for dep5 copyright format.
  * 00_bzr1259_lp1013401_reupload.patch:
    - Re-upload files when server reports empty hash. (LP: #1013401)
  * debian/patches:
    - Remove upstreamed patches.
 -- Rodney Dawes <email address hidden> Mon, 09 Jul 2012 15:46:44 -0400

Changed in ubuntuone-client (Ubuntu Precise):
status: Fix Committed → Fix Released
ALONSO (rogerio-alonso) on 2012-09-21
security vulnerability: no → yes
visibility: public → private
dobey (dobey) on 2012-09-21
security vulnerability: yes → no
visibility: private → public
Barry Warsaw (barry) wrote :

I removed the dbus-python bug task because this is a deliberate decision in dbus-python, not a bug. Specifically, this comment in message-append.c sheds some light:

            /* No items, so fail. Or should we guess "a{vv}"? */

I actually think dbus-python is probably doing the right thing by refusing to guess the signature of an empty dictionary. It's probably a bug that the documentation doesn't describe this, and I will file such a documentation bug upstream.

no longer affects: dbus-python (Ubuntu)
Barry Warsaw (barry) on 2012-10-08
Changed in dbus-python (Ubuntu Precise):
status: New → Invalid
Changed in dbus-python (Ubuntu Quantal):
status: Confirmed → Invalid
Agus (aguz-sandband) on 2013-03-24
Changed in ubuntuone-client (Ubuntu):
assignee: nobody → Agus (aguz-sandband)
dobey (dobey) on 2013-03-24
Changed in ubuntuone-client (Ubuntu):
assignee: Agus (aguz-sandband) → nobody

How do I fix this?

DBusException(dbus.String(u'Process /usr/lib/ubuntu-sso-client/ubuntu-sso-login exited with status 1'),)

To post a comment you must log in.