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-5182GitHub issuePublicReceived

omarchy-update restart leaves no shell: new instance hits "already running" while old still exiting

Reported by TomFaulkner · filed Oct 6, 2026Closed upstream on 2026-10-06 by TomFaulkner; the closing comment says it was fixed by PR #11015. GitHub close reason: completed.

Received and recorded verbatim. Nothing has been checked 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?
Not yet mapped to any requirement or component.
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. No decision has been recorded yet.

Original report

omarchy-update restart leaves no shell: new instance hits "already running" while old still exitingrevision 1 · captured 2026-10-06 19:40 UTC via poll

What happened

After omarchy-update today (Oct 06 ~14:29-14:32 CDT), the shell was gone: no quickshell / omarchy-shell process, empty bar, and /tmp/omarchy-update.log ends with:

Restarting shell
All plugins have been reloaded
Omarchy shell did not become ready after restart.

Journal shows a restart race:

Oct 06 14:32:38 omarchy-shell[1140323]: INFO: Exiting due to IPC request.
Oct 06 14:32:39 omarchy-shell[1928489]: An instance of this configuration is already running.
Oct 06 14:32:40 omarchy-shell[1140323]: WARN scene: ... DownloadRow.qml ... (old instance still logging)

then silence. pgrep -af quickshell empty. Manual omarchy-restart-shell recovered it (ping ok).

What was expected

omarchy-restart-shell kills the old shell, dispatches a replacement via Hyprland, and waits for shell ping. Update should never leave the session without a shell or its launcher supervisor.

Steps to reproduce

  1. Have shell running (Hyprland session).
  2. Run omarchy-update (or just omarchy-restart-shell) — intermittently the new instance starts before the old releases its instance lock.
  3. Observe An instance of this configuration is already running + did not become ready after restart, then no shell process remains.

Not reliably reproducible on demand; hit once today after a routine update.

System details

  • omarchy version: 4.0.4-1, channel stable
  • quickshell 0.3.1-1, qt6-base 6.11.2-3, qt6-declarative 6.11.2-1
  • hyprland 0.56.2-2 (Hyprland 0.56.2), kernel 7.2.5-3-omarchy
  • Note: omarchy debug --no-sudo --print does not exist on this install (Unknown Omarchy command), so manual versions substituted.

Diagnostics

  • Update upgraded: aether 4.30.0-1 -> 4.31.1-1, brave-origin-bin, flea, mise-bin, new layer-shell-qt 6.7.4-2, omakade, zen-browser-bin, omarchy-flux 0.10.0 -> 0.14.0, hyprmoncfg, naps2-bin (pacman.log Oct 06 14:30).
  • No coredump / SIGSEGV today — clean IPC exit, so not the known quickshell worker crashes (e.g. Oct 03 PIDs 519140/524575, which self-healed via in-process restart).
  • Memory fine (58G total, 36G free), no OOM.
  • Root cause hypothesis: omarchy-restart-shell:66 comment claims while timeout 5 quickshell kill ... returns only once fully exited so the launch can't race, but evidence contradicts it — new instance's duplicate guard fired while old PID still logging. Old launcher then exits 0 on clean status (omarchy-launch-shell:74), new instance is already dead, nobody retries; the 20x0.1s ping loop is too short to cover a retry.

Happy to test a retry/wait-for-release fix.

Filed by muse-spark via opencode.
View raw text
## What happened

After `omarchy-update` today (Oct 06 ~14:29-14:32 CDT), the shell was gone: no `quickshell` / `omarchy-shell` process, empty bar, and `/tmp/omarchy-update.log` ends with:

```
Restarting shell
All plugins have been reloaded
Omarchy shell did not become ready after restart.
```

Journal shows a restart race:

```
Oct 06 14:32:38 omarchy-shell[1140323]: INFO: Exiting due to IPC request.
Oct 06 14:32:39 omarchy-shell[1928489]: An instance of this configuration is already running.
Oct 06 14:32:40 omarchy-shell[1140323]: WARN scene: ... DownloadRow.qml ... (old instance still logging)
```

then silence. `pgrep -af quickshell` empty. Manual `omarchy-restart-shell` recovered it (ping ok).

## What was expected

`omarchy-restart-shell` kills the old shell, dispatches a replacement via Hyprland, and waits for `shell ping`. Update should never leave the session without a shell or its launcher supervisor.

## Steps to reproduce

1. Have shell running (Hyprland session).
2. Run `omarchy-update` (or just `omarchy-restart-shell`) — intermittently the new instance starts before the old releases its instance lock.
3. Observe `An instance of this configuration is already running` + `did not become ready after restart`, then no shell process remains.

Not reliably reproducible on demand; hit once today after a routine update.

## System details

- `omarchy version`: 4.0.4-1, channel stable
- `quickshell 0.3.1-1`, `qt6-base 6.11.2-3`, `qt6-declarative 6.11.2-1`
- `hyprland 0.56.2-2` (Hyprland 0.56.2), kernel `7.2.5-3-omarchy`
- Note: `omarchy debug --no-sudo --print` does not exist on this install (`Unknown Omarchy command`), so manual versions substituted.

## Diagnostics

- Update upgraded: aether 4.30.0-1 -> 4.31.1-1, brave-origin-bin, flea, mise-bin, new layer-shell-qt 6.7.4-2, omakade, zen-browser-bin, omarchy-flux 0.10.0 -> 0.14.0, hyprmoncfg, naps2-bin (pacman.log Oct 06 14:30).
- No coredump / SIGSEGV today — clean IPC exit, so not the known quickshell worker crashes (e.g. Oct 03 PIDs 519140/524575, which self-healed via in-process restart).
- Memory fine (58G total, 36G free), no OOM.
- Root cause hypothesis: `omarchy-restart-shell:66` comment claims `while timeout 5 quickshell kill ...` returns only once fully exited so the launch can't race, but evidence contradicts it — new instance's duplicate guard fired while old PID still logging. Old launcher then exits 0 on clean status (`omarchy-launch-shell:74`), new instance is already dead, nobody retries; the 20x0.1s ping loop is too short to cover a retry.

Happy to test a retry/wait-for-release fix.

> Filed by muse-spark via opencode.

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

Not linked to any known issue, other report or change yet.

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.

No decision has been recorded yet.