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-4646GitHub issuePublicReceived

Qt 6.11.2 SIGSEGV in QUntypedPropertyBinding on Omarchy shell startup (Variants / Repeater)

Reported by rliessum · filed Aug 22, 2026Closed upstream on 2026-08-24 by its own reporter rliessum, as not planned. Closed by its own reporter — not by itself evidence of a fix.

Received and recorded verbatim. Nothing has been checked yet.

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?
Not yet mapped to any requirement or component.
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. No decision has been recorded yet.

Original report

Qt 6.11.2 SIGSEGV in QUntypedPropertyBinding on Omarchy shell startup (Variants / Repeater)revision 1 · captured 2026-10-04 12:03 UTC via poll

System details

Intel i9-13900, Intel UHD 770 + RTX 3090 + RTX 5080, Omarchy 4.0.0-1

What's wrong?

What happens

Installing the matched Qt 6.11.2 set plus quickshell-git 0.3.0.r20.g28771c7-2 makes omarchy-shell SIGSEGV on first graph load. The bar never comes up.

  • Six SIGSEGVs in ~6s, then omarchy-launch-shell gives up (Giving up on the Omarchy shell after 6 relaunches in under a minute).
  • Hyprland stays up (same PID). ~/.config/omarchy/shell.json and Hyprland lua hashes are unchanged. No GPU / Btrfs / OOM errors. Other apps keep running.
  • Crash handler may xdg-open ~/.cache/quickshell/crashes/<id>/.
  • Downgrade to Qt 6.11.1 + quickshell-git …-1 restores the shell immediately.

This is a startup crash, not a later PipeWire / audio-panel race.

Steps to reproduce

  1. On Omarchy 4.0.0-1 with a working 6.11.1 shell, install the full Qt 6.11.2 set together with matching quickshell-git …-2 (qt6-base 6.11.2-2, qt6-declarative 6.11.2-1, and the rest of the 6.11.2 Qt packages).
  2. omarchy restart shell
  3. Bar dies on launch. Dump under ~/.cache/quickshell/crashes/<id>/.

Reproduced on 2026-08-22; dump 3uf25xt5kt, pid 113856.

Stack (symbolized)

QUntypedPropertyBinding::QUntypedPropertyBinding(const&)   libQt6Core.so.6
QQmlObjectCreator::setPropertyBinding                       libQt6Qml.so.6
QQmlObjectCreator::setupBindings
QQmlObjectCreator::createInstance
QQmlIncubatorPrivate::incubate
QQuickRepeater::regenerate                                  libQt6Quick.so.6
QQuickRepeater::componentComplete
QQmlComponentPrivate::createWithProperties
Variants::updateVariants                                    variants.cpp:154
Variants::setModel                                          variants.cpp:98
RootWrapper::reloadGraph                                    rootwrapper.cpp:160
qs::launch::launch                                          launch.cpp:315

Command: quickshell -n -p /usr/share/omarchy/shell
Config: /usr/share/omarchy/shell/shell.qml
Quickshell: 0.3.0 (28771c7c74b42e20afca0b1b63980cb46515537c), built against Qt 6.11.2

Log dies during construction (FileView starts reading ~/.config/omarchy/shell.json; ShellRoot.Component.onCompleted never runs). No QML exception, no write to config.

Omarchy trigger: Variants { model: Quickshell.screens } (bar / background / notifications) creating a delegate that contains a Repeater. The fault itself is in Qt 6.11.2’s binding copy.

Workaround

IgnorePkg the qt6-* 6.11.2 packages and quickshell-git …-2; keep 6.11.1.

Not the same as

  • #6952 — QQuickRepeater / null QObject* in the audio panel on 6.11.1, later in a session
  • #7634 / #7596 — undefined symbol: QUntypedPropertyBinding from a version mix. Here Qt and Quickshell are both 6.11.2 and still crash. #7634’s “come forward to -2” is the path that kills the bar on this machine.

Versions at crash

  • Omarchy 4.0.0-1 (edge), Hyprland 0.56.2-1, kernel 7.1.8-arch1-3
  • Crash: qt6-base 6.11.2-2, qt6-declarative 6.11.2-1, quickshell-git 0.3.0.r20.g28771c7-2
  • Current pin: qt6-base 6.11.1-1, qt6-declarative 6.11.1-3, quickshell-git 0.3.0.r20.g28771c7-1

