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

Hyprland crashes (SIGSEGV) in Aquamarine backend after 3.8.3 update — aquamarine ABI skew

Reported by rtome85 · filed Jul 15, 2026 · open at source

Decided: Out of scope — decided by agents · verified 4 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 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

Hyprland crashes (SIGSEGV) in Aquamarine backend after 3.8.3 update — aquamarine ABI skewrevision 1 · captured 2026-09-28 21:29 UTC via poll

System details

Omarchy: 3.8.3, GPU:AMD Radeon HawkPoint iGPU (1002:1900) — Mesa/RADV, Kernel: 7.1.3-arch1-2

What's wrong?

Summary

After the system update to version 3.8.3, Hyprland crashed mid-session with SIGSEGV inside the Aquamarine backend (Aquamarine::CBackend::dispatchIdle). The session dropped to the SDDM login screen; logging back in started a fresh, stable session (no reboot needed).

The crash report shows a library version skew: Hyprland was built against Aquamarine 0.12.0 but the system now has Aquamarine 0.12.1. This looks like a packaging-alignment issue — Hyprland 0.55.4-1 was not rebuilt against the newer aquamarine 0.12.1-1 that shipped in the same update.

Environment

  • Omarchy: 3.8.3
  • GPU: AMD Radeon HawkPoint iGPU (1002:1900) — Mesa/RADV
  • Kernel: 7.1.3-arch1-2

Installed package versions:

hyprland     0.55.4-1
aquamarine   0.12.1-1     <-- Hyprland built against 0.12.0
hyprutils    0.13.1-1
mesa         1:26.1.4-1
vulkan-radeon 1:26.1.4-1
linux        7.1.3.arch1-2
libdrm       2.4.134-1

What changed (pacman.log, 2026-07-14 12:31)

This update was first run in the boot where the crash occurred:

hyprland          0.55.2-2  -> 0.55.4-1
aquamarine        0.12.0-1  -> 0.12.1-1
mesa              1:26.1.1-2 -> 1:26.1.4-1
vulkan-radeon     1:26.1.1-2 -> 1:26.1.4-1
linux             7.0.10.arch1-1 -> 7.1.3.arch1-2
libdrm            2.4.133-1 -> 2.4.134-1
wayland-protocols 1.48-1 -> 1.49-1
xorg-xwayland     24.1.11-2 -> 24.1.13-1

Crash signature

Hyprland received signal 11 (SEGV)
Version: v0.55.4 (a0136d8c04687bb36eb8a28eb9d1ff92aea99704)
Aquamarine: built against 0.12.0, system has 0.12.1

Stack trace (crashing thread):
  #0  CrashReporter::createAndSaveCrash
  #1  (Hyprland + 0x3bfade)               <- signal handler
  #2  libc  (signal delivery)
  #3  0x...5475b9b0  (n/a + 0x0)          <- jump to invalid/garbage function pointer
  #4  Hyprutils::Signal::CSignalBase::emitInternal   (libhyprutils.so.12)
  #5  Aquamarine::CBackend::dispatchIdle             (libaquamarine.so.11)
  #6  (Hyprland + 0x72901a)
  #7  wl_event_loop_dispatch   (libwayland-server.so.0)
  #8  wl_display_run           (libwayland-server.so.0)
  #9  CEventLoopManager::enterLoop
  #10 main

Other threads were parked in libgallium-26.1.4 (Mesa GPU worker threads).

The crash is a jump to an invalid function pointer while emitting a signal from Aquamarine::CBackend::dispatchIdle — consistent with an ABI mismatch between the Hyprland binary (compiled against aquamarine 0.12.0) and the running aquamarine 0.12.1 shared library.

Impact / frequency

  • Occurred once, mid-session (~11 hours into the session), not a boot loop.
  • Session recovered by re-logging in; machine did not reboot.

Suggested fix

Rebuild/repackage Hyprland against aquamarine 0.12.1 (or pin aligned versions) so the "built against" and "system has" versions match. If this is confirmed to be an upstream Hyprland/aquamarine bug rather than a packaging skew, please forward to https://github.com/hyprwm/Hyprland or https://github.com/hyprwm/aquamarine.

Attachments

  • Full crash report + coredumpctl info backtrace: hyprland-crash-2026-07-15.txt
  • Raw coredump available via coredumpctl (PID 1656) if needed.

