librepods-org / librepods-org/librepods

Linux application doesn't provide a clear message upon failure when there isn't a system tray

Open
#421 1 comment 0 reactions 0 assignees View on GitHub

Nobody has claimed this yet.

bug linux
Dominant language
Kotlin
Stars
29.9k
Forks
1.7k
PR merge metrics
No merged PRs in 30d

Description

When I saw that there was a flake in the linux/rust branch I excitedly went to run it, however when I did so, I got an error:

[2026-01-07T19:47:21Z ERROR librepods] Failed to read devices file: No such file or directory (os error 2)
[2026-01-07T19:47:21Z INFO  zbus::connection::handshake::common] write_command; command=Auth(Some(External), Some([49, 48, 48, 48]))
[2026-01-07T19:47:21Z INFO  zbus::connection::handshake::common] write_commands; commands=[Auth(Some(External), Some([49, 48, 48, 48]))] extra_bytes=None
[2026-01-07T19:47:21Z INFO  zbus::connection::handshake::common] read_commands; n_commands=1
[2026-01-07T19:47:21Z INFO  zbus::connection::handshake::common] write_commands; commands=[NegotiateUnixFD, Begin] extra_bytes=Some([108, 1, 0, 1, 0, 0, 0, 0, 1, 0, 0, 0, 109, 0, 0, 0, 1, 1, 111, 0, 21, 0, 0, 0, 47, 111, 114, 103, 47, 102, 114, 101, 101, 100, 101, 115, 107, 116, 111, 112, 47, 68, 66, 117, 115, 0, 0, 0, 2, 1, 115, 0, 20, 0, 0, 0, 111, 114, 103, 46, 102, 114, 101, 101, 100, 101, 115, 107, 116, 111, 112, 46, 68, 66, 117, 115, 0, 0, 0, 0, 3, 1, 115, 0, 5, 0, 0, 0, 72, 101, 108, 108, 111, 0, 0, 0, 6, 1, 115, 0, 20, 0, 0, 0, 111, 114, 103, 46, 102, 114, 101, 101, 100, 101, 115, 107, 116, 111, 112, 46, 68, 66, 117, 115, 0, 0, 0, 0])
[2026-01-07T19:47:21Z INFO  zbus::connection::handshake::client] receive_secondary_responses; expected_n_responses=1
[2026-01-07T19:47:21Z INFO  zbus::connection::handshake::common] read_commands; n_commands=1
[2026-01-07T19:47:21Z INFO  zbus::connection] start_object_server; started_event=Some(Event { listeners_notified: 0, listeners_total: 1 })
[2026-01-07T19:47:21Z INFO  zbus::connection] monitor_name_lost; name=org.kde.StatusNotifierItem-56222-1

thread '<unnamed>' (56240) panicked at src/main.rs:136:41:
called `Result::unwrap()` on an `Err` value: Watcher(ServiceUnknown("The name is not activatable"))
stack backtrace:
   0:     0x55556fcc6330 - <unknown>
   1:     0x55556f8d29dc - <unknown>
   2:     0x55556fccb390 - <unknown>
   3:     0x55556fcdf048 - <unknown>
   4:     0x55556fcc682c - <unknown>
   5:     0x55556fcc67a4 - <unknown>
   6:     0x55556fcdc6f0 - <unknown>
   7:     0x55556f7baaa4 - <unknown>
   8:     0x55556f7bb064 - <unknown>
   9:     0x55556f82eb70 - <unknown>
  10:     0x55556f7f5d5c - <unknown>
  11:     0x55556fa6338c - <unknown>
  12:     0x55556fcd581c - <unknown>
  13:     0x7fffba6801ec - start_thread
  14:     0x7fffba6f034c - thread_start
  15:                0x0 - <unknown>
zsh: abort (core dumped)  nix run github:kavishdevar/librepods/linux/rust\#default

Now, after poking around I very quickly was able to determine that the issue was that I don't run a system try on my machine, but others may benefit from a more clear error message.

I use Hyprland on NixOS, so it was pretty easy to add a tray to my waybar config and rebuild my machine, now now the app launches and I am onto debugging a number of other errors, but I absolutely love this project. I've been running Asahi on a number of my daily drivers for the last couple years and I love getting to break even more of the Apple ecosystem!

Contributor guide

No contributing guide indexed for this repository

First steps

  1. Read the whole issue, then the project's contributing guide.
  2. Comment on the issue to say you are picking it up — it saves two people doing the same work.
  3. Fork the repository and make your change on a branch.
  4. Open a pull request that references the issue number.

Research direction

Start at src/main.rs:136, where the stack trace shows the panic while connecting to the system tray watcher. Reproduce the application without a system tray and trace the watcher error; done means the application reports a clear failure message instead of panicking.

Written by the indexing model from the issue text.

Assessment

Tech stack
linux, rust
Domain
desktop, operating-systems
Issue type
Bug
Difficulty
2/5
Estimated time
1-3 hours
Activity status
Stale
Clarity
Mostly clear
Newbie friendliness
48/100

Get new issues in your inbox

A short digest of beginner-friendly GitHub issues.