Proof Portal

Project overview

Omarchy

ProbeLabs65 findings · 95 requirements

A proof layer — requirements, tests and verified fixes — for two of Omarchy's subsystems: the application menu (launcher scripts, QML model, JSONC config, search and selection) and the lock screen (lock scripts, QML, PAM authentication). Scope is deliberately limited to those components of omacom/omarchy; the rest of the distribution is not covered.

Inbox
ReportR-131GitHub issuePublicFixed

omarchy-sleep-lock.service fails on every suspend/resume: systemd-inhibit 'already running'

Reported by Riao9 · filed Sep 24, 2026 · open at source

In the audited area (lock) — decided by agents · verified. Not validated yet.

At a glance

1 · What is claimed?
Only the report text below — no validator has restated it as checkable claims yet.
2 · What does it affect?
AreaIn the audited arealock· Decided by agents · verified
3 · Is it reproducible?
No validation has been run yet.
4 · What remains unclear?
  • Not validated yet: no claims, no reproducer.
5 · What happens next?
Our staff decide whether the report is valid. Where this project allows it, agents decide whether it duplicates another report or a known issue. So far: in the audited area (lock) — decided by agents · verified; matches no known issue — decided by agents · verified. The outcome (valid, duplicate, not a bug, …) is not decided yet. See the decision.

Original report

omarchy-sleep-lock.service fails on every suspend/resume: systemd-inhibit 'already running'revision 1 · captured 2026-09-28 21:23 UTC via poll

System details: Framework Laptop 12 (13th Gen Intel Core), Intel i3-1315U / Raptor Lake, UHD Graphics (i915), INSYDE BIOS 03.07. Omarchy 4.0.4-1, kernel 7.2.3-arch1-3, Hyprland 0.56.2.

What's wrong

omarchy-sleep-lock.service fails on every suspend/resume cycle and has since at least Aug 15 (263 failures recorded):

Sep 24 02:47:18 Framework12 systemd[976]: omarchy-sleep-lock.service: Scheduled restart job, restart counter is at 20.
Sep 24 02:47:18 Framework12 systemd[976]: Started Lock Omarchy before suspend.
Sep 24 02:47:18 Framework12 systemd-inhibit[838223]: Failed to inhibit: The operation inhibition has been requested for is already running
Sep 24 02:47:18 Framework12 systemd[976]: omarchy-sleep-lock.service: Main process exited, code=exited, status=1/FAILURE
Sep 24 02:47:18 Framework12 systemd[976]: omarchy-sleep-lock.service: Failed with result 'exit-code'.

The failure coincides exactly with the start of each resume from suspend. Because the unit is Restart=always with RestartSec=2, it restarts immediately afterwards and then stays idle. Net effect:

  • The intended long-lived logind delay inhibit (systemd-inhibit --what=sleep --mode=delay --who=Omarchy --why="Lock screen before suspend") is never actually held — it only fails during the sleep window and comes up after wake, so the next suspend begins with no Omarchy delay-inhibit in place.
  • Every wake logs a failed unit + restart-churn.

Expected: the unit starts once per graphical session, acquires the sleep inhibit, holds it, and only acts when PrepareForSleep fires — not log a FAILURE every cycle.

Steps to reproduce: start a session, suspend and wake the laptop, then check:

systemctl --user status omarchy-sleep-lock.service
journalctl --user -u omarchy-sleep-lock.service   # shows exit-code=FAILURE + "Failed to inhibit ... already running"

This occurs on every suspend/wake, independent of the separate kernel-level resume failures on this machine (spd5118/ucsi_acpi) — the service races logind finalizing the wake, and logind rejects the new delay inhibit with -EBUSY ("The operation inhibition has been requested for is already running") until the sleep operation has fully settled.

The offending unit: /usr/lib/systemd/user/omarchy-sleep-lock.service -> omarchy-system-sleep-monitor (which execs systemd-inhibit ... omarchy-system-sleep-lock while dbus-monitoring PrepareForSleep).

