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 SIGSEGV in Qt6 QML while regenerating bar module repeater (Omarchy 4.0.3-1)
Reported by brosmaninho · filed Sep 21, 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?
- 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
Summary
quickshell crashed with SIGSEGV while running Omarchy's shell (quickshell -n -p /usr/share/omarchy/shell). The crash occurred during a mouse-release event on the bar while a QQuickRepeater was regenerating delegates for the bar module list.
Steps to reproduce
Exact steps are unknown. The crash happened during normal pointer interaction with the bar, possibly a click or drag on a bar widget, while the bar's ModuleList repeater was rebuilding.
Expected behavior
The shell should not crash during normal bar interaction.
Actual behavior
quickshell segfaulted. Quickshell's crash handler captured the fault and re-raised SIGSEGV. The shell process auto-restarted.
Environment
- Omarchy: 4.0.3-1
- Quickshell: 0.3.1 (Arch Linux build)
- Qt: 6.11.2
- Session: Hyprland / Wayland
- GPUs: AMD + Intel
Diagnostics
Symbolized top of the stack (from the systemd-coredump core for PID 188324):
#0 __pthread_kill_implementation
#1 __pthread_kill_internal
#2 __GI_raise
#3 qs::crash::(anonymous namespace)::signalHandler at handler.cpp:93
#4 <signal handler called>
#5 0x00007f2784395530 in libQt6QmlModels.so.6
#6 0x00007f2784395f01 in libQt6QmlModels.so.6
#7 0x00007f2785b880a7 in libQt6Qml.so.6
#8 QV4::QObjectWrapper::getQmlProperty(...)
#9 QV4::QQmlContextWrapper::getPropertyAndBase(...)
#10 QV4::ExecutionContext::getProperty(...)
#11 QV4::Runtime::TypeofName::call(...)
#12 [JIT-compiled QML code]
...
#19 QQuickRepeater::regenerate()
#20 QQuickRepeater::setModel(QVariant const&)
...
#105 QQuickMouseArea::setPressed(...)
#106 QQuickMouseArea::mouseReleaseEvent(QMouseEvent*)Frames 5-7 are inside libQt6QmlModels.so.6; the crash is a null/stale QObject dereference during a QML typeof property lookup while the bar repeater is creating delegates.
Quickshell's own crash report is at: ~/.cache/quickshell/crashes/a7y3ei7qlt/
Additional context
- Only one
quickshellcoredump recorded recently (coredumpctl list quickshell --since 2026-09-01). - Around the crash a Bluetooth headset disconnected, PipeWire fell back to
auto_null, and monitor focus changed several times. - After restart the shell logged duplicate IPC-handler warnings, indicating the old handlers were still registered.
- Memory was not exhausted (24 Gi available).
The ModuleSlot component in plugins/bar/Bar.qml uses cross-Loader bindings (activeItem, registryComponent, panelOpen, panelIndicatorExtent) that may still resolve while a slot delegate is being destroyed during repeater regeneration.
Filed by fireworks/kimi-k2.7-code via omp.
View raw text
## Summary `quickshell` crashed with SIGSEGV while running Omarchy's shell (`quickshell -n -p /usr/share/omarchy/shell`). The crash occurred during a mouse-release event on the bar while a `QQuickRepeater` was regenerating delegates for the bar module list. ## Steps to reproduce Exact steps are unknown. The crash happened during normal pointer interaction with the bar, possibly a click or drag on a bar widget, while the bar's `ModuleList` repeater was rebuilding. ## Expected behavior The shell should not crash during normal bar interaction. ## Actual behavior `quickshell` segfaulted. Quickshell's crash handler captured the fault and re-raised SIGSEGV. The shell process auto-restarted. ## Environment - Omarchy: 4.0.3-1 - Quickshell: 0.3.1 (Arch Linux build) - Qt: 6.11.2 - Session: Hyprland / Wayland - GPUs: AMD + Intel ## Diagnostics Symbolized top of the stack (from the systemd-coredump core for PID 188324): ``` #0 __pthread_kill_implementation #1 __pthread_kill_internal #2 __GI_raise #3 qs::crash::(anonymous namespace)::signalHandler at handler.cpp:93 #4 <signal handler called> #5 0x00007f2784395530 in libQt6QmlModels.so.6 #6 0x00007f2784395f01 in libQt6QmlModels.so.6 #7 0x00007f2785b880a7 in libQt6Qml.so.6 #8 QV4::QObjectWrapper::getQmlProperty(...) #9 QV4::QQmlContextWrapper::getPropertyAndBase(...) #10 QV4::ExecutionContext::getProperty(...) #11 QV4::Runtime::TypeofName::call(...) #12 [JIT-compiled QML code] ... #19 QQuickRepeater::regenerate() #20 QQuickRepeater::setModel(QVariant const&) ... #105 QQuickMouseArea::setPressed(...) #106 QQuickMouseArea::mouseReleaseEvent(QMouseEvent*) ``` Frames 5-7 are inside `libQt6QmlModels.so.6`; the crash is a null/stale `QObject` dereference during a QML `typeof` property lookup while the bar repeater is creating delegates. Quickshell's own crash report is at: `~/.cache/quickshell/crashes/a7y3ei7qlt/` ## Additional context - Only one `quickshell` coredump recorded recently (`coredumpctl list quickshell --since 2026-09-01`). - Around the crash a Bluetooth headset disconnected, PipeWire fell back to `auto_null`, and monitor focus changed several times. - After restart the shell logged duplicate IPC-handler warnings, indicating the old handlers were still registered. - Memory was not exhausted (24 Gi available). The `ModuleSlot` component in `plugins/bar/Bar.qml` uses cross-Loader bindings (`activeItem`, `registryComponent`, `panelOpen`, `panelIndicatorExtent`) that may still resolve while a slot delegate is being destroyed during repeater regeneration. --- Filed by fireworks/kimi-k2.7-code via omp.
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
- Related PRpr/12892· 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.
- Out of scopeDecided by agents · verified · 2026-10-09 19:24 UTC