dbus-viewer anomalies

Lennart Poettering mzqohf at 0pointer.de
Wed Aug 3 05:40:54 EST 2005


On Sat, 30.07.05 21:49, Havoc Pennington (hp at redhat.com) wrote:

> >  the function call
> > dbus_g_proxy_call() on line 300 of dbus-viewer.c freezes and never
> > returns. (it doesn't even timeout, as it seems)
> 
> Probably some issue with the dbus-connection.c threading and blocking,
> just needs to be debugged. The backtrace doesn't tell me much but maybe
> the verbose spew would be helpful.

http://0pointer.de/public/dbus-verbose-bt

BTW: If I select another service in the drop down list while the query
on avahi's introspection data is still running, dbus-viewer creates a
new thread for each one without terminating the old one. After startup
they hang in "_dbus_condvar_wait".

I must correct the bug report in my last mail. Sometimes dbus-viewer
hangs completely, sometimes it works fine and sometimes it comes to
life again after a minute or so and shows sensible data. Strange!

> > If the introspection data contains a function returning an object path
> > ("o"), dbus-view never shows anything sensible. I don't know if the
> > problem is related.
> 
> Doubtful. Looking at the code I don't really see why that would break,
> probably some simple screwup.

I cannot reproduce this error anyway, so please ignore it. It was
probably just an instance of the error desribed above.

> > BTW: The introspection DTD shipped with DBUS is rather broken, it
> > judges the introspection data of org.freedesktop.DBus as invalid. I
> > corrected the DTD to match what the DBUS spec says. Please consider
> > merging this into upstream:
> > 
> >     http://0pointer.de/cgi-bin/viewcvs.cgi/*checkout*/trunk/avahi-daemon/introspect.dtd?root=flexmdns
> > 
> > Changes include:
> >         * don't force an order of the elements of a node and of an interface.
> >         * do not require a "name" attribute on nodes. 
> >         * allow multiple arguments and annotations per signal and per property 
> > 
> 
> If nobody sees a problem with it I'll put it in (I don't know much about
> dtds myself)

May I suggest adding a new element to the introsprection XML format?
a "description" or something similar which might contain some human
readable documentation for the interface/method/signal/property? This
could be used by dbus-viewer to enrich the shown function signature
data. 

On python-dbus this element could be filled with data from the
function's documentation string (""").

Yes I know, this could be done with annotations, but cramming this
into the "value" of an annotation would be ugly, I think.

> > And please consider making it available as
> > 
> >     http://www.freedesktop.org/standards/dbus/1.0/introspect.dtd
> > 
> > which is what is advertised in all example introspection XML fragments
> > and in the data from org.freedesktop.DBus.
> 
> Added to the TODO for 1.0. It should be autocopied from CVS, is the
> reason it isn't entirely trivial to post this (though it isn't rocket
> science anyhow).

BTW: the DTD of the bus config file format should be put at a similar
location. It currently advertised as 
  
   http://www.freedesktop.org/standards/dbus/1.0/busconfig.dtd

The only location where it is currently available is here:

   http://dbus.freedesktop.org/doc/busconfig.dtd

Lennart

-- 
Lennart Poettering; lennart [at] poettering [dot] de
ICQ# 11060553; GPG 0x1A015CC4; http://0pointer.de/lennart/


More information about the dbus mailing list