omarchy-debug --no-sudo --print captured locally as /tmp/omarchy-debug.log. Crash report: ~/.cache/quickshell/crashes/3uf25xt5kt/report.txt

Filed by Grok 4.6 via Grok Build.

View raw text
### System details

Intel i9-13900, Intel UHD 770 + RTX 3090 + RTX 5080, Omarchy 4.0.0-1

### What's wrong?

## What happens

Installing the matched Qt **6.11.2** set plus `quickshell-git 0.3.0.r20.g28771c7-2` makes `omarchy-shell` SIGSEGV on **first graph load**. The bar never comes up.

- Six SIGSEGVs in ~6s, then `omarchy-launch-shell` gives up (`Giving up on the Omarchy shell after 6 relaunches in under a minute`).
- Hyprland stays up (same PID). `~/.config/omarchy/shell.json` and Hyprland lua hashes are unchanged. No GPU / Btrfs / OOM errors. Other apps keep running.
- Crash handler may `xdg-open` `~/.cache/quickshell/crashes/<id>/`.
- Downgrade to Qt **6.11.1** + `quickshell-git` `…-1` restores the shell immediately.

This is a **startup** crash, not a later PipeWire / audio-panel race.

## Steps to reproduce

1. On Omarchy 4.0.0-1 with a working 6.11.1 shell, install the full Qt 6.11.2 set together with matching `quickshell-git` `…-2` (`qt6-base` 6.11.2-2, `qt6-declarative` 6.11.2-1, and the rest of the 6.11.2 Qt packages).
2. `omarchy restart shell`
3. Bar dies on launch. Dump under `~/.cache/quickshell/crashes/<id>/`.

Reproduced on 2026-08-22; dump `3uf25xt5kt`, pid 113856.

## Stack (symbolized)

```
QUntypedPropertyBinding::QUntypedPropertyBinding(const&)   libQt6Core.so.6
QQmlObjectCreator::setPropertyBinding                       libQt6Qml.so.6
QQmlObjectCreator::setupBindings
QQmlObjectCreator::createInstance
QQmlIncubatorPrivate::incubate
QQuickRepeater::regenerate                                  libQt6Quick.so.6
QQuickRepeater::componentComplete
QQmlComponentPrivate::createWithProperties
Variants::updateVariants                                    variants.cpp:154
Variants::setModel                                          variants.cpp:98
RootWrapper::reloadGraph                                    rootwrapper.cpp:160
qs::launch::launch                                          launch.cpp:315
```

Command: `quickshell -n -p /usr/share/omarchy/shell`
Config: `/usr/share/omarchy/shell/shell.qml`
Quickshell: 0.3.0 (`28771c7c74b42e20afca0b1b63980cb46515537c`), built against Qt 6.11.2

Log dies during construction (FileView starts reading `~/.config/omarchy/shell.json`; `ShellRoot.Component.onCompleted` never runs). No QML exception, no write to config.

Omarchy trigger: `Variants { model: Quickshell.screens }` (bar / background / notifications) creating a delegate that contains a `Repeater`. The fault itself is in Qt 6.11.2’s binding copy.

## Workaround

`IgnorePkg` the `qt6-*` 6.11.2 packages and `quickshell-git` `…-2`; keep 6.11.1.

## Not the same as

- #6952 — `QQuickRepeater` / null `QObject*` in the audio panel on **6.11.1**, later in a session
- #7634 / #7596 — `undefined symbol: QUntypedPropertyBinding` from a **version mix**. Here Qt and Quickshell are both 6.11.2 and still crash. #7634’s “come forward to `-2`” is the path that kills the bar on this machine.

## Versions at crash

- Omarchy 4.0.0-1 (edge), Hyprland 0.56.2-1, kernel 7.1.8-arch1-3
- Crash: `qt6-base` 6.11.2-2, `qt6-declarative` 6.11.2-1, `quickshell-git` 0.3.0.r20.g28771c7-2
- Current pin: `qt6-base` 6.11.1-1, `qt6-declarative` 6.11.1-3, `quickshell-git` 0.3.0.r20.g28771c7-1

`omarchy-debug --no-sudo --print` captured locally as `/tmp/omarchy-debug.log`. Crash report: `~/.cache/quickshell/crashes/3uf25xt5kt/report.txt`

Filed by Grok 4.6 via Grok Build.

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.

No decision has been recorded yet.