Middle Earth

offer tube error caused by conary

It turns out that I wasted a lot of time on this, even it’s the second time the problem occurred…

The ’Offer’ operation (to offer a DBusTube to a contact) fails,

ERROR:dbus.connection:Unable to set arguments ({},) according to signature None: : Unable to guess signature from an empty dict
Traceback (most recent call last):
  File “./caller.py”, line 159, in _connection_added_cb
    offer_tube(connection, handle, self.TUBE_SERVICE)
  File “./caller.py”, line 272, in offer_tube
    address = chan[CHANNEL_TYPE_DBUS_TUBE].Offer({})
  File “/usr/lib64/python2.6/site-packages/dbus/proxies.py”, line 140, in __call__
    **keywords)
  File “/usr/lib/python2.6/site-packages/dbus/connection.py”, line 620, in call_blocking
    message.append(signature=signature, *args)
ValueError: Unable to guess signature from an empty dict

I don’t understand the problem at the moment, but the cause of it is,

$ conary q telepathy-glib –troves
telepathy-glib=/jesse.rpath.org@fl:2-devel/0.7.30-1-1[~!builddocs]
  telepathy-glib:doc=0.7.30-1-1[~!builddocs]
  telepathy-glib:lib=0.7.30-1-1[~!builddocs]
telepathy-glib=/foresight.rpath.org@fl:devel//2/0.7.25-0.1-2[~!builddocs]
  telepathy-glib:devel=0.7.25-0.1-2[~!builddocs]
  telepathy-glib:devellib=0.7.25-0.1-2[~!builddocs]

I.e., the packages are messed up. Maybe some problem with my configuration of conary (e.g. :devel and :devellib troves are not updated together with :doc and :lib).

[Update]: The problem is not solved after “conary update -telepathy-glib:{devel,devellib} telepathy-glib:{devel,devellib}=/jesse.rpath.org@fl:2-devel”. I had to update telepathy-gabble as well, from 0.7.26 to 0.7.27.

Wrote this down for future references…

Archived comments

Jesse
@zodman, yeah yeah my fault :P

The problem is that, I can’t easily see the cause from the error message I got. So I just written this down, fwiw :)
zodman
you mix version from fl and your repo thats the problem!!!
Jesse
Yes, it's probably telepathy-gabble. The problem wasn't fixed until I updated it from 0.7.26 -> 0.7.27.

But days ago it was all OK, maybe those versions of tp-gabble and tp-glib don't work well together?

(I am happy to the un-drafting of the tube spec, you guys are doing a great work :)
resiak
It’ll be because we keep changing the DBusTube API, because it’s unstable. telepathy-glib knows nothing about C.T.DBusTube or C.T.StreamTube yet, as a result; but the (DRAFT) API implemented in Gabble has changed a few times, so probably your version of Gabble and the spec don’t match up.

We think the API is pretty much ready for undrafting, although we did, erm, change the signatures of Offer and Accept yesterday. :)

Comments