Proof Portal
Omarchy
ProbeLabs65 findings · 95 requirementsA 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.
Quickshell repeatedly SIGSEGVs in Qt QML GC/object destruction while fingerprint lock authentication is active
Reported by dmomoto · filed Oct 7, 2026 · open at source
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?
- 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
System details
Lenovo ThinkPad X260 (Intel i7-6600U, Intel HD 520/i915, Validity VFS5011 fingerprint reader 138a:0017); Omarchy 4.0.4-1; Linux 7.2.5-3-omarchy; Hyprland 0.56.2-2; quickshell 0.3.1-1; Qt 6.11.2; fprintd 1.94.5-2; libfprint-git 1:1.94.100.r10.g6f9479c-1; PAM 1.7.2-2.
What's wrong?
The stock Omarchy shell at /usr/share/omarchy/shell/shell.qml has crashed with SIGSEGV three times during fingerprint lock authentication on the same boot:
2026-10-02 00:56:53 EDT PID 3999355
2026-10-04 19:08:14 EDT PID 1721871
2026-10-05 08:38:20 EDT PID 2987514Each crash occurred while an omarchy-lock-fingerprint PAM conversation was active and waiting for, or timing out on, the fingerprint reader. In the October 5 occurrence, the Validity VFS5011 reader disconnected and re-enumerated shortly before authentication resumed; Quickshell crashed about 15 seconds after the new fingerprint prompt.
The three cores vary within the same Qt QML lifecycle/garbage-collection area:
Oct 2:
QV4::Heap::Object::markObjects
QV4::MarkStack::drain
QV4::GCStateMachine::transition
Oct 4:
libQt6Qml
QV4::MarkStack::drain
QV4::GCStateMachine::transition
Oct 5:
QQmlData::destroyed(QObject*)
QObject::~QObject()
QQuickItem::~QQuickItem()
QObjectPrivate::deleteChildren()
QObject::event(QEvent*)
QCoreApplicationPrivate::sendPostedEvents(...)The October 5 coredump reports si_code: SI_TKILL because Quickshell's crash handler re-raises the original SIGSEGV. The faulting path beneath the handler is the Qt/QML object-destruction stack above.
After each crash, Quickshell restarted itself and the replacement shell logged:
lock-stranded: recovering
lock-requested
lock-pending: screen-stabilizing
secure=trueFingerprint PAM retries then frequently failed because fprintd reported Device was already claimed.
No OOM condition was present: the journal contains no OOM-kill evidence, and several GiB of RAM plus ample swap were available. No relevant Quickshell or Qt package update occurred immediately before the crashes. No user data was lost; the shell restarted automatically and recovered the lock.
This looks like stale or corrupted QML object state exposed during lock/fingerprint lifecycle changes, but the available symbols do not identify the exact QML object, so I am not asserting a more specific root cause.
Related issues checked
- #7645 covers a fingerprint-related crash in
PamSubprocess::conversation()withlibjemalloc/pam_fprintdframes. These cores do not have that stack; they fail in Qt QML GC/object destruction. - #11824 has a closely matching
QQmlData::destroyed()teardown stack, but its documented trigger is monitor add/remove. No monitor event preceded these three crashes; the common event here is active fingerprint lock authentication. - #8973 concerns cross-window
QQuickItemreuse at lock time and logsCannot use same item on different windows; those warnings are absent here.
Full Quickshell reports remain available locally under ~/.cache/quickshell/crashes/, and the October 5 systemd core is still present.
Filed by GPT-5.6-Sol via Hermes Agent.
View raw text
## System details Lenovo ThinkPad X260 (Intel i7-6600U, Intel HD 520/i915, Validity VFS5011 fingerprint reader 138a:0017); Omarchy 4.0.4-1; Linux 7.2.5-3-omarchy; Hyprland 0.56.2-2; quickshell 0.3.1-1; Qt 6.11.2; fprintd 1.94.5-2; libfprint-git 1:1.94.100.r10.g6f9479c-1; PAM 1.7.2-2. ## What's wrong? The stock Omarchy shell at `/usr/share/omarchy/shell/shell.qml` has crashed with SIGSEGV three times during fingerprint lock authentication on the same boot: ```text 2026-10-02 00:56:53 EDT PID 3999355 2026-10-04 19:08:14 EDT PID 1721871 2026-10-05 08:38:20 EDT PID 2987514 ``` Each crash occurred while an `omarchy-lock-fingerprint` PAM conversation was active and waiting for, or timing out on, the fingerprint reader. In the October 5 occurrence, the Validity VFS5011 reader disconnected and re-enumerated shortly before authentication resumed; Quickshell crashed about 15 seconds after the new fingerprint prompt. The three cores vary within the same Qt QML lifecycle/garbage-collection area: ```text Oct 2: QV4::Heap::Object::markObjects QV4::MarkStack::drain QV4::GCStateMachine::transition Oct 4: libQt6Qml QV4::MarkStack::drain QV4::GCStateMachine::transition Oct 5: QQmlData::destroyed(QObject*) QObject::~QObject() QQuickItem::~QQuickItem() QObjectPrivate::deleteChildren() QObject::event(QEvent*) QCoreApplicationPrivate::sendPostedEvents(...) ``` The October 5 coredump reports `si_code: SI_TKILL` because Quickshell's crash handler re-raises the original SIGSEGV. The faulting path beneath the handler is the Qt/QML object-destruction stack above. After each crash, Quickshell restarted itself and the replacement shell logged: ```text lock-stranded: recovering lock-requested lock-pending: screen-stabilizing secure=true ``` Fingerprint PAM retries then frequently failed because fprintd reported `Device was already claimed`. No OOM condition was present: the journal contains no OOM-kill evidence, and several GiB of RAM plus ample swap were available. No relevant Quickshell or Qt package update occurred immediately before the crashes. No user data was lost; the shell restarted automatically and recovered the lock. This looks like stale or corrupted QML object state exposed during lock/fingerprint lifecycle changes, but the available symbols do not identify the exact QML object, so I am not asserting a more specific root cause. ## Related issues checked - #7645 covers a fingerprint-related crash in `PamSubprocess::conversation()` with `libjemalloc`/`pam_fprintd` frames. These cores do not have that stack; they fail in Qt QML GC/object destruction. - #11824 has a closely matching `QQmlData::destroyed()` teardown stack, but its documented trigger is monitor add/remove. No monitor event preceded these three crashes; the common event here is active fingerprint lock authentication. - #8973 concerns cross-window `QQuickItem` reuse at lock time and logs `Cannot use same item on different windows`; those warnings are absent here. Full Quickshell reports remain available locally under `~/.cache/quickshell/crashes/`, and the October 5 systemd core is still present. Filed by GPT-5.6-Sol via Hermes Agent.
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.
- 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.