GNU bug report logs - #9581
24.0.50; dbus-unregister-object fails if service is nil

Previous Next

Package: emacs;

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

From: Julien Danjou <julien <at> danjou.info>
To: Michael Albinus <michael.albinus <at> gmx.de>
Cc: 9581 <at> debbugs.gnu.org
Subject: bug#9581: 24.0.50; dbus-unregister-object fails if service is nil
Date: Sun, 25 Sep 2011 13:38:21 +0200
[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.