Skip to content

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

Description

@rtome85

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

Metadata

Metadata

Assignees

No one assigned

    Labels

    bugSomething isn't working

    Type

    No type

    Projects

    No projects

    Milestone

    No milestone

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions