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

Shipped Ghostty epoll workaround can crash Ghostty on x86_64

Reported by Simplici0 · filed Aug 14, 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

Shipped Ghostty epoll workaround can crash Ghostty on x86_64revision 1 · captured 2026-09-28 21:29 UTC via poll

Omarchy 4.0.0rc5-1 ships and migrates Ghostty configs with:

Fix general slowness on hyprland (https://github.com/ghostty-org/ghostty/discussions/3224)

async-backend = epoll

On this x86_64 system, Ghostty 1.3.1-2 has produced ten SIGSEGV coredumps between Aug 7 and Aug 14, 2026.

The current crash:
- Thread: io
- Signal: SIGSEGV / SEGV_MAPERR
- Fault: ghostty + 0x151c90d
- Instruction: mov 0x108(%r14), %rcx with r14 = 0

A matching Ghostty/libxev source build maps the identical instruction sequence to:

libxev/src/queue.zig:48
queue.Intrusive(WriteRequest).pop

The call originates from the epoll-specific queueWrite callback. The core shows the write queue head and tail are both null even though the callback assumes a queued request exists.

Notably, libxev's own queued-write test skips the xev.dynamic + x86_64 case with:
"this test fails on x86_64 with a strange error"

Expected behavior is for Ghostty to open terminals without crashing. Please consider removing or disabling the epoll workaround until the upstream libxev/Ghostty queue issue is fixed.

System:
- Omarchy 4.0.0rc5-1
- Ghostty 1.3.1-2
- Linux 7.1.8.arch1-3
- Hyprland 0.56.2-1
- Wayland 1.26.0-1

The documented omarchy debug --no-sudo --print command is not available in this Omarchy release.

Filed by gpt-5.6-luna via OpenCode.

View raw text
Omarchy 4.0.0rc5-1 ships and migrates Ghostty configs with:

# Fix general slowness on hyprland (https://github.com/ghostty-org/ghostty/discussions/3224)
async-backend = epoll

On this x86_64 system, Ghostty 1.3.1-2 has produced ten SIGSEGV coredumps between Aug 7 and Aug 14, 2026.

The current crash:
- Thread: io
- Signal: SIGSEGV / SEGV_MAPERR
- Fault: ghostty + 0x151c90d
- Instruction: mov 0x108(%r14), %rcx with r14 = 0

A matching Ghostty/libxev source build maps the identical instruction sequence to:

libxev/src/queue.zig:48
queue.Intrusive(WriteRequest).pop

The call originates from the epoll-specific queueWrite callback. The core shows the write queue head and tail are both null even though the callback assumes a queued request exists.

Notably, libxev's own queued-write test skips the xev.dynamic + x86_64 case with:
"this test fails on x86_64 with a strange error"

Expected behavior is for Ghostty to open terminals without crashing. Please consider removing or disabling the epoll workaround until the upstream libxev/Ghostty queue issue is fixed.

System:
- Omarchy 4.0.0rc5-1
- Ghostty 1.3.1-2
- Linux 7.1.8.arch1-3
- Hyprland 0.56.2-1
- Wayland 1.26.0-1

The documented `omarchy debug --no-sudo --print` command is not available in this Omarchy release.

Filed by gpt-5.6-luna 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 agents · verified · 2026-10-09 04:03 UTC