hyprland-crash-2026-07-15.txt

View raw text
### System details

Omarchy: 3.8.3, GPU:AMD Radeon HawkPoint iGPU (`1002:1900`) — Mesa/RADV, Kernel: 7.1.3-arch1-2

### What's wrong?

## Summary

After the system update to version 3.8.3, Hyprland crashed mid-session with **SIGSEGV** inside the Aquamarine backend (`Aquamarine::CBackend::dispatchIdle`). The session dropped to the SDDM login screen; logging back in started a fresh, stable session (no reboot needed).

The crash report shows a **library version skew**: Hyprland was built against **Aquamarine 0.12.0** but the system now has **Aquamarine 0.12.1**. This looks like a packaging-alignment issue — Hyprland `0.55.4-1` was not rebuilt against the newer aquamarine `0.12.1-1` that shipped in the same update.

## Environment

- **Omarchy:** 3.8.3
- **GPU:** AMD Radeon HawkPoint iGPU (`1002:1900`) — Mesa/RADV
- **Kernel:** 7.1.3-arch1-2

Installed package versions:

```
hyprland     0.55.4-1
aquamarine   0.12.1-1     <-- Hyprland built against 0.12.0
hyprutils    0.13.1-1
mesa         1:26.1.4-1
vulkan-radeon 1:26.1.4-1
linux        7.1.3.arch1-2
libdrm       2.4.134-1
```

## What changed (pacman.log, 2026-07-14 12:31)

This update was first run in the boot where the crash occurred:

```
hyprland          0.55.2-2  -> 0.55.4-1
aquamarine        0.12.0-1  -> 0.12.1-1
mesa              1:26.1.1-2 -> 1:26.1.4-1
vulkan-radeon     1:26.1.1-2 -> 1:26.1.4-1
linux             7.0.10.arch1-1 -> 7.1.3.arch1-2
libdrm            2.4.133-1 -> 2.4.134-1
wayland-protocols 1.48-1 -> 1.49-1
xorg-xwayland     24.1.11-2 -> 24.1.13-1
```

## Crash signature

```
Hyprland received signal 11 (SEGV)
Version: v0.55.4 (a0136d8c04687bb36eb8a28eb9d1ff92aea99704)
Aquamarine: built against 0.12.0, system has 0.12.1

Stack trace (crashing thread):
  #0  CrashReporter::createAndSaveCrash
  #1  (Hyprland + 0x3bfade)               <- signal handler
  #2  libc  (signal delivery)
  #3  0x...5475b9b0  (n/a + 0x0)          <- jump to invalid/garbage function pointer
  #4  Hyprutils::Signal::CSignalBase::emitInternal   (libhyprutils.so.12)
  #5  Aquamarine::CBackend::dispatchIdle             (libaquamarine.so.11)
  #6  (Hyprland + 0x72901a)
  #7  wl_event_loop_dispatch   (libwayland-server.so.0)
  #8  wl_display_run           (libwayland-server.so.0)
  #9  CEventLoopManager::enterLoop
  #10 main
```

Other threads were parked in `libgallium-26.1.4` (Mesa GPU worker threads).

The crash is a jump to an invalid function pointer while emitting a signal from `Aquamarine::CBackend::dispatchIdle` — consistent with an ABI mismatch between the Hyprland binary (compiled against aquamarine 0.12.0) and the running aquamarine 0.12.1 shared library.

## Impact / frequency

- Occurred once, mid-session (~11 hours into the session), not a boot loop.
- Session recovered by re-logging in; machine did not reboot.

## Suggested fix

Rebuild/repackage Hyprland against aquamarine 0.12.1 (or pin aligned versions) so the "built against" and "system has" versions match. If this is confirmed to be an upstream Hyprland/aquamarine bug rather than a packaging skew, please forward to https://github.com/hyprwm/Hyprland or https://github.com/hyprwm/aquamarine.

## Attachments

- Full crash report + `coredumpctl info` backtrace: `hyprland-crash-2026-07-15.txt`
- Raw coredump available via `coredumpctl` (PID 1656) if needed.

[hyprland-crash-2026-07-15.txt](https://github.com/user-attachments/files/30040548/hyprland-crash-2026-07-15.txt)
  • hyprland-crash-2026-07-15.txt

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 agents · verified · 2026-10-09 03:59 UTC