hyprwm / Hyprland

Hyprland is an independent, highly customizable, dynamic tiling Wayland compositor that doesn't sacrifice on its looks.
https://hyprland.org
BSD 3-Clause "New" or "Revised" License
21.95k stars 912 forks source link

[bug] hyprland crashes on walker exit #7137

Closed Ciflire closed 4 months ago

Ciflire commented 4 months ago

Regression?

Yes

System Info and Version

System/Version info ```sh Hyprland, built from branch at commit 60571cd5ccc76f91209ef2faac93ecea542de221 (). Date: 2024-08-01 Tag: , commits: 60571cd5ccc76f91209ef2faac93ecea542de221 flags: (if any) System Information: System name: Linux Node name: g713 Release: 6.10.2 Version: #1-NixOS SMP PREEMPT_DYNAMIC Sat Jul 27 09:40:36 UTC 2024 GPU information: 01:00.0 VGA compatible controller [0300]: NVIDIA Corporation GA106M [GeForce RTX 3060 Mobile / Max-Q] [10de:2520] (rev a1) (prog-if 00 [VGA controller]) 06:00.0 VGA compatible controller [0300]: Advanced Micro Devices, Inc. [AMD/ATI] Rembrandt [Radeon 680M] [1002:1681] (rev c8) (prog-if 00 [VGA controller]) NVRM version: NVIDIA UNIX Open Kernel Module for x86_64 555.58.02 Release Build (nixbld@) Sun Jul 28 10:07:14 UTC 2024 os-release: ANSI_COLOR="1;34" BUG_REPORT_URL="https://github.com/NixOS/nixpkgs/issues" BUILD_ID="24.11.20240728.52ec9ac" DOCUMENTATION_URL="https://nixos.org/learn.html" HOME_URL="https://nixos.org/" ID=nixos IMAGE_ID="" IMAGE_VERSION="" LOGO="nix-snowflake" NAME=NixOS PRETTY_NAME="NixOS 24.11 (Vicuna)" SUPPORT_URL="https://nixos.org/community.html" VERSION="24.11 (Vicuna)" VERSION_CODENAME=vicuna VERSION_ID="24.11" plugins: ======Config-Start====== Config File: /home/ciflire/.config/hypr/hyprland.conf: Read Succeeded exec-once = /nix/store/j8l2v22xypah1srykhwjlkgwwgdxnnpw-dbus-1.14.10/bin/dbus-update-activation-environment --systemd DISPLAY HYPRLAND_INSTANCE_SIGNATURE WAYLAND_DISPLAY XDG_CURRENT_DESKTOP && systemctl --user stop hyprland-session.target && systemctl --user start hyprland-session.target $menu=walker $mod=SUPER bezier=windowIn, 0.27,0.1,0,1 bezier=windowOut, 1,0,0.73,0.9 bezier=windowMove, 0.3,0,0.7,1 bezier=workspace, 0.53,0.02,0.69,1 source=./monitors.conf source=./workspaces.conf source=./hyprland_test.conf debug { disable_logs=false } decoration { blur { enabled=true ignore_opacity=true new_optimizations=true passes=2 size=8 } active_opacity=0.900000 col.shadow=rgba(24273a99) fullscreen_opacity=1 inactive_opacity=0.800000 rounding=10 } general { border_size=0 col.active_border=rgb(8aadf4) col.inactive_border=rgb(494d64) gaps_in=4 gaps_out=7 } group { groupbar { col.active=rgb(8aadf4) col.inactive=rgb(494d64) text_color=rgb(cad3f5) } col.border_active=rgb(8aadf4) col.border_inactive=rgb(494d64) col.border_locked_active=rgb(8bd5ca) } input { kb_layout=fr } misc { background_color=rgb(24273a) } animation=windowsIn, 1,2,windowIn, slide bottom animation=windowsOut,1,2,windowOut, slide bottom animation=windowsMove,1,2,windowMove, slide animation=workspaces, 1, 3, workspace, slide bind=$mod, Return, exec,kitty bind=$mod, D,exec, $menu --modules applications bind=$mod, F, fullscreen, bind=$mod, Q, killactive, bind=$mod, N, exec, thunar bind=$mod, W, exec, $menu --modules hyprland bind=$mod, B, exec, nvidia-offload librewolf bind=$mod SHIFT, V, togglefloating, bind=SUPER, V, exec, cliphist list | rofi -dmenu | cliphist decode | wl-copy bind=$mod, P, pseudo, # dwindle bind=$mod, J, togglesplit, # dwindle bind=$mod SHIFT, L, exec, loginctl lock-session bind=$mod, S, exec, spotify bind=$mod, T, exec, nvidia-offload thunderbird bind=$mod, escape, exec, wlogout bind=$mod, H, movefocus, l bind=$mod, L, movefocus, r bind=$mod, J, movefocus, u bind=$mod, K, movefocus, d bind=$mod, Ampersand, workspace, 1 bind=$mod, Eacute, workspace, 2 bind=$mod, Quotedbl, workspace, 3 bind=$mod, Apostrophe, workspace, 4 bind=$mod, Parenleft, workspace, 5 bind=$mod, Minus, workspace, 6 bind=$mod, Egrave, workspace, 7 bind=$mod, Underscore, workspace, 8 bind=$mod, Ccedilla, workspace, 9 bind=$mod, Agrave, workspace, 10 bind=$mod SHIFT, Ampersand, movetoworkspace, 1 bind=$mod SHIFT, Eacute, movetoworkspace, 2 bind=$mod SHIFT, Quotedbl, movetoworkspace, 3 bind=$mod SHIFT, Apostrophe, movetoworkspace, 4 bind=$mod SHIFT, Parenleft, movetoworkspace, 5 bind=$mod SHIFT, Minus, movetoworkspace, 6 bind=$mod SHIFT, Egrave, movetoworkspace, 7 bind=$mod SHIFT, Underscore, movetoworkspace, 8 bind=$mod SHIFT, Ccedilla, movetoworkspace, 9 bind=$mod SHIFT, Agrave, movetoworkspace, 10 bind=$mod , print, exec, grimblast save area - | satty -f - bind=$mod SHIFT, print, exec, grimblast save active screen - | satty -f - binde= , XF86MonBrightnessUp, exec, brightnessctl set +5% binde= , XF86MonBrightnessDown, exec, brightnessctl set 5%- bindle= , XF86KbdBrightnessUp, exec, brightnessctl -d asus::kbd_backlight set +1 bindle= , XF86KbdBrightnessDown, exec, brightnessctl -d asus::kbd_backlight set 1- bindle=, XF86AudioRaiseVolume, exec, wpctl set-volume -l 1.5 @DEFAULT_AUDIO_SINK@ 5%+ bindle=, XF86AudioLowerVolume, exec, wpctl set-volume @DEFAULT_AUDIO_SINK@ 5%- bindm=$mod, mouse:272, movewindow bindm=$mod, mouse:273, resizewindow bindm=$mod ALT, mouse:272, resizewindow blurls=top-bar env=HYPRCURSOR_THEME, rose-pine-cursor env=HYPRCURSOR_SIZE, 28 exec-once=ags & exec-once=/nix/store/$(ls -la /nix/store | grep 'mate-polkit' | grep '4096' | awk '{print $9}' | sed -n '$p')/libexec/polkit-mate-authentication-agent-1 & exec-once=wl-paste --type text --watch cliphist store #Stores only text data& exec-once=wl-paste --type image --watch cliphist store #Stores only image data & exec-once=rog-control-center & layerrule=blur, top-bar windowrulev2=float, class:^(xdg-desktop-portal) windowrulev2=idleinhibit, class:(steam_app) windowrulev2=float, class:^(satty)$ windowrulev2=float, title:^(Extension: (Bitwarden - Free Password Manager) - Bitwarden — Mozilla Firefox)$ windowrulev2=opacity 0.9 override 0.8 override 0.95 override,class:^(kitty)$ Config File: /home/ciflire/.config/hypr/monitors.conf: Read Succeeded # Generated by nwg-displays on 2024-07-31 at 12:38:30. Do not edit manually. monitor=eDP-2,1920x1080@360.01,0x0,1.0,mirror,10 monitor=HDMI-A-1,1920x1080@60.0,1920x0,1.0,mirror,10 Config File: /home/ciflire/.config/hypr/workspaces.conf: Read Succeeded # Generated by nwg-displays on 2024-06-01 at 01:36:14. Do not edit manually. workspace=1,monitor:eDP-2,default:true workspace=2,monitor:HDMI-A-1,default:true workspace=3,monitor:eDP-2 workspace=4,monitor:HDMI-A-1 workspace=5,monitor:eDP-2 workspace=6,monitor:HDMI-A-1 workspace=7,monitor:HDMI-A-1 Config File: /home/ciflire/.config/hypr/hyprland_test.conf: Read Succeeded decoration { screen_shader = /home/ciflire/.config/hypr/night_light.frag } # experimental { # explicit_sync = true # } ======Config-End======== ```

