You signed in with another tab or window. Reload to refresh your session.You signed out in another tab or window. Reload to refresh your session.You switched accounts on another tab or window. Reload to refresh your session.Dismiss alert
Running HEY CLI through the Omarchy HEY bar plugin repeatedly causes gnome-keyring-daemon 50.0 to abort while handling a Secret Service OpenSession request.
The daemon has crashed 24 times during the current login session. The crashes
occur around the plugin's periodic refreshes and always have the same assertion
sequence and stack.
This appears related to #165, which notes that concurrent HEY CLI processes
currently probe keyring availability by writing and deleting the shared hey::test item.
The preceding assertions show that GNOME Keyring no longer had a registered
client when HEY's Secret Service session negotiation ran. Session negotiation
returned without setting output or result, after which the generated D-Bus
completion code attempted to construct a variant from the null values and GLib
aborted.
There was no OOM event and approximately 21 GiB of memory remained available.
Expected behavior
Concurrent HEY CLI processes should not race during keyring availability checks
or cause overlapping Secret Service client setup/teardown. Read-only HEY
operations should not mutate a shared keyring probe entry.
A keyring backend failure should fall back cleanly without destabilizing the
desktop keyring daemon.
Workaround
Running HEY with:
HEY_NO_KEYRING=1 hey ...
avoids Secret Service and uses:
~/.config/hey-cli/credentials.json
This prevents HEY from exercising the crashing path, at the cost of storing its
credentials in a mode-0600 plaintext file.
Description
Running HEY CLI through the Omarchy HEY bar plugin repeatedly causes
gnome-keyring-daemon50.0 to abort while handling a Secret ServiceOpenSessionrequest.The daemon has crashed 24 times during the current login session. The crashes
occur around the plugin's periodic refreshes and always have the same assertion
sequence and stack.
This appears related to #165, which notes that concurrent HEY CLI processes
currently probe keyring availability by writing and deleting the shared
hey::testitem.Environment
58c83f1e62f7542af04fbac343711f7fd643b576gnome-keyring:1:50.0-12.88.3-1basecamp/omarchy-hey-plugingithub.com/zalando/go-keyring v0.2.8The Omarchy plugin runs a long-lived
hey watchprocess and short-lived commandssuch as account, Imbox, Screener and authentication-status reads.
Observed behavior
gnome-keyring-daemonlogs:It then exits with
SIGABRT. Systemd restarts it automatically.There were 24 identical crashes during one login session. Several occurred close
together, including:
Later crashes continued with the same signature.
Symbolized backtrace
The important frames are:
The preceding assertions show that GNOME Keyring no longer had a registered
client when HEY's Secret Service session negotiation ran. Session negotiation
returned without setting
outputorresult, after which the generated D-Buscompletion code attempted to construct a variant from the null values and GLib
aborted.
There was no OOM event and approximately 21 GiB of memory remained available.
Expected behavior
Concurrent HEY CLI processes should not race during keyring availability checks
or cause overlapping Secret Service client setup/teardown. Read-only HEY
operations should not mutate a shared keyring probe entry.
A keyring backend failure should fall back cleanly without destabilizing the
desktop keyring daemon.
Workaround
Running HEY with:
avoids Secret Service and uses:
This prevents HEY from exercising the crashing path, at the cost of storing its
credentials in a mode-0600 plaintext file.
Possible fix
PR #165 looks directly relevant:
hey::testavailability probe with aread-only lookup.
concurrent CLI startup.
It may also be worth adding a concurrency regression test that starts several
credential-store instances simultaneously on Linux.
Related
write/delete probe appears to be the trigger in this environment.