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-1165GitHub issuePublicDecided· Out of scope

Migration 1788009111 fails when CUPS scheduler is not running

Reported by joselberg · filed Aug 31, 2026 · open at source

Decided: Out of scope — decided by agents · verified 4 days ago.

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?
AreaOutside the audited area· 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?
Decided by agents and verified by a second, independent agent — see the decision.

Original report

Migration 1788009111 fails when CUPS scheduler is not runningrevision 1 · captured 2026-09-28 21:24 UTC via poll

Problem

Migration 1788009111 (/usr/share/omarchy/migrations/1788009111.sh) fails with exit 1 when the CUPS scheduler is not running.

The migration expects lpstat -v to either succeed (return a queue list) or fail with "No destinations added.". However, when CUPS is not running at all, lpstat returns "Scheduler is not running." — a case the script doesn't handle, causing exit 1.

# Current code (lines 26-33):
if queue_report=$(LC_ALL=C lpstat -v 2>&1); then
  :
elif [[ $queue_report == "lpstat: No destinations added." ]]; then
  queue_report=""
else
  printf '%s\n' "$queue_report" >&2
  exit 1
fi

Expected behavior

The migration should treat "Scheduler is not running." the same as "No destinations added." — if CUPS isn't running, there are no queues to clean up.

Suggested fix

Add another condition to handle this case:

elif [[ $queue_report == "lpstat: No destinations added." ||
         $queue_report == "lpstat: Scheduler is not running." ]]; then
  queue_report=""

System info

  • Omarchy 4.0.2-1
  • Arch Linux, kernel 7.1.9-arch1-2
  • cups-browsed 2.1.1-1 installed
  • cups.service disabled/inactive
  • cups-browsed.service disabled/inactive
View raw text
## Problem

Migration `1788009111` (`/usr/share/omarchy/migrations/1788009111.sh`) fails with exit 1 when the CUPS scheduler is not running.

The migration expects `lpstat -v` to either succeed (return a queue list) or fail with `"No destinations added."`. However, when CUPS is not running at all, `lpstat` returns `"Scheduler is not running."` — a case the script doesn't handle, causing `exit 1`.

```bash
# Current code (lines 26-33):
if queue_report=$(LC_ALL=C lpstat -v 2>&1); then
  :
elif [[ $queue_report == "lpstat: No destinations added." ]]; then
  queue_report=""
else
  printf '%s\n' "$queue_report" >&2
  exit 1
fi
```

## Expected behavior

The migration should treat `"Scheduler is not running."` the same as `"No destinations added."` — if CUPS isn't running, there are no queues to clean up.

## Suggested fix

Add another condition to handle this case:

```bash
elif [[ $queue_report == "lpstat: No destinations added." ||
         $queue_report == "lpstat: Scheduler is not running." ]]; then
  queue_report=""
```

## System info

- Omarchy 4.0.2-1
- Arch Linux, kernel 7.1.9-arch1-2
- `cups-browsed` 2.1.1-1 installed
- `cups.service` disabled/inactive
- `cups-browsed.service` disabled/inactive

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.

  • Out of scopeDecided by agents · verified · 2026-10-09 10:17 UTC