On Sun, 07 May 2023 at 03:11:12 -0400, Andres Salomon wrote:
> 7. Dbus (not gnome-keyring) responds back with a DBus.Error.UnknownMethod:
> Object does not exist at path "/org/freedesktop/secrets/collection/login"

The message bus (dbus-daemon or dbus-broker) does not know whether
gnome-keyring implements a particular object-path or not. All it does
with these messages is to forward messages from Chromium to gnome-keyring,
and forward the replies back to Chromium.

The typical source of an "object does not exist" error is this:

- the service (in this case gnome-keyring) has told its D-Bus library
  implementation (usually dbus' libdbus, GLib's GDBus or systemd's sd-bus)
  that it wants to export some list of objects
- the service has *not* told its D-Bus library implementation what it wants
  to export at /org/freedesktop/secrets/collection/login; or maybe it has
  exported an object at that path and then unexported it again
- the D-Bus library implementation receives the message from Chromium,
  looks up the destination object, doesn't find one, and replies "object
  does not exist" on behalf of the service

In this case, the message "Object does not exist at path ā€œ%sā€"
is part of GLib's GDBus code, which is reasonably strong evidence that
gnome-keyring is using GDBus; but it's gnome-keyring that is responsible
for telling GDBus to export whatever objects it intends to have in its
API, because GDBus has no other way to know what API gnome-keyring was
meant to have.

    smcv

Reply via email to