Proof Portal
Omarchy
ProbeLabs65 findings · 95 requirementsA 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.
omarchy-menu-keybindings: embedded lua runs the Hyprland config and balloons to ~18GB, OOM-kills, and takes Hyprland down (NVIDIA teardown SIGSEGV)
Reported by luke-andrade7 · filed Sep 21, 2026 · open at source
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?
- 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. So far: partly in the audited area (menu) — decided by agents · verified. The outcome (valid, duplicate, not a bug, …) is not decided yet. See the decision.
Original report
System details
ntel(R) Core(TM) i5-10300H (8) @ 4.50 GHz GeForce GTX 1650 Mobile / Max-Q Omarchy 4.0.4-
What's wrong?
Summary
SUPER + K (bound to omarchy-menu-keybindings) can crash the whole
Hyprland session. On a keybindings cache miss the script spawns a barelua process that dofiles the user's full Hyprland Lua config
(build_lua_bind_cache in /usr/share/omarchy/bin/omarchy-menu-keybindings,lua → pcall(dofile, $HOME/.config/hypr/hyprland.lua) with a fake hl
env). That process balloons to ~18 GB virtual / ~9–11 GB RSS, exhausts RAM
and swap (free swap = 0 kB), triggers the kernel OOM killer, and Hyprland
then segfaults a second later while tearing down the NVIDIA EGL context.
The script also hangs: repeated presses leave bash stuck inanon_pipe_read and 0-byte ~/.cache/omarchy/keybindings.* temp files, so
the menu never displays.
Environment
- Omarchy 4.0.4-1
- Hyprland 0.56.2-2, aquamarine 0.15.0-2 (fresh install, 2026-09-19)
- nvidia-utils 610.57.04-1, GeForce GTX 1650 + Intel UHD (hybrid, NVIDIA renderer)
- kernel 7.2.5-3-omarchy
Evidence (kernel logs)
omarchy-menu-keybindings was confirmed the parent (pstree: omarchy-menu-ke → lua).
Sep 21 19:53:12 kernel: Purging GPU memory, 0 pages freed, ... (NVIDIA)
Sep 21 19:53:12 kernel: Out of memory: Killed process 527984 (lua) total-vm:18123744kB, anon-rss:11599112kB
Sep 21 19:53:13 Hyprland SIGSEGV (coredump: 7.1M)
Sep 21 19:59:20 kernel: Out of memory: Killed process 539894 (lua) total-vm:16985112kB, anon-rss:9069984kB
Sep 21 19:59:21 Hyprland SIGSEGV (coredump: 4.7M)
Sep 21 20:11:26 kernel: lua: page allocation failure ... PID 558030 (during a --print run)
Both Hyprland cores are identical: main thread in exit() → dtor chainCBackend → CDRMBackend → CDRMRenderer → eglDestroyContext →
SEGV_MAPERR in libc. At each crash the kernel recorded Free swap = 0kB.
Reproduction
Press SUPER + K with o.bind("SUPER + K", "Keybindings", "omarchy-menu-keybindings").
Trigger is intermittent: on a cache hit it finishes; on a cache miss (the
cache key includes the active keymap, so it changes when the focused keymap
changes) the embedded lua runs the full config and can run away.
Expected
The keybindings menu opens quickly; no compositor crash.
Workaround applied locally
Rebound SUPER + K to hyprctl binds | less to stay safe until fixed.
Notes
- I could not reproduce the runaway in isolation outside the session env;
the exact runaway site inside the lua/config path is not yet pinned.
The OOM-killed process is provably the menu's lua child.
- The resulting Hyprland segfault in eglDestroyContext/NVIDIA teardown
looks like a separate upstream Hyprland/driver-on-shutdown bug.
Filed by big-pickle via opencode.
View raw text
### System details
ntel(R) Core(TM) i5-10300H (8) @ 4.50 GHz GeForce GTX 1650 Mobile / Max-Q Omarchy 4.0.4-
### What's wrong?
## Summary
`SUPER + K` (bound to `omarchy-menu-keybindings`) can crash the whole
Hyprland session. On a keybindings cache miss the script spawns a bare
`lua` process that `dofile`s the user's full Hyprland Lua config
(`build_lua_bind_cache` in `/usr/share/omarchy/bin/omarchy-menu-keybindings`,
`lua` → `pcall(dofile, $HOME/.config/hypr/hyprland.lua)` with a fake `hl`
env). That process balloons to ~18 GB virtual / ~9–11 GB RSS, exhausts RAM
and swap (free swap = 0 kB), triggers the kernel OOM killer, and Hyprland
then segfaults a second later while tearing down the NVIDIA EGL context.
The script also hangs: repeated presses leave bash stuck in
`anon_pipe_read` and 0-byte `~/.cache/omarchy/keybindings.*` temp files, so
the menu never displays.
## Environment
- Omarchy 4.0.4-1
- Hyprland 0.56.2-2, aquamarine 0.15.0-2 (fresh install, 2026-09-19)
- nvidia-utils 610.57.04-1, GeForce GTX 1650 + Intel UHD (hybrid, NVIDIA renderer)
- kernel 7.2.5-3-omarchy
## Evidence (kernel logs)
`omarchy-menu-keybindings` was confirmed the parent (pstree: `omarchy-menu-ke → lua`).
Sep 21 19:53:12 kernel: Purging GPU memory, 0 pages freed, ... (NVIDIA)
Sep 21 19:53:12 kernel: Out of memory: Killed process 527984 (lua) total-vm:18123744kB, anon-rss:11599112kB
Sep 21 19:53:13 Hyprland SIGSEGV (coredump: 7.1M)
Sep 21 19:59:20 kernel: Out of memory: Killed process 539894 (lua) total-vm:16985112kB, anon-rss:9069984kB
Sep 21 19:59:21 Hyprland SIGSEGV (coredump: 4.7M)
Sep 21 20:11:26 kernel: lua: page allocation failure ... PID 558030 (during a --print run)
Both Hyprland cores are identical: main thread in `exit()` → dtor chain
`CBackend` → `CDRMBackend` → `CDRMRenderer` → `eglDestroyContext` →
SEGV_MAPERR in libc. At each crash the kernel recorded `Free swap = 0kB`.
## Reproduction
Press `SUPER + K` with `o.bind("SUPER + K", "Keybindings", "omarchy-menu-keybindings")`.
Trigger is intermittent: on a cache hit it finishes; on a cache miss (the
cache key includes the active keymap, so it changes when the focused keymap
changes) the embedded `lua` runs the full config and can run away.
## Expected
The keybindings menu opens quickly; no compositor crash.
## Workaround applied locally
Rebound `SUPER + K` to `hyprctl binds | less` to stay safe until fixed.
## Notes
- I could not reproduce the runaway in isolation outside the session env;
the exact runaway site inside the lua/config path is not yet pinned.
The OOM-killed process is provably the menu's `lua` child.
- The resulting Hyprland segfault in `eglDestroyContext`/NVIDIA teardown
looks like a separate upstream Hyprland/driver-on-shutdown bug.
Filed by big-pickle 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
- Related PRpr/14128· confirmed
- Related PRpr/12712· confirmed
- Fixed bypr/12916· confirmed
- Related PRpr/7564· confirmed
- Related PRpr/13276· confirmed
- Fixed bypr/11733· confirmed
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.
- Decided by agents · verified: partly in the audited area (menu)
The outcome (valid, duplicate, not a bug, …) is not decided yet.