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

Hyprland 0.56.2 SIGSEGV on resume-from-suspend (lid open) — touch input null deref in CWLSurfaceResource::client()

Reported by promiseowolabi · filed Aug 29, 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 0.56.2 SIGSEGV on resume-from-suspend (lid open) — touch input null deref in CWLSurfaceResource::client()revision 1 · captured 2026-09-28 21:24 UTC via poll

What's wrong?

Hyprland reliably crashes (SIGSEGV) on resume from suspend when the laptop is woken by opening the lid. The compositor dies during the resume sequence, taking the whole session down and forcing a reboot.

This looks like an upstream Hyprland bug (a null/dangling surface deref in the touch-input path that fires during output re-modeset on resume), but I'm reporting it here since Omarchy 4.0.1 ships Hyprland 0.56.2 and it's fully reproducible on a stock install.

Steps to reproduce
1. Close the lid (system suspends).
2. Open the lid to wake.
3. During resume, eDP-1 is re-modeset and the touchpad resumes; Hyprland segfaults instead of restoring the session.

Root cause (from the crash backtrace)
The fatal frame is CWLSurfaceResource::client() called on a null/destroyed surface, reached via the touch-down path that runs while the output is being re-enabled:

#4  CWLSurfaceResource::client()                        <-- SIGSEGV here
#5  CSeatManager::sendTouchDown(CSharedPointer<CWLSurfaceResource>, ...)
#6  CInputManager::onTouchDown(ITouch::SDownEvent)
...
#14 Aquamarine::CSession::handleLibinputEvent
#15 Aquamarine::CSession::dispatchLibinputEvents
#17 wl_event_loop_dispatch

Crash report header

Hyprland received signal 11(SEGV)
Version: efb50993780079460b0cbed1363e2166a2de1d9f  (Tag: v0.56.2, Date: Wed Aug 5 14:13:21 2026)
GPU: Intel Raptor Lake-P [Iris Xe Graphics] [8086:a7a1]
Libraries: Hyprutils built against 0.14.0, system has 0.14.1 (minor skew; not believed related)

Log tail leading up to the crash (aquamarine re-enabling the internal display, then touchpad resume as the last line before the segfault):

drm: eDP-1 is disabled, releasing crtc 151
drm: Disabling output eDP-1
drm: Modesetting eDP-1 with [email protected]
drm: Connector eDP-1 enabledState changed false -> true
...
[libinput] event13 - lid: resume touchpad

journalctl (crashed boot) — crash coincides exactly with resume-from-suspend on lid open:

Aug 29 21:12:44 home-dev systemd-logind[891]: Lid opened.
Aug 29 21:12:44 home-dev uwsm_hyprland.desktop[1323]: Hyprland has crashed :( Consult the crash report ...
Aug 29 21:12:44 home-dev systemd-sleep[1355196]: System returned from sleep operation 'suspend'.
Aug 29 21:12:44 home-dev kernel: PM: suspend exit
Aug 29 21:12:45 home-dev systemd-coredump[1355739]: Process 1323 (Hyprland) of user 1000 terminated abnormally, processing...
Aug 29 21:12:47 home-dev systemd-coredump[1355740]: Process 1323 (Hyprland) dumped core.

System information (from omarchy-debug; sudo/interactive steps skipped so the full uploadable log couldn't be generated non-interactively — happy to attach it):

Machine:   Lenovo ThinkPad X13 Gen 4 (21EYS5PD00), Firmware UEFI N3OET25W 1.08
CPU:       13th Gen Intel Core i5-1335U (Raptor Lake)
Graphics:  Intel Raptor Lake-P [Iris Xe Graphics], driver i915 (kernel), Xe arch
Display:   Wayland, Hyprland 0.56.2, Monitor eDP-1 1920x1200
Kernel:    7.1.9-arch1-2 x86_64
Distro:    Omarchy 4.0.1 (omarchy 4.0.1-1)
View raw text
### What's wrong?

Hyprland reliably **crashes (SIGSEGV) on resume from suspend** when the laptop is woken by opening the lid. The compositor dies during the resume sequence, taking the whole session down and forcing a reboot.

This looks like an upstream Hyprland bug (a null/dangling surface deref in the touch-input path that fires during output re-modeset on resume), but I'm reporting it here since Omarchy 4.0.1 ships Hyprland 0.56.2 and it's fully reproducible on a stock install.

**Steps to reproduce**
1. Close the lid (system suspends).
2. Open the lid to wake.
3. During resume, `eDP-1` is re-modeset and the touchpad resumes; Hyprland segfaults instead of restoring the session.

**Root cause (from the crash backtrace)**
The fatal frame is `CWLSurfaceResource::client()` called on a null/destroyed surface, reached via the touch-down path that runs while the output is being re-enabled:

```
#4  CWLSurfaceResource::client()                        <-- SIGSEGV here
#5  CSeatManager::sendTouchDown(CSharedPointer<CWLSurfaceResource>, ...)
#6  CInputManager::onTouchDown(ITouch::SDownEvent)
...
#14 Aquamarine::CSession::handleLibinputEvent
#15 Aquamarine::CSession::dispatchLibinputEvents
#17 wl_event_loop_dispatch
```

**Crash report header**
```
Hyprland received signal 11(SEGV)
Version: efb50993780079460b0cbed1363e2166a2de1d9f  (Tag: v0.56.2, Date: Wed Aug 5 14:13:21 2026)
GPU: Intel Raptor Lake-P [Iris Xe Graphics] [8086:a7a1]
Libraries: Hyprutils built against 0.14.0, system has 0.14.1 (minor skew; not believed related)
```

**Log tail leading up to the crash** (aquamarine re-enabling the internal display, then touchpad resume as the last line before the segfault):
```
drm: eDP-1 is disabled, releasing crtc 151
drm: Disabling output eDP-1
drm: Modesetting eDP-1 with [email protected]
drm: Connector eDP-1 enabledState changed false -> true
...
[libinput] event13 - lid: resume touchpad
```

**journalctl (crashed boot) — crash coincides exactly with resume-from-suspend on lid open:**
```
Aug 29 21:12:44 home-dev systemd-logind[891]: Lid opened.
Aug 29 21:12:44 home-dev uwsm_hyprland.desktop[1323]: Hyprland has crashed :( Consult the crash report ...
Aug 29 21:12:44 home-dev systemd-sleep[1355196]: System returned from sleep operation 'suspend'.
Aug 29 21:12:44 home-dev kernel: PM: suspend exit
Aug 29 21:12:45 home-dev systemd-coredump[1355739]: Process 1323 (Hyprland) of user 1000 terminated abnormally, processing...
Aug 29 21:12:47 home-dev systemd-coredump[1355740]: Process 1323 (Hyprland) dumped core.
```

**System information** (from `omarchy-debug`; `sudo`/interactive steps skipped so the full uploadable log couldn't be generated non-interactively — happy to attach it):
```
Machine:   Lenovo ThinkPad X13 Gen 4 (21EYS5PD00), Firmware UEFI N3OET25W 1.08
CPU:       13th Gen Intel Core i5-1335U (Raptor Lake)
Graphics:  Intel Raptor Lake-P [Iris Xe Graphics], driver i915 (kernel), Xe arch
Display:   Wayland, Hyprland 0.56.2, Monitor eDP-1 1920x1200
Kernel:    7.1.9-arch1-2 x86_64
Distro:    Omarchy 4.0.1 (omarchy 4.0.1-1)
```

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 10:01 UTC