GNU bug report logs -
#9581
24.0.50; dbus-unregister-object fails if service is nil
Previous Next
Reported by: Julien Danjou <julien <at> danjou.info>
Date: Thu, 22 Sep 2011 23:02:01 UTC
Severity: normal
Found in version 24.0.50
Done: Michael Albinus <michael.albinus <at> gmx.de>
Bug is archived. No further changes may be made.
Full log
View this message in rfc822 format
[Message part 1 (text/plain, inline)]
On Sat, Sep 24 2011, Michael Albinus wrote:
>> The patch is not enough. It fixes the precise case I reported, but this
>> fails now:
>>
>> (setq db
>> (dbus-register-signal :session "some.service"
>> "/org/gtk/Private/RemoteVolumeMonitor"
>> "org.gtk.Private.RemoteVolumeMonitor" "VolumeAdded"
>> 'identity))
>> (dbus-unregister-object db)
>
> I've played exactly this example (replacing "some.service" by
> "org.gtk.Private.GduVolumeMonitor" in order to have an existing
> service). No problem.
Indeed. It works fine with org.gtk.Private.GduVolumeMonitor as service,
but with "some.service" it fails. Why?
>> Debugger entered--Lisp error: (dbus-error "Match rule has a key with no subsequent '=' character")
>> dbus-call-method(:session "org.freedesktop.DBus" "/org/freedesktop/DBus" "org.freedesktop.DBus" "RemoveMatch" "Z")
>
> Where does the "Z" comes from? There will never be such a rule, added by
> AddMatch.
It's not a Z. One of our MUA altered this.
On the first try it's " ^H\330"
On the second try it's "Z^B"
On the third try it's "\300#\264"
…
(I register then unregister to make a try)
> Did you compile also dbusbind.c before testing?
Oh yes I'm sure of that. :)
> Could you apply (dbus-list-hash-table) before calling
> `dbus-unregister-object', and show the result?
Yeah. I start emacs-snapshot, then register then call
`dbus-list-hash-table', it messages:
(((:session "org.freedesktop.Notifications" "ActionInvoked")
(":1.129"
"org.freedesktop.Notifications" "/org/freedesktop/Notifications"
notifications-on-action-signal
"type='signal',interface='org.freedesktop.Notifications',member='ActionInvoked',sender=':1.129',path='/org/freedesktop/Notifications'"))
((:session "org.freedesktop.Notifications" "NotificationClosed")
(":1.129" "org.freedesktop.Notifications"
"/org/freedesktop/Notifications" notifications-on-closed-signal
"type='signal',interface='org.freedesktop.Notifications',member='NotificationClosed',sender=':1.129',path='/org/freedesktop/Notifications'"))
((:session "org.gtk.Private.RemoteVolumeMonitor" "VolumeAdded")
(""
"some.service" "/org/gtk/Private/RemoteVolumeMonitor" identity
"")))
In case one of our MUA will change the last string on the last line it
shows:
"^A\202^F^B^D^A"
Then I call unregister it yells:
Debugger entered--Lisp error: (dbus-error "Unable to append argument" "\202")
dbus-call-method(:session "org.freedesktop.DBus" "/org/freedesktop/DBus" "org.freedesktop.DBus" "RemoveMatch" "\202")
Where the last string is obviously the same as I talked about above. :)
--
Julien Danjou
[Message part 2 (application/pgp-signature, inline)]
This bug report was last modified 13 years and 240 days ago.
Previous Next
GNU bug tracking system
Copyright (C) 1999 Darren O. Benham,
1997,2003 nCipher Corporation Ltd,
1994-97 Ian Jackson.