Skip to content

oo7-daemon 0.7.0.beta: panic at startup in Service::connection() (server/src/service/mod.rs:1283, unwrap on None) #581

Description

@perceival

Summary

On every login, oo7-daemon 0.7.0.beta logs a panic in a tokio worker a few milliseconds after startup:

thread 'tokio-rt-worker' (5370) panicked at server/src/service/mod.rs:1283:31:
called `Option::unwrap()` on a `None` value

Line 1283 at tag 0.7.0.beta is Service::connection():

pub fn connection(&self) -> &zbus::Connection {
    self.connection.get().unwrap()
}

so some task spawned during startup calls connection() before the D-Bus connection has been stored.

Timeline (one login, GDM password login via pam_oo7)

09:22:52.457747Z INFO  oo7_daemon: Received login secret from helper
09:22:52.457756Z INFO  oo7_daemon: Starting oo7-daemon
09:22:52.457767Z INFO  oo7_daemon::service: Starting PAM listener
09:22:52.457820Z INFO  oo7_daemon::pam_listener: PAM listener started on /run/user/1000/oo7-pam.sock
         .461316       thread 'tokio-rt-worker' panicked at server/src/service/mod.rs:1283:31  (Option::unwrap() on None)
09:22:52.497205Z INFO  oo7_daemon::service: Unlocked keyring 'login' from ".../keyrings/v1/login.keyring"
09:22:52.497318Z INFO  oo7_daemon::service: Discovered 1 keyring(s), 0 pending migration(s)
09:22:52.497329Z INFO  oo7_daemon::service: Setting up collection 'login' (alias: default).

The panic happens on every boot (seen on 3 consecutive logins). The daemon keeps running and the login keyring still unlocks, so the impact looks limited to whatever the panicking task was supposed to do — but it is reproducible and presumably a startup ordering bug (task spawned before connection is set).

Environment

  • Fedora 45, GNOME (Wayland), GDM password login
  • oo7-daemon-0.7.0~beta-1.fc45, oo7-portal-0.7.0~beta-1.fc45, pam_oo7-0.7.0~beta-1.fc45 (updates-testing)
  • Keyring migrated from gnome-keyring (v1/login.keyring, "0 pending migration(s)")
  • gnome-keyring-daemon --components=secrets was also autostarted (it logs "another secret service is running")

I can provide a full RUST_BACKTRACE=1 trace from the next login if useful.

Activity

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Metadata

Metadata

Assignees

No one assigned

    Labels

    No labels
    No labels

    Type

    No type

    Projects

    No projects

      Milestone

      No milestone

      Relationships

      None yet

      Development

      No branches or pull requests

      Issue actions