Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

XWayland application locks up whole system on amdgpu #8105

Closed
1 task done
cluosh opened this issue Oct 13, 2024 · 1 comment
Closed
1 task done

XWayland application locks up whole system on amdgpu #8105

cluosh opened this issue Oct 13, 2024 · 1 comment
Labels
bug Something isn't working

Comments

@cluosh
Copy link

cluosh commented Oct 13, 2024

Already reported ? *

  • I have searched the existing open and closed issues.

Regression?

Yes

System Info and Version

System/Version info
Hyprland, built from branch  at commit 4520b30d498daca8079365bdb909a8dea38e8d55  (version: bump to 0.44.1).
Date: Wed Oct 9 12:54:39 2024
Tag: v0.44.1, commits: 5309
built against aquamarine 0.4.2


flags: (if any)


System Information:
System name: Linux
Node name: nbuvsec0010
Release: 6.11.3-arch1-1
Version: #1 SMP PREEMPT_DYNAMIC Thu, 10 Oct 2024 20:11:06 +0000


GPU information: 
c3:00.0 VGA compatible controller [0300]: Advanced Micro Devices, Inc. [AMD/ATI] Phoenix1 [1002:15bf] (rev c5) (prog-if 00 [VGA controller])


os-release: NAME="Arch Linux"
PRETTY_NAME="Arch Linux"
ID=arch
BUILD_ID=rolling
ANSI_COLOR="38;2;23;147;209"
HOME_URL="https://archlinux.org/"
DOCUMENTATION_URL="https://wiki.archlinux.org/"
SUPPORT_URL="https://bbs.archlinux.org/"
BUG_REPORT_URL="https://gitlab.archlinux.org/groups/archlinux/-/issues"
PRIVACY_POLICY_URL="https://terms.archlinux.org/docs/privacy-policy/"
LOGO=archlinux-logo


plugins:

======Config-Start======


Config File: /home/cluosh/.config/hypr/hyprland.conf: Read Succeeded
# Monitors
monitor = ,preferred,auto,1
#monitor = ,preferred,auto,1,mirror,eDP-1

# Monitor at home (4k monitor, scale up)
monitor = desc:Samsung Electric Company U28E590 HTPJ307445,2560x1440,auto,1.0
monitor = desc:Samsung Electric Company U28E590 H1AK500005,highres,auto,1.5
monitor = desc:Samsung Electric Company SAMSUNG 0x01000E00,highres,auto,2.0
monitor = desc:RGB Systems Inc. dba Extron Electronics ExtronScalerD,preferred,auto,1,mirror,eDP-1
monitor = desc:HJW HDMI TO USB 0x0134660A,preferred,auto,1,mirror,eDP-1

# Monitor at UniVie office
monitor = desc:HP Inc. HP E27d G4 3CQ016236H,highres,auto,1

# Autostart programs
exec-once = waybar
exec-once = hyprpaper
exec-once = xprop -root -f _XWAYLAND_GLOBAL_OUTPUT_SCALE 32c -set _XWAYLAND_GLOBAL_OUTPUT_SCALE 2

# unscale XWayland
xwayland {
  force_zero_scaling = true
}

# Input
input {
  kb_layout = us, ara
  kb_variant = altgr-intl, 
  kb_model =
  kb_options = caps:escape, grp:shifts_toggle
  kb_rules =
  follow_mouse = 2
  touchpad {
    disable_while_typing = true
    natural_scroll = true
    tap-to-click = true
  }
  tablet {
  #device:wacom-intuos-s-2-pen { Why this no worky?
    transform = 0
    #output = desc:Iiyama North America PL2792Q 1152182901927
    #output = desc:Samsung Electric Company U28E590 HTPJ307445
    output = desc:Iiyama North America PL2792Q 1152182901901
  }
}

# General
general {
  gaps_in = 6
  gaps_out = 12
  border_size = 2
  col.active_border=0xffcba6f7
  col.inactive_border=0xff313244
  #col.group_border_active=0xff89b4fa
  #col.group_border=0xff585b70
  col.nogroup_border_active=0xff89b4fa
  col.nogroup_border=0xff585b70
  no_border_on_floating = true
  layout = dwindle
}

# Misc
misc {
  disable_hyprland_logo = true
  disable_splash_rendering = true
  mouse_move_enables_dpms = true
  #enable_swallow = true
  #swallow_regex = ^(kitty)$
}

# Decorations
decoration {
  # Rounded corners
  rounding = 8
  #rounding = 0

  # Opacity
  active_opacity = 1.0
  inactive_opacity = 0.8

  # Blur
  blur {
    enabled = true
    size = 10
    passes = 4
    new_optimizations = true
  }

  # Shadow
  drop_shadow = true
  shadow_ignore_window = true
  shadow_offset = 2 2
  shadow_range = 4
  shadow_render_power = 2
  col.shadow = 0x66000000
}

