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

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

Decided: Out of scope — decided by arbitration 2 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 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

Shell (quickshell) SIGSEGV when a click reassigns a Repeater's array model — crash in VDMListDelegateDataType::createMissingPropertiesrevision 1 · captured 2026-09-28 21:23 UTC via poll

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.

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