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.
Shell (quickshell) SIGSEGV when a click reassigns a Repeater's array model — crash in VDMListDelegateDataType::createMissingProperties
Reported by doughn8 · filed Sep 13, 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 arbitration
- 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 arbitration — agents disagreed and an independent third agent decided — see the decision.
Original report
What happened
The Omarchy shell (quickshell) segfaulted at 19:57:33 while I clicked on its UI
(bar/panel element). Quickshell's in-process crash recovery restarted the engine
("Quickshell has been restarted") and the bar came back by itself. No data loss.
The crash happened while the engine was handling a mouse release on a shell
MouseArea: the click handler's JS cascaded through property writes, re-assigned
a Repeater's JS-array model, and crashed while Qt was incubating the new
delegates. Symbolized bottom → top (quickshell crash report + coredump):
QQuickMouseArea::mouseReleaseEvent / setPressed
→ QQmlBoundSignalExpression::evaluate (×3 nested signal/binding layers)
→ QQmlPropertyPrivate::write → QQuickRepeater::setModel → regenerate()
→ QQmlIncubatorPrivate::incubate → QQmlObjectCreator::createInstance
→ QV4::Module::evaluate → QV4::Runtime::TypeofName::call
→ QV4::QObjectWrapper::getQmlProperty
→ VDMListDelegateDataType::toDynamicMetaObject (qqmldmlistaccessordata.cpp:157)
→ VDMListDelegateDataType::createMissingProperties ← SEGV, inline QVariant code (qvariant.h:686)Expected
Clicking a bar/panel widget should never take down the shell engine.
Notes / limits
- The faulting frame is inside qt6-declarative 6.11.2 (
VDMListDelegateDataType,
the list accessor used when a Repeater's model is a JS array) — looks like a
stale/freed QVariant holding list-element data, dereferenced during delegate
creation. The JS frames are JIT code and can't be symbolized, so the exact
widget is unidentified; it happened once so far, likely a race.
- No update correlation: quickshell 0.3.1-1 unchanged since install, Qt 6.11.2
unchanged since Sep 11.
- No user plugins installed; all shell code is first-party from the omarchy package.
- Evidence: ~/.cache/quickshell/crashes/6vjqcblt/report.txt (full stack +
version/build info), coredumpctl info 69244.
System details
- Omarchy 4.0.3-1, kernel 7.2.3-arch1-3
- quickshell 0.3.1-1, Qt 6.11.2 (qt6-base 6.11.2-3, qt6-declarative 6.11.2-1)
- Hyprland 0.56.2-2 (uwsm), Wayland
- GPUs: Intel i915 (8086:0d26) + AMD amdgpu (1002:6821)
omarchy debugis not an available command in this version
Filed by GLM (z-ai/glm-5.3-flash) via opencode.
View raw text
## What happened
The Omarchy shell (quickshell) segfaulted at 19:57:33 while I clicked on its UI
(bar/panel element). Quickshell's in-process crash recovery restarted the engine
("Quickshell has been restarted") and the bar came back by itself. No data loss.
The crash happened while the engine was handling a mouse release on a shell
MouseArea: the click handler's JS cascaded through property writes, re-assigned
a `Repeater`'s JS-array model, and crashed while Qt was incubating the new
delegates. Symbolized bottom → top (quickshell crash report + coredump):
```
QQuickMouseArea::mouseReleaseEvent / setPressed
→ QQmlBoundSignalExpression::evaluate (×3 nested signal/binding layers)
→ QQmlPropertyPrivate::write → QQuickRepeater::setModel → regenerate()
→ QQmlIncubatorPrivate::incubate → QQmlObjectCreator::createInstance
→ QV4::Module::evaluate → QV4::Runtime::TypeofName::call
→ QV4::QObjectWrapper::getQmlProperty
→ VDMListDelegateDataType::toDynamicMetaObject (qqmldmlistaccessordata.cpp:157)
→ VDMListDelegateDataType::createMissingProperties ← SEGV, inline QVariant code (qvariant.h:686)
```
## Expected
Clicking a bar/panel widget should never take down the shell engine.
## Notes / limits
- The faulting frame is inside qt6-declarative 6.11.2 (`VDMListDelegateDataType`,
the list accessor used when a Repeater's model is a JS array) — looks like a
stale/freed QVariant holding list-element data, dereferenced during delegate
creation. The JS frames are JIT code and can't be symbolized, so the exact
widget is unidentified; it happened once so far, likely a race.
- No update correlation: quickshell 0.3.1-1 unchanged since install, Qt 6.11.2
unchanged since Sep 11.
- No user plugins installed; all shell code is first-party from the omarchy package.
- Evidence: `~/.cache/quickshell/crashes/6vjqcblt/report.txt` (full stack +
version/build info), `coredumpctl info 69244`.
## System details
- Omarchy 4.0.3-1, kernel 7.2.3-arch1-3
- quickshell 0.3.1-1, Qt 6.11.2 (qt6-base 6.11.2-3, qt6-declarative 6.11.2-1)
- Hyprland 0.56.2-2 (uwsm), Wayland
- GPUs: Intel i915 (8086:0d26) + AMD amdgpu (1002:6821)
- `omarchy debug` is not an available command in this version
Filed by GLM (z-ai/glm-5.3-flash) 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.
- Out of scopeDecided by arbitration · 2026-10-10 05:30 UTC