Hello Debian GNOME maintainers, I now have a deterministic, isolated source-level reproducer and a successful before/after comparison for the GNOME gnome-keyring OpenSession missing-client abort described in upstream MR !112:
https://gitlab.gnome.org/GNOME/gnome-keyring/-/merge_requests/112 Environment: clean Ubuntu 26.10 Docker container, unprivileged test user, private HOME/XDG_RUNTIME_DIR and dbus-run-session, official gnome-keyring 51.1 source tarball SHA256 dfe7adc5876ef0670e7eba2907799bdbb8875ce58bb4208e1a52169bd16a47ca. Fault injection (TEST-ONLY, not for production patch): In service_method_open_session(), immediately after caller = g_dbus_method_invocation_get_sender (invocation); I inserted: g_hash_table_remove (self->clients, caller); This deliberately forces the exact missing-client state while leaving the incoming D-Bus call intact. The probe starts the built daemon on a *private* session bus and calls org.freedesktop.Secret.Service.OpenSession("plain", variant("")) using gdbus. No stored credentials or user keyrings are mounted. BEFORE, official 51.1 source + test-only fault injection: OpenSession CALL_RC=1 gdbus: org.freedesktop.DBus.Error.NoReply daemon: terminated (SIGABRT) stderr: gkd_secret_service_get_pkcs11_session: assertion 'client' failed plain_negotiate: assertion 'session' failed gkd_secret_service_publish_dispatch: assertion 'client' failed GLib: g_variant_new: expected GVariant of type 'v' but received value has type '(null)' AFTER, identical fault injection + reconstructed five functional edits from upstream MR !112: OpenSession CALL_RC=0 daemon still alive returned (<''>, objectpath '/org/freedesktop/secrets/session/s1') no corresponding critical error. In a separate independent Ubuntu 26.10 build, the five-site MR !112 reconstruction compiled and passed all 61/61 Meson tests as an unprivileged user. Neither test touched the production host's secret store or modified its gnome-keyring daemon. Caveats: this is deterministic *fault injection* reproducing the missing-client condition, not proof that a naturally scheduled D-Bus race was triggered. The candidate was reconstructed from MR !112 diff, not installed from its exact Git commit. This addresses the OpenSession abort path and should not be confused with the separate property-GET issue associated with Debian #1147303. Please review/forward this evidence to the appropriate GNOME upstream MR discussion and consider bringing the completed MR into the Debian/Ubuntu packages after upstream acceptance. Regards, Alexander Stepanov