# Blurring layerSurfaces
blurls = gtk-layer-shell
blurls = waybar
blurls = lockscreen

# Animations
animations {
  enabled = true

  # bezier curve
  bezier = overshot, 0.05, 0.9, 0.1, 1.05
  bezier = smoothOut, 0.36, 0, 0.66, -0.56
  bezier = smoothIn, 0.25, 1, 0.5, 1

  # animation list
  animation = windows, 1, 5, overshot, slide
  animation = windowsOut, 1, 4, smoothOut, slide
  animation = windowsMove, 1, 4, default
  animation = border, 1, 10, default
  animation = fade, 1, 10, smoothIn
  animation = fadeDim, 1, 10, smoothIn
  animation = workspaces, 1, 6, overshot, slidevert
}

# Gestures
gestures {
  workspace_swipe = true
  workspace_swipe_fingers = 3
}

# Layouts
dwindle {
  no_gaps_when_only = true
  pseudotile = true # master switch for pseudotiling. Enabling is bound to mainMod + P in the keybinds section below
  preserve_split = true # you probably want this
}

# Window rules
windowrule = float, file_progress
windowrule = float, confirm
windowrule = float, dialog
windowrule = float, download
windowrule = float, notification
windowrule = float, error
windowrule = float, splash
windowrule = float, confirmreset
windowrule = float, title:Open File
windowrule = float, title:branchdialog
#windowrule = float, zoom
#windowrule = float, Zoom
windowrule = float, vlc
windowrule = float, Lxappearance
windowrule = float, ncmpcpp
windowrule = float, Rofi
windowrule = animation none, Rofi
windowrule = float, viewnior
windowrule = float, pavucontrol-qt
windowrule = float, gucharmap
windowrule = float, gnome-font
windowrule = float, org.gnome.Settings
windowrule = float, file-roller
windowrule = float, nautilus
windowrule = float, nemo
windowrule = float, thunar
windowrule = float, Pcmanfm
windowrule = float, obs
windowrule = float, wdisplays
windowrule = float, zathura
windowrule = float, *.exe
windowrule = fullscreen, wlogout
windowrule = float, title:wlogout
windowrule = fullscreen, title:wlogout
windowrule = float, pavucontrol-qt
windowrule = float, keepassxc
windowrule = idleinhibit focus, mpv
windowrule = idleinhibit fullscreen, firefox
windowrule = float, title:^(Media viewer)$
windowrule = float, title:^(Transmission)$
windowrule = float, title:^(Volume Control)$
windowrule = float, title:^(Picture-in-Picture)$
windowrule = float, title:^(Firefox — Sharing Indicator)$
windowrule = move 0 0, title:^(Firefox — Sharing Indicator)$
windowrule = size 800 600, title:^(Volume Control)$
windowrule = move 75 44%, title:^(Volume Control)$
windowrule = float, rrt_debug
windowrule = float, rrt_release
windowrule = float, title:^(Vienna Vulkan Engine)$
windowrule = float, title:^(Quack Recv)$

# zoom
windowrulev2 = workspace name:Zoom,class:^zoom$
windowrulev2 = float,class:^zoom$
windowrulev2 = renderunfocused,class:^zoom$
windowrulev2 = maxsize 1600 900,class:^zoom$

# Variables
$term = kitty
$browser = firefox
$launcher = killall rofi || rofi -no-lazy-grab -show drun -theme index
$emoji = killall rofi || rofi -show emoji -emoji-format "{emoji}" -theme emoji -modi emoji

# Apps
bind = SUPER, RETURN, exec, $term
bind = SUPER SHIFT, B, exec, $browser
bind = SUPER, D, exec, $launcher
#bind = SUPER, E, exec, $emoji
#bind = SUPER, X, exec, power-menu

# Function keys
bind = ,XF86MonBrightnessUp, exec, brightness set +5%
bind = ,XF86MonBrightnessDown, exec, brightness set 5%-
bind = ,XF86AudioRaiseVolume, exec, volume -i 5
bind = ,XF86AudioLowerVolume, exec, volume -d 5
bind = ,XF86AudioMute, exec, volume -t
bind = ,XF86AudioMicMute, exec, microphone -t

# Screenshots
bind = , Print, exec, hyprctl keyword animation "fadeOut,0,0,default"; grim -g "$(slurp)" -t png - | wl-copy -t image/png ; hyprctl keyword animation "fadeOut,1,4,default"
bind = SUPER SHIFT, D, exec, hyprctl keyword animation "fadeOut,0,0,default"; grim -g "$(slurp)" - | swappy -f - ; hyprctl keyword animation "fadeOut,1,4,default"

# Misc
bind = SUPER SHIFT, X, exec, hyprlock

# Window management
bind = SUPER, Q, killactive,
bind = SUPER, M, exit,
bind = SUPER, F, fullscreen,
bind = SUPER, Space, togglefloating,
bind = SUPER, P, pseudo, # dwindle
bind = SUPER, S, togglesplit, # dwindle

