mirror of
https://github.com/narrrl/proton-drive-linux.git
synced 2026-11-04 16:56:59 +01:00
On 2026-09-18 the daemon hung: 43 minutes of CPU over 20 hours, 5.2 GiB resident, silent from 17:10 until a manual restart the next day, and no panic. Nothing in the journal said what it had been waiting on, and nothing in the daemon could be asked. - The worker pool publishes per-thread state: whether the thread is busy, how long it has been in that state, and the label of the job in hand. Every FUSE handler that hands work to the pool now names its job (`read`, `lookup`, `rename`), so a stuck worker is named rather than merely counted. Queue depths and per-lane completion counts are mirrored outside the queue lock. - `Request::Diagnostics` / `pdfs diagnostics` reports those, plus resident size, the control handler count against its limit, the in-flight control requests with their ages, and the pending-op count. - Built to answer while the daemon is wedged: atomics and `try_lock` only, and the one field that needs the database reads it on a throwaway thread with a 500 ms deadline.