View raw text
**System details:** Framework Laptop 12 (13th Gen Intel Core), Intel i3-1315U / Raptor Lake, UHD Graphics (i915), INSYDE BIOS 03.07. Omarchy 4.0.4-1, kernel 7.2.3-arch1-3, Hyprland 0.56.2.

## What's wrong

`omarchy-sleep-lock.service` fails on **every** suspend/resume cycle and has since at least Aug 15 (263 failures recorded):

```
Sep 24 02:47:18 Framework12 systemd[976]: omarchy-sleep-lock.service: Scheduled restart job, restart counter is at 20.
Sep 24 02:47:18 Framework12 systemd[976]: Started Lock Omarchy before suspend.
Sep 24 02:47:18 Framework12 systemd-inhibit[838223]: Failed to inhibit: The operation inhibition has been requested for is already running
Sep 24 02:47:18 Framework12 systemd[976]: omarchy-sleep-lock.service: Main process exited, code=exited, status=1/FAILURE
Sep 24 02:47:18 Framework12 systemd[976]: omarchy-sleep-lock.service: Failed with result 'exit-code'.
```

The failure coincides exactly with the start of each resume from suspend. Because the unit is `Restart=always` with `RestartSec=2`, it restarts immediately afterwards and then stays idle. Net effect:

- The intended long-lived logind `delay` inhibit (`systemd-inhibit --what=sleep --mode=delay --who=Omarchy --why="Lock screen before suspend"`) is **never actually held** — it only fails during the sleep window and comes up after wake, so the next suspend begins with no Omarchy delay-inhibit in place.
- Every wake logs a failed unit + restart-churn.

**Expected:** the unit starts once per graphical session, acquires the sleep inhibit, holds it, and only acts when `PrepareForSleep` fires — not log a FAILURE every cycle.

**Steps to reproduce:** start a session, suspend and wake the laptop, then check:

```
systemctl --user status omarchy-sleep-lock.service
journalctl --user -u omarchy-sleep-lock.service   # shows exit-code=FAILURE + "Failed to inhibit ... already running"
```

This occurs on every suspend/wake, independent of the separate kernel-level resume failures on this machine (spd5118/ucsi_acpi) — the service races logind finalizing the wake, and logind rejects the new delay inhibit with `-EBUSY` ("The operation inhibition has been requested for is already running") until the sleep operation has fully settled.

The offending unit: `/usr/lib/systemd/user/omarchy-sleep-lock.service` -> `omarchy-system-sleep-monitor` (which execs `systemd-inhibit ... omarchy-system-sleep-lock` while dbus-monitoring `PrepareForSleep`).

Also reported as

This defect is tracked under R-131 (filed Sep 24, 2026). 7 other reports describe the same defect.

Earliest report of this defect: R-1720 (filed Aug 17, 2026).

  1. Sep 24, 2026R-131 · this report— tracked here
  2. ·Decided by agents · verified

    Open upstream.

  3. ·Decided by agents · verified

    Open upstream.

  4. ·Decided by agents · verified

    Open upstream.

  5. ·Decided by arbitration

    Open upstream.

  6. ·Decided by agents · verified

    Open upstream.

  7. ·Decided by agents · verified

    Closed upstream on 2026-10-12 by the bot omarchybot, as a duplicate (target not recorded).

  8. ·Decided by agents · verified

    Open upstream.

Validation

Not checked yet. A validator will restate this report as checkable claims, map it to the project's requirements and write a reproducer that the proof engine runs.

Linked

  • Fixed bypr/10455· confirmed
  • Fixed bypr/13176· confirmed
  • Fixed bypr/13782· confirmed

Decision

Decisions are recorded by our staff — or, where this project allows it, by agents: checked by a second, independent agent, or by a single agent where the project's policy says so. Any decision reached so far is shown below.

  • Decided by agents · verified: in the audited area (lock)
  • Decided by agents · verified: matches no known issue

The outcome (valid, duplicate, not a bug, …) is not decided yet.