https://bugs.kde.org/show_bug.cgi?id=524811

Urs Fleisch <[email protected]> changed:

           What    |Removed                     |Added
----------------------------------------------------------------------------
             Status|REPORTED                    |RESOLVED
         Resolution|---                         |UPSTREAM

--- Comment #2 from Urs Fleisch <[email protected]> ---
Thanks for the report. I tried to reproduce it on Arch Linux, but it did not
crash. So I went to my usual Debian system, installed mangohud and tried to
reproduce it there. Still no "luck". Looking at the stack trace, it does not
look as if this is a problem of Kid3. There are calls to QtMultimedia, FFmpeg,
Vulkan, etc. before the crash happens.

So I asked Gemini. Here is the answer:

No, this is almost certainly not a bug in Kid3.

Setting MANGOHUD=1 is a global dynamic library preload/injection mechanism
intended primarily for Vulkan and OpenGL applications (specifically games).
When set globally via export MANGOHUD=1 or in environment files, MangoHud
injects its hook library (libMangoHud.so) into every process that initializes
graphics/multimedia drivers.

The crash happens deep inside libMangoHud.so during library
initialization/hooking before Kid3's application logic is even executed.
Specifically:

1. Unsafe Library Hooking / Preloading: MangoHud hooks OpenGL/Vulkan/EGL
symbols and windowing/audio subsystems. When an application initializes Qt or
audio/video backends (such as QtMultimedia), MangoHud attempts to intercept
graphics context creation or monitor system APIs.

2. Context Mismatch: If an application doesn't create a traditional
hardware-accelerated 3D Vulkan/OpenGL rendering target (or initializes media
pipelines via GStreamer/FFmpeg without standard 3D contexts), libMangoHud.so
hits a NULL pointer or unexpected state during its hook setup, resulting in a
Segmentation Fault inside libMangoHud.so.

Since libMangoHud.so is in the backtrace frame where the crash occurs, Kid3 is
merely an innocent bystander.

Why couldn't you reproduce it?
There are a few reasons why setting MANGOHUD=1 might not crash Kid3 on your
setup:

1. Build Configuration of Kid3:

  - Kid3 can be compiled with different audio backends (or without QtMultimedia
support enabled/linked).

  - If Kid3 was built with Phonon or without media playback components loaded
at startup, it won't invoke the driver routines that trigger MangoHud's hook
failure.

2. Graphics Drivers & Window System:

  - MangoHud behaves differently depending on whether you are running under
Wayland vs. X11, and whether you are using Mesa (Intel/AMD) vs. proprietary
NVIDIA drivers.

3. MangoHud Version Differences:

  - MangoHud releases frequently fix edge cases in global injection
(MANGOHUD=1) where non-game software crashes on startup.

Do other applications experience this?
Yes. Global enablement (MANGOHUD=1) is notoriously problematic for non-gaming
applications, desktop utilities, and UI frameworks (especially Qt and Electron
apps):

- Gamescope: Running MANGOHUD=1 gamescope frequently segfaults on startup due
to conflicting Vulkan layer injections (requiring mangoapp instead).

- Qt & MPV / Hydrus Network: Qt apps that use QtMultimedia or launch mpv
sub-processes crash or freeze when MANGOHUD=1 forces MangoHud into non-3D video
rendering pipelines.

- Electron / Chromium Apps: Preloading MangoHud into Chromium-based apps often
leads to immediate SIGSEGV crashes when GPU acceleration sandboxing
initializes.

- OBS Studio & Screen Recorders: Applications attempting to set up EGL/OpenGL
contexts purely for offscreen rendering or video capture crash when MangoHud
attempts to attach an overlay UI to non-existent display windows.

How should this be handled?
- For Users: Avoid setting MANGOHUD=1 globally in ~/.bashrc or
/etc/environment. Instead, enable MangoHud only for target games/apps (e.g.,
mangohud %command% in Steam or mangohud app-name in terminal).

- In Bugzilla: The KDE bug report should likely be closed as UPSTREAM or
NOTOURBUG, referring the reporter to report the segfault to the MangoHud GitHub
repository https://github.com/flightlessmango/MangoHud.

-- 
You are receiving this mail because:
You are watching all bug changes.

Reply via email to