Description

When walker process exits hyprland crashes I will try to bisect the issue for now i can say this is between "60571cd5ccc76f91209ef2faac93ecea542de221" and "33e513d489faf5998a3831d55aa7ddd796ef3368"

How to reproduce

Build walker last release 0.5.5, run it, try running an app or exist the runner

Crash reports, logs, images, videos

hyprlandCrashReport6918.txt

Ciflire commented 4 months ago
37e1411e8d94fe8f3fb678588a7df9b8f931910f is the first bad commit
commit 37e1411e8d94fe8f3fb678588a7df9b8f931910f
Author: Vaxry <43317083+vaxerski@users.noreply.github.com>
Date:   Wed Jul 31 20:47:26 2024 +0100

    core/surface/buffer: Buffer lock/release fixes (#7110)

 src/desktop/LayerSurface.cpp         |   2 +-
 src/desktop/WLSurface.cpp            |  23 ++++---
 src/desktop/Window.cpp               |  10 +--
 src/events/Windows.cpp               |   2 +-
 src/helpers/Monitor.cpp              |   7 +-
 src/managers/PointerManager.cpp      |  50 ++++++++++----
 src/protocols/DRMSyncobj.cpp         |   2 +-
 src/protocols/InputMethodV2.cpp      |   4 +-
 src/protocols/LayerShell.cpp         |   2 +-
 src/protocols/SessionLock.cpp        |   2 +-
 src/protocols/Viewporter.cpp         |   4 +-
 src/protocols/XDGShell.cpp           |   6 +-
 src/protocols/core/Compositor.cpp    | 124 ++++++++++++++++++++++-------------
 src/protocols/core/Compositor.hpp    |  35 ++++++----
 src/protocols/core/DataDevice.cpp    |   8 +--
 src/protocols/core/Seat.cpp          |  21 +++++-
 src/protocols/core/Seat.hpp          |  15 +++++
 src/protocols/core/Subcompositor.cpp |   4 +-
 src/protocols/types/Buffer.cpp       |  56 ++++++++++++++++
 src/protocols/types/Buffer.hpp       |  28 +++++++-
 src/protocols/types/SurfaceRole.hpp  |   1 +
 src/protocols/types/WLBuffer.cpp     |   1 -
 src/protocols/types/WLBuffer.hpp     |   2 -
 src/render/Renderer.cpp              |  14 ++--
 src/render/Texture.cpp               |   3 +
 src/render/Texture.hpp               |   1 +
 src/xwayland/XSurface.cpp            |   6 +-
 27 files changed, 304 insertions(+), 129 deletions(-)

This is the result of the git bisect

vaxerski commented 4 months ago

can't repro on git. Please get a debug stacktrace

Ciflire commented 4 months ago

Here you go stack_trace.txt

vaxerski commented 4 months ago

that's not a debug stacktrace https://wiki.hyprland.org/Crashes-and-Bugs/#obtaining-a-debug-stacktrace

Ciflire commented 4 months ago

This should do it i guess stack_trace.log

vaxerski commented 4 months ago

patch.txt try

Ciflire commented 4 months ago

works with the patch

offeex commented 4 months ago

can confirm having this issue as well. Have to note that happens only when walker s in gapplication mode

vaxerski commented 4 months ago

it's already fixed, update