2024-02-20 21:16:07 +01:00
|
|
|
---
|
|
|
|
weight: 10
|
|
|
|
title: Crashes and Bugs
|
|
|
|
---
|
|
|
|
|
|
|
|
## Getting the log
|
2022-08-12 20:46:36 +02:00
|
|
|
|
|
|
|
If you are in a TTY, and the hyprland session that crashed was the last one you
|
|
|
|
launched, the log will be printed with
|
|
|
|
|
2022-08-13 19:56:20 +02:00
|
|
|
```sh
|
2022-08-12 20:46:36 +02:00
|
|
|
cat /tmp/hypr/$(ls -t /tmp/hypr/ | head -n 1)/hyprland.log
|
|
|
|
```
|
|
|
|
|
2022-08-13 19:56:20 +02:00
|
|
|
feel free to save it to a file, save, copy, etc.
|
2022-08-12 20:46:36 +02:00
|
|
|
|
|
|
|
if you are in a Hyprland session, and you want the log of the last session, use
|
|
|
|
|
2022-08-13 19:56:20 +02:00
|
|
|
```sh
|
2022-08-12 20:46:36 +02:00
|
|
|
cat /tmp/hypr/$(ls -t /tmp/hypr/ | head -n 2 | tail -n 1)/hyprland.log
|
|
|
|
```
|
|
|
|
|
2024-02-20 21:16:07 +01:00
|
|
|
## Obtaining the Hyprland Crash Report
|
2024-02-20 01:54:45 +01:00
|
|
|
|
2024-02-20 21:16:07 +01:00
|
|
|
If you have `$XDG_CACHE_HOME` set, the crash report directory is
|
|
|
|
`$XDG_CACHE_HOME/hyprland`. If not, it's `$HOME/.cache/hyprland`.
|
2024-02-20 01:54:45 +01:00
|
|
|
|
2024-02-20 21:16:07 +01:00
|
|
|
Go to the crash report directory and you should find a file named
|
|
|
|
`hyprlandCrashReport[XXXX].txt` where `[XXXX]` is the PID of the process that
|
|
|
|
crashed.
|
2024-02-20 01:54:45 +01:00
|
|
|
|
|
|
|
Attach that file to your issue.
|
|
|
|
|
2024-02-20 21:16:07 +01:00
|
|
|
## Crashes at launch
|
2022-08-12 20:46:36 +02:00
|
|
|
|
|
|
|
Diagnose the issue by what is in the log:
|
|
|
|
|
|
|
|
- `sWLRBackend was NULL!` -> launch in the TTY and refer to the wlr logs in RED.
|
|
|
|
- `Monitor X has NO PREFERRED MODE, and an INVALID one was requested` -> your
|
|
|
|
monitor is bork.
|
|
|
|
- Other -> see the coredump. Use `coredumpctl`, find the latest one's PID and do
|
|
|
|
`coredumpctl info PID`.
|
|
|
|
- failing on a driver (e.g. `radeon`) -> try compiling with
|
|
|
|
`make legacyrenderer`, if that doesn't help, report an issue.
|
|
|
|
- failing on `wlr-xxx` -> try compiling with `make legacyrenderer`, if that
|
|
|
|
doesn't help, report an issue, and also refer to the TTY wlr logs in RED like
|
|
|
|
in the first point.
|
|
|
|
- failing on `Hyprland` -> report an issue.
|
|
|
|
|
2024-02-20 21:16:07 +01:00
|
|
|
## Crashes not at launch
|
2022-08-12 20:46:36 +02:00
|
|
|
|
2022-10-10 16:22:57 +02:00
|
|
|
Report an issue on GitHub or on the Discord server.
|
2022-08-12 20:46:36 +02:00
|
|
|
|
2024-02-20 21:16:07 +01:00
|
|
|
## Bugs
|
2022-08-12 20:46:36 +02:00
|
|
|
|
2024-02-20 21:16:07 +01:00
|
|
|
First of all, **_READ THE [FAQ PAGE](../faq)_**
|
2022-08-12 20:46:36 +02:00
|
|
|
|
|
|
|
If your bug is not listed there, you can ask on the Discord server or open an
|
2022-10-10 16:22:57 +02:00
|
|
|
issue on GitHub.
|
2023-10-05 02:05:55 +02:00
|
|
|
|
2024-02-20 21:16:07 +01:00
|
|
|
## Building the Wayland stack with ASan
|
2023-10-05 02:05:55 +02:00
|
|
|
|
|
|
|
If requested, this is the deepest level of memory issue debugging possible.
|
|
|
|
|
2024-03-01 15:18:32 +01:00
|
|
|
_Do this in the tty, with no Hyprland instances running_
|
2023-10-05 02:05:55 +02:00
|
|
|
|
2024-03-01 15:18:32 +01:00
|
|
|
Clone hyprland: `git clone --recursive https://github.com/hyprwm/Hyprland`
|
2023-10-05 02:05:55 +02:00
|
|
|
|
2024-03-01 15:18:32 +01:00
|
|
|
`make asan`
|
2023-10-05 02:05:55 +02:00
|
|
|
|
2024-03-01 15:18:32 +01:00
|
|
|
Reproduce your crash. Hyprland will exit back to the tty.
|
2024-02-01 13:17:33 +01:00
|
|
|
|
2024-02-20 21:16:07 +01:00
|
|
|
Now, in either `cwd`, `~` or `./build`, search for file(s) named
|
|
|
|
`asan.log.XXXXX` where XXXXX is a number.
|
2023-10-05 02:05:55 +02:00
|
|
|
|
2024-02-20 21:16:07 +01:00
|
|
|
Zip all of them up and attach to your issue.
|