I’ve developed an automated crash monitoring tool specifically for tracking KWin/Plasma stability issues on rolling-release distros like Arch and Garuda.
What It Does
Automatically detects KWin, Plasma, and GPU crashes via systemd-coredump and journalctl
Captures complete system state at crash time (KWin support info, GPU diagnostics, active effects)
Privacy-sanitized data collection (3 configurable levels)
CSV logging for pattern analysis
Runs as a systemd user service with minimal overhead
The monitor automatically detected the KWin segfault, captured all relevant diagnostic data, and made filing a comprehensive bug report straightforward.
Repository
Written in Fish shell, designed for Arch-based systems. Especially useful if you’re experiencing intermittent crashes and want to systematically track them.
Yeah, it’s been through the wringer. Running it on my daily driver for weeks now, and had a few other Garuda/Arch users testing it on the recent Qt 6.10 mess.
It’s a systemd user service - clone, run ./install.fish, done. Monitors KWin, GPU drivers, kernel issues, the works. Captures full system state when stuff breaks so you’ve got actual data instead of “it crashed sometimes idk”.
Just used it to file https://bugs.kde.org/show_bug.cgi?id=510541 with everything KDE devs needed in one shot. I have a larger issue I am working on and collecting data for as well but not ready to report.
If you’re on Arch-based and dealing with random crashes, spin it up. Any edge cases or weird behavior, let me know.
Looking at the attachment in that bug report, unfortunately it’s missing the most important part: a backtrace of the crashing thread. We always need that for crash reports. Nothing else is even 10% as important.
You’re right, the coredump capture has a timing issue. When multiple processes crash in a cascade, my monitor grabs the most recent dump globally instead of the specific one that triggered the capture.
The kernel log has the crash signature though:
kwin_wayland[74757]: segfault at 35 ip 00007f057a456a26 sp 00007ffd0f623310 error 4 in libQt6Qml.so.6.10.0
I can reproduce this crash reliably with Wobbly Windows enabled. I’ll install debug symbols and trigger it again to get you a proper backtrace. Should have that within a day or so.
Also fixing the monitor to capture the correct PID’s coredump in cascade scenarios, as we type.
Apologies - the install script is missing its executable flag in the repository. I’ll fix that shortly.
For now, you can run:
chmod +x install.fish
./install.fish
The fix will be in the repo, along with a pretty large update later today. I’ll be replying here with the update. Not sure how the executable flag got dropped. Thank you for pointing that out!
The scripts are properly marked as executable in the repository. This is likely a Git configuration issue on your system.
Run this to fix it locally: chmod +x install.fish ./install.fish
If you’re on WSL or have core.fileMode=false set in your Git config, executable permissions may not be preserved on clone. The chmod command above will restore them.