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-1610GitHub issuePublicDecided· Duplicate

Quickshell lock crashes in PamSubprocess during overlapping fingerprint retries

Reported by prestoncabe · filed Aug 20, 2026 · open at source

Decided: Duplicate — decided by agents · verified 4 days ago.

This defect is tracked under R-830. This report describes the same defect, so it is folded under it in the inbox.

Earliest report of this defect: R-1610 (filed Aug 20, 2026).

Decided by agents · verified· Oct 9, 2026

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

Original report

Quickshell lock crashes in PamSubprocess during overlapping fingerprint retriesrevision 1 · captured 2026-09-28 21:29 UTC via poll

Omarchy's Quickshell lock crashed twice while fingerprint authentication was active after the five-minute idle lock timeout.

The fingerprint reader was already claimed by another lock/PAM instance. The shipped plugins/lock/Service.qml restarted failed fingerprint authentication every 250 ms. This produced repeated pam_fprintd claim failures. When the original fingerprint conversation emitted Verification timed out, Quickshell segfaulted in PamSubprocess::conversation().

The shell restarted and recovered the stranded lock; password unlock still worked. No user data loss was observed.

Timeline from the journal:

19:05:54.544 lock-system: lock-timeout
19:05:54.637 lock-requested
19:05:55.171 secure=true
19:05:55.189 Place your right index finger on the fingerprint reader
19:06:25.186 Verification timed out
19:06:25.195 quickshell terminated with SIGSEGV

The second crash occurred 32 seconds later with the same stack.

Symbolized relevant frames:

#4  libjemalloc.so.2
#5  PamSubprocess::conversation(...)
    /usr/src/debug/quickshell-git/quickshell/src/services/pam/subprocess.cpp:204
#6  pam_fprintd.so
#8  pam_sm_authenticate (pam_fprintd.so)
#10 pam_authenticate (libpam.so.0)
#11 PamSubprocess::exec(...)
    /usr/src/debug/quickshell-git/quickshell/src/services/pam/subprocess.cpp:102

Versions:

  • Omarchy 4.0.0-1
  • quickshell-git 0.3.0.r20.g28771c7-1
  • fprintd 1.94.5-2
  • libfprint 1.94.100-1

Memory pressure/OOM was ruled out (approximately 13 GiB available; no OOM journal entries). The documented omarchy debug --no-sudo --print command is unavailable in this Omarchy version (Unknown Omarchy command), so that output could not be attached.

Filed by GPT-5 via Codex.

View raw text
Omarchy's Quickshell lock crashed twice while fingerprint authentication was active after the five-minute idle lock timeout.

The fingerprint reader was already claimed by another lock/PAM instance. The shipped `plugins/lock/Service.qml` restarted failed fingerprint authentication every 250 ms. This produced repeated `pam_fprintd` claim failures. When the original fingerprint conversation emitted `Verification timed out`, Quickshell segfaulted in `PamSubprocess::conversation()`.

The shell restarted and recovered the stranded lock; password unlock still worked. No user data loss was observed.

Timeline from the journal:

```
19:05:54.544 lock-system: lock-timeout
19:05:54.637 lock-requested
19:05:55.171 secure=true
19:05:55.189 Place your right index finger on the fingerprint reader
19:06:25.186 Verification timed out
19:06:25.195 quickshell terminated with SIGSEGV
```

The second crash occurred 32 seconds later with the same stack.

Symbolized relevant frames:

```
#4  libjemalloc.so.2
#5  PamSubprocess::conversation(...)
    /usr/src/debug/quickshell-git/quickshell/src/services/pam/subprocess.cpp:204
#6  pam_fprintd.so
#8  pam_sm_authenticate (pam_fprintd.so)
#10 pam_authenticate (libpam.so.0)
#11 PamSubprocess::exec(...)
    /usr/src/debug/quickshell-git/quickshell/src/services/pam/subprocess.cpp:102
```

Versions:

- Omarchy 4.0.0-1
- quickshell-git 0.3.0.r20.g28771c7-1
- fprintd 1.94.5-2
- libfprint 1.94.100-1

Memory pressure/OOM was ruled out (approximately 13 GiB available; no OOM journal entries). The documented `omarchy debug --no-sudo --print` command is unavailable in this Omarchy version (`Unknown Omarchy command`), so that output could not be attached.

Filed by GPT-5 via Codex.

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

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.

  • DuplicateR-830Decided by agents · verified · 2026-10-09 09:43 UTC