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.
Minecraft Launcher: every unzip.mojom.Unzipper / patch.mojom.FilePatcher subprocess aborts with uncaught std::bad_function_call
Reported by symonbaikov · filed Sep 11, 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?
- 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
Minecraft Launcher: every unzip.mojom.Unzipper / patch.mojom.FilePatcher subprocess aborts with uncaught std::bad_function_call
What happens
The launcher UI runs fine, but every Chromium utility subprocess of sub-typeunzip.mojom.Unzipper or patch.mojom.FilePatcher aborts immediately on startup
with SIGABRT. Other utility sub-types (renderer, gpu, network.mojom.NetworkService,
storage.mojom.StorageService, audio.mojom.AudioService) start normally and never crash.
Consequence: the services that unpack and patch downloaded game files never run, so
game installs/updates that depend on them fail or stall.
Expected
Unzipper/FilePatcher subprocesses start and complete normally.
Evidence
Cause, confirmed by recovering the in-flight exception object from the core dump:
an uncaught `std::bad_function_call` — an empty std::function invoked with no
matching handler anywhere on the stack, so unwinding runs off the end and terminates.
typeinfo for std::bad_function_call (resolved from __cxa_exception header)
Symbolized stack (Arch debuginfod; liblauncher.so ships no debug symbols, so its
frames stay unresolved — not guessed):
#0 __pthread_kill_implementation
#2 __GI_raise
#3 __GI_abort
#4 __gnu_cxx::__verbose_terminate_handler ()
#5 _cxxabiv1::_terminate ()
#6 __cxa_call_terminate (ue_header_in=0x55fcf1792d50)
#7 _cxxabiv1::_gxx_personality_v0 (actions=6, ...)
#8 _Unwind_RaiseException_Phase2
#9 _Unwind_Resume
#10 ?? () from ~/.minecraft/launcher/liblauncher.so (+0x1360a3)
#11 ?? () from ~/.minecraft/launcher/liblauncher.so (+0x29f2f1)
...
#14 RunLauncher () from ~/.minecraft/launcher/liblauncher.so
All other threads are idle CEF workers parked in pthread_cond_wait; nothing else in flight.
Reproduction / correlation
The launcher's own log spawn lines match the coredumps 1:1, every single time
(log timestamps UTC, coredumps IDT = UTC+3):
| Log spawns (UTC) | Coredumps (IDT) |
|---|---|
| 15 x Unzipper, 2026-09-10 05:40:55-59 | 15 aborts, 08:40:55-59 |
| 1 x Unzipper, 2026-09-10 10:40:56 | 1 abort, 13:40:56 |
| 1 x Unzipper, 2026-09-10 15:40:55 | 1 abort, 18:40:55 |
| 1 x Unzipper, 2026-09-10 20:40:55 | 1 abort, 23:40:55 |
| FilePatcher + Unzipper, 2026-09-11 12:27:21 | 2 aborts, 15:27:21 |
The ~5-hourly cadence is the launcher's periodic update check. 100% failure rate for
these two sub-types since install; 0% for all others.
Example log line immediately preceding a crash:
[Info: 2026-09-11 12:27:21.193741505: LauncherAppBrowser.cpp(82)] Will launch a
Chromium subprocess with command line string: /proc/self/exe --type=utility
--utility-sub-type=patch.mojom.FilePatcher --lang=en-US --service-sandbox-type=service
--no-sandbox ...
Crashed processes inherit the zygote's argv, so coredumpctl reports them as--type=zygote; the sub-type is only visible in the launcher log.
Ruled out
- Not OOM: 62 GB RAM, 33 GB available, 122 GB swap free, no OOM kills in journal.
- Not disk: 39% used.
- Not a system update: package installed 2026-09-10 08:35, first crash burst 08:40,
five minutes later. Present since install.
- Not resource/config drift: reproduces on every attempt across two days and a reboot.
System
- Omarchy 4.0.3-1, Linux 7.2.3-arch1-3, Hyprland (Wayland)
- minecraft-launcher 1:2.1.3-3 (repo: omarchy, pkgs.omarchy.org/stable)
- The aborting binary is NOT the packaged one: it is Mojang's self-downloaded
~/.minecraft/launcher/liblauncher.so (written 2026-09-10 08:39), bundled CEF.
Note on scope
The faulting code is in Mojang's proprietary liblauncher.so, which is identical on
every distribution. I have not verified this is Omarchy-specific — it has not been
compared against vanilla Arch or another distro. Unless it can be shown to reproduce
only under Omarchy, this is most likely an upstream Mojang bug and belongs at
https://bugs.mojang.com under the Minecraft Launcher project.
Separate, possibly related
The Omarchy-packaged bootstrap /usr/bin/minecraft-launcher also took a SIGSEGV
(SEGV_MAPERR, null instruction pointer at frame #0) on 2026-09-10 08:35:48, during
GTK3 key-event dispatch:
#0 0x0000000000000000
#1 g_signal_emit_valist (libgobject-2.0.so.0)
#3 ?? (libgtk-3.so.0 + 0xbad66)
#9 gtk_window_propagate_key_event (libgtk-3.so.0)
#17 gtk_main_do_event (libgtk-3.so.0)
Also a null callback, but a different binary and a different trigger. Not investigated further.
Filed by Claude Opus 5 (1M context) via Claude Code.
View raw text
# Minecraft Launcher: every unzip.mojom.Unzipper / patch.mojom.FilePatcher subprocess aborts with uncaught std::bad_function_call
## What happens
The launcher UI runs fine, but every Chromium *utility* subprocess of sub-type
`unzip.mojom.Unzipper` or `patch.mojom.FilePatcher` aborts immediately on startup
with SIGABRT. Other utility sub-types (renderer, gpu, network.mojom.NetworkService,
storage.mojom.StorageService, audio.mojom.AudioService) start normally and never crash.
Consequence: the services that unpack and patch downloaded game files never run, so
game installs/updates that depend on them fail or stall.
## Expected
Unzipper/FilePatcher subprocesses start and complete normally.
## Evidence
Cause, confirmed by recovering the in-flight exception object from the core dump:
an **uncaught `std::bad_function_call`** — an empty `std::function` invoked with no
matching handler anywhere on the stack, so unwinding runs off the end and terminates.
typeinfo for std::bad_function_call (resolved from __cxa_exception header)
Symbolized stack (Arch debuginfod; liblauncher.so ships no debug symbols, so its
frames stay unresolved — not guessed):
#0 __pthread_kill_implementation
#2 __GI_raise
#3 __GI_abort
#4 __gnu_cxx::__verbose_terminate_handler ()
#5 __cxxabiv1::__terminate ()
#6 __cxa_call_terminate (ue_header_in=0x55fcf1792d50)
#7 __cxxabiv1::__gxx_personality_v0 (actions=6, ...)
#8 _Unwind_RaiseException_Phase2
#9 _Unwind_Resume
#10 ?? () from ~/.minecraft/launcher/liblauncher.so (+0x1360a3)
#11 ?? () from ~/.minecraft/launcher/liblauncher.so (+0x29f2f1)
...
#14 RunLauncher () from ~/.minecraft/launcher/liblauncher.so
All other threads are idle CEF workers parked in pthread_cond_wait; nothing else in flight.
## Reproduction / correlation
The launcher's own log spawn lines match the coredumps 1:1, every single time
(log timestamps UTC, coredumps IDT = UTC+3):
| Log spawns (UTC) | Coredumps (IDT) |
|-------------------------------------------|------------------------|
| 15 x Unzipper, 2026-09-10 05:40:55-59 | 15 aborts, 08:40:55-59 |
| 1 x Unzipper, 2026-09-10 10:40:56 | 1 abort, 13:40:56 |
| 1 x Unzipper, 2026-09-10 15:40:55 | 1 abort, 18:40:55 |
| 1 x Unzipper, 2026-09-10 20:40:55 | 1 abort, 23:40:55 |
| FilePatcher + Unzipper, 2026-09-11 12:27:21| 2 aborts, 15:27:21 |
The ~5-hourly cadence is the launcher's periodic update check. 100% failure rate for
these two sub-types since install; 0% for all others.
Example log line immediately preceding a crash:
[Info: 2026-09-11 12:27:21.193741505: LauncherAppBrowser.cpp(82)] Will launch a
Chromium subprocess with command line string: /proc/self/exe --type=utility
--utility-sub-type=patch.mojom.FilePatcher --lang=en-US --service-sandbox-type=service
--no-sandbox ...
Crashed processes inherit the zygote's argv, so coredumpctl reports them as
`--type=zygote`; the sub-type is only visible in the launcher log.
## Ruled out
- Not OOM: 62 GB RAM, 33 GB available, 122 GB swap free, no OOM kills in journal.
- Not disk: 39% used.
- Not a system update: package installed 2026-09-10 08:35, first crash burst 08:40,
five minutes later. Present since install.
- Not resource/config drift: reproduces on every attempt across two days and a reboot.
## System
- Omarchy 4.0.3-1, Linux 7.2.3-arch1-3, Hyprland (Wayland)
- minecraft-launcher 1:2.1.3-3 (repo: omarchy, pkgs.omarchy.org/stable)
- The aborting binary is NOT the packaged one: it is Mojang's self-downloaded
~/.minecraft/launcher/liblauncher.so (written 2026-09-10 08:39), bundled CEF.
## Note on scope
The faulting code is in Mojang's proprietary liblauncher.so, which is identical on
every distribution. I have not verified this is Omarchy-specific — it has not been
compared against vanilla Arch or another distro. Unless it can be shown to reproduce
only under Omarchy, this is most likely an upstream Mojang bug and belongs at
https://bugs.mojang.com under the Minecraft Launcher project.
## Separate, possibly related
The Omarchy-packaged bootstrap /usr/bin/minecraft-launcher also took a SIGSEGV
(SEGV_MAPERR, null instruction pointer at frame #0) on 2026-09-10 08:35:48, during
GTK3 key-event dispatch:
#0 0x0000000000000000
#1 g_signal_emit_valist (libgobject-2.0.so.0)
#3 ?? (libgtk-3.so.0 + 0xbad66)
#9 gtk_window_propagate_key_event (libgtk-3.so.0)
#17 gtk_main_do_event (libgtk-3.so.0)
Also a null callback, but a different binary and a different trigger. Not investigated further.
---
Filed by Claude Opus 5 (1M context) via Claude Code.
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 11:51 UTC