# Focus
bind = SUPER, H, movefocus, l
bind = SUPER, L, movefocus, r
bind = SUPER, K, movefocus, u
bind = SUPER, J, movefocus, d

# Move
bind = SUPER SHIFT, H, movewindow, l
bind = SUPER SHIFT, L, movewindow, r
bind = SUPER SHIFT, K, movewindow, u
bind = SUPER SHIFT, J, movewindow, d

# Resize
bind = SUPER CTRL, H, resizeactive, -20 0
bind = SUPER CTRL, L, resizeactive, 20 0
bind = SUPER CTRL, K, resizeactive, 0 -20
bind = SUPER CTRL, J, resizeactive, 0 20

# Tabbed
bind= SUPER, g, togglegroup
bind= SUPER, tab, changegroupactive

# Special workspace
bind = SUPER, grave, togglespecialworkspace
bind = SUPERSHIFT, grave, movetoworkspace, special

# Switch workspaces
bind = SUPER, 1, workspace, 1
bind = SUPER, 2, workspace, 2
bind = SUPER, 3, workspace, 3
bind = SUPER, 4, workspace, 4
bind = SUPER, 5, workspace, 5
bind = SUPER, 6, workspace, 6
bind = SUPER, 7, workspace, 7
bind = SUPER, 8, workspace, 8
bind = SUPER, 9, workspace, 9
bind = SUPER, 0, workspace, 10
bind = SUPER ALT, up, workspace, e+1
bind = SUPER ALT, down, workspace, e-1

# Move active window to a workspace
bind = SUPER SHIFT, 1, movetoworkspacesilent, 1
bind = SUPER SHIFT, 2, movetoworkspacesilent, 2
bind = SUPER SHIFT, 3, movetoworkspacesilent, 3
bind = SUPER SHIFT, 4, movetoworkspacesilent, 4
bind = SUPER SHIFT, 5, movetoworkspacesilent, 5
bind = SUPER SHIFT, 6, movetoworkspacesilent, 6
bind = SUPER SHIFT, 7, movetoworkspacesilent, 7
bind = SUPER SHIFT, 8, movetoworkspacesilent, 8
bind = SUPER SHIFT, 9, movetoworkspacesilent, 9
bind = SUPER SHIFT, 0, movetoworkspacesilent, 10

# Mouse bindings
bindm = SUPER, mouse:272, movewindow
bindm = SUPER, mouse:273, resizewindow
bind = SUPER, mouse_down, workspace, e+1
bind = SUPER, mouse_up, workspace, e-1

# Environment variables
env = EDITOR,nvim
env = SSH_AUTH_SOCK,/run/user/1000/gcr/ssh
env = XDG_SESSION_DESKTOP,Hyprland
env = DISABLE_QT5_COMPAT,0
env = QT_AUTO_SCREEN_SCALE_FACTOR,1
env = QT_QPA_PLATFORM,wayland
env = QT_QPA_PLATFORMTHEME,qt5ct
env = QT_WAYLAND_DISABLE_WINDOWDECORATION,1
env = SDL_VIDEODRIVER,wayland
env = CLUTTER_BACKEND,wayland
env = GDK_BACKEND,wayland
env = MOZ_ENABLE_WAYLAND,1
env = __GL_GSYNC_ALLOWED,0
env = __GL_VRR_ALLOWED,0
env = WLR_BACKEND,vulkan
env = GTK_THEME,Arc-Dark
env = XDG_DATA_DIRS,/usr/local/share/:/usr/share/:/var/lib/flatpak/exports/share:/home/cluosh/.local/share/flatpak/exports/share

======Config-End========

Description

When using Ghidra, sometimes on creating a new Window it will freeze the whole System to the point where only a hard reset helps. This happens somewhat randomly when using it, but if I restart and then do the exact same workflow it will happen again 100%. I've put XWayland in the title because I have only ever noticed it happen with Ghidra and that's the only thing I could think of that could be problematic. Now this is probably somewhere amdgpu's fault of not failing in a sane way, but it didn't happen before aquamarine and iirc it was fine for a while after aquamarine as well.

Putting it here in case anyone faces similar issues, I'll try to bissect it when I have time.

How to reproduce

Using Ghidra. Unfortunately don't have a guaranteed recipe for how to trigger it. Spawning lots of windows probably helps.

Crash reports, logs, images, videos

Used the commands on the wiki to generate the DRM debug logs, unfortunately don't get any other output. Second log is the same workflow, just let it run a bit longer before powering off the machine.

dmesg-1.log
dmesg-2.log

@cluosh cluosh added the bug Something isn't working label Oct 13, 2024
@cluosh
Copy link
Author

cluosh commented Oct 13, 2024

Okay, closing because I'm stupid, existing issue at #8045

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
bug Something isn't working
Projects
None yet
Development

No branches or pull requests

1 participant