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

Rare Hyprland crash during 'normal operation' of multi-window graphical application (Unreal Engine 5.3.2 Editor) #6432

Open
iamtimmy opened this issue Jun 11, 2024 · 5 comments
Labels
bug Something isn't working

Comments

@iamtimmy
Copy link

iamtimmy commented Jun 11, 2024

Bug or Regression?

Bug

System Info and Version

System/Version info
Hyprland, built from branch  at commit 811429bfd4a46f33c7788580f72038b0c3c1c2b1  ().
Date: 2024-06-10
Tag: , commits: 

flags: (if any)


System Information:
System name: Linux
Node name: desktop
Release: 6.9.3-cachyos
Version: #1-NixOS SMP PREEMPT_DYNAMIC Thu May 30 07:45:04 UTC 2024


GPU information: 
2d:00.0 VGA compatible controller [0300]: NVIDIA Corporation TU104 [GeForce RTX 2070 SUPER] [10de:1e84] (rev a1) (prog-if 00 [VGA controller])


os-release: ANSI_COLOR="1;34"
BUG_REPORT_URL="https://github.com/NixOS/nixpkgs/issues"
BUILD_ID="24.11.20240607.051f920"
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 (Vicuña)"
SUPPORT_URL="https://nixos.org/community.html"
VERSION="24.11 (Vicuña)"
VERSION_CODENAME="vicuña"
VERSION_ID="24.11"


plugins:

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


Config File: /home/user/.config/hypr/hyprland.conf: Read Succeeded
debug:disable_logs = false

################
### MONITORS ###
################

# See https://wiki.hyprland.org/Configuring/Monitors/
# monitor=,preferred,auto,auto

# left
monitor = DP-1, 1920x1080@75, 0x0, 1
# centre
monitor = DP-2, 1920x1080@180, 1920x0, 1
# right
monitor = DP-3, 1920x1080@75, 3840x0, 1

###################
### MY PROGRAMS ###
###################

# See https://wiki.hyprland.org/Configuring/Keywords/

# Set programs that you use
$terminal = kitty
$fileManager = dolphin
$menu = rofi -show drun -show-colors

#################
### AUTOSTART ###
#################

# Autostart necessary processes (like notifications daemons, status bars, etc.)
# Or execute your favorite apps at launch like this:

exec-once = swww-daemon & swww img ~/Pictures/wallpapers/one.png &
exec-once = waybar &
exec-once = mako &
exec-once = wl-paste --paste text --watch cliphist store #Stores only text data
exec-once = wl-paste --paste image --watch cliphist store #Stores only image data
exec-once = easyeffects --gapplication-service
exec-once = /nix/store/$(ls -la /nix/store | grep polkit-kde-agent | grep '^d' | awk '{print $9}')/libexec/polkit-kde-authentication-agent-1 &

#############################
### ENVIRONMENT VARIABLES ###
#############################

# See https://wiki.hyprland.org/Configuring/Environment-variables/
env = XCURSOR_SIZE,24
env = HYPRCURSOR_SIZE,24
env = QT_QPA_PLATFORMTHEME,qt5ct

xwayland {
    force_zero_scaling = true
}

#####################
### LOOK AND FEEL ###
#####################

# Refer to https://wiki.hyprland.org/Configuring/Variables/

# https://wiki.hyprland.org/Configuring/Variables/#general
general { 
    gaps_in = 0
    gaps_out = 2

    border_size = 1

    # https://wiki.hyprland.org/Configuring/Variables/#variable-types for info about colors
    col.active_border = rgba(FFFFFFFF)
    col.inactive_border = rgba(FF000000)

    # Set to true enable resizing windows by clicking and dragging on borders and gaps
    resize_on_border = false 

    # Please see https://wiki.hyprland.org/Configuring/Tearing/ before you turn this on
    allow_tearing = false

    layout = dwindle
}

# https://wiki.hyprland.org/Configuring/Variables/#decoration
decoration {
    rounding = 0

    # Change transparency of focused and unfocused windows
    active_opacity = 1.0
    inactive_opacity = 1.0

    drop_shadow = true
    shadow_range = 4
    shadow_render_power = 3
    col.shadow = rgba(1a1a1aee)

    # https://wiki.hyprland.org/Configuring/Variables/#blur
    blur {
        enabled = false
        size = 3
        passes = 1
        
        vibrancy = 0.1696
    }
}

# https://wiki.hyprland.org/Configuring/Variables/#animations
animations {
    enabled = true

    # Default animations, see https://wiki.hyprland.org/Configuring/Animations/ for more

    bezier = myBezier, 0.2, 0.9, 0.1, 1.05

    animation = windows, 1, 7, myBezier
    animation = windowsOut, 1, 7, default, popin 80%
    animation = border, 1, 10, default
    animation = borderangle, 1, 8, default
    animation = fade, 1, 7, default
    animation = workspaces, 1, 6, default
}

# See https://wiki.hyprland.org/Configuring/Dwindle-Layout/ for more
dwindle {
    pseudotile = true # Master switch for pseudotiling. Enabling is bound to mainMod + P in the keybinds section below
    preserve_split = true # You probably want this
}

# See https://wiki.hyprland.org/Configuring/Master-Layout/ for more
master {
    new_is_master = true
}

# https://wiki.hyprland.org/Configuring/Variables/#misc
misc { 
    force_default_wallpaper = -1 # Set to 0 or 1 to disable the anime mascot wallpapers
    disable_hyprland_logo = true # If true disables the random hyprland logo / anime girl background. :(
}


#############
### INPUT ###
#############

# https://wiki.hyprland.org/Configuring/Variables/#input
input {
    kb_layout = us

    follow_mouse = 1

    sensitivity = 0 # -1.0 - 1.0, 0 means no modification.
    accel_profile = flat
    force_no_accel = 1

    touchpad {
        natural_scroll = false
    }
}

# https://wiki.hyprland.org/Configuring/Variables/#gestures
gestures {
    workspace_swipe = false
}

####################
### KEYBINDINGSS ###
####################

# See https://wiki.hyprland.org/Configuring/Keywords/
$mainMod = SUPER # Sets "Windows" key as main modifier

# Example binds, see https://wiki.hyprland.org/Configuring/Binds/ for more
bind = $mainMod, Q, exec, $terminal
bind = $mainMod, C, killactive,
bind = $mainMod, M, exit,
bind = $mainMod, E, exec, $fileManager
bind = $mainMod, R, exec, $menu
# bind = $mainMod, V, exec, cliphist list | rofi -dmenu | cliphist decode | wl-copy
bind = $mainMod, V, togglefloating,
bind = $mainMod, P, pseudo, # dwindle
bind = $mainMod, J, togglesplit, # dwindle

# Move focus with mainMod + arrow keys
bind = $mainMod, left, movefocus, l
bind = $mainMod, right, movefocus, r
bind = $mainMod, up, movefocus, u
bind = $mainMod, down, movefocus, d

# Switch workspaces with mainMod + [0-9]
bind = $mainMod, 1, workspace, 1
bind = $mainMod, 2, workspace, 2
bind = $mainMod, 3, workspace, 3
bind = $mainMod, 4, workspace, 4
bind = $mainMod, 5, workspace, 5
bind = $mainMod, 6, workspace, 6
bind = $mainMod, 7, workspace, 7
bind = $mainMod, 8, workspace, 8
bind = $mainMod, 9, workspace, 9
bind = $mainMod, 0, workspace, 10

# Move active window to a workspace with mainMod + SHIFT + [0-9]
bind = $mainMod SHIFT, 1, movetoworkspace, 1
bind = $mainMod SHIFT, 2, movetoworkspace, 2
bind = $mainMod SHIFT, 3, movetoworkspace, 3
bind = $mainMod SHIFT, 4, movetoworkspace, 4
bind = $mainMod SHIFT, 5, movetoworkspace, 5
bind = $mainMod SHIFT, 6, movetoworkspace, 6
bind = $mainMod SHIFT, 7, movetoworkspace, 7
bind = $mainMod SHIFT, 8, movetoworkspace, 8
bind = $mainMod SHIFT, 9, movetoworkspace, 9
bind = $mainMod SHIFT, 0, movetoworkspace, 10

# Example special workspace (scratchpad)
bind = $mainMod, S, togglespecialworkspace, magic
bind = $mainMod SHIFT, S, movetoworkspace, special:magic

# Scroll through existing workspaces with mainMod + scroll
bind = $mainMod, mouse_down, workspace, e+1
bind = $mainMod, mouse_up, workspace, e-1

# Move/resize windows with mainMod + LMB/RMB and dragging
bindm = $mainMod, mouse:272, movewindow
bindm = $mainMod, mouse:273, resizewindow

windowrulev2 = suppressevent maximize, class:.* # You'll probably like this.

bind = , PRINT, exec, hyprshot -m window --clipboard-only # Screenshot a window
bind = $mainMod, PRINT, exec, hyprshot -m output --clipboard-only # Screenshot a monitor
bind = $mainMod $shiftMod, PRINT, exec, hyprshot -m region --clipboard-only # Screenshot a region

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

Description

Once every couple hours of normal Unreal Engine 5.3.2 Editor usage, Hyprland crashes with an abort signal.

How to reproduce

It happens sporadically and unpredictably throughout usage of the program, but almost always during or right after an interaction with the application window.

Edit: It might be worth noting that my system feels otherwise stable and smooth during graphical workloads on both native wayland and xwayland

Crash reports, logs, images, videos

[LOG] CWLSurface 2a26fca0 called init()
[LOG] xwayland window 29f9b140 -> association to 29ae72f0
[LOG] [LinuxDMABUF] Creating a dmabuf, with id 936: size [Vector2D: x: 471, y: 36], fmt 875713112, planes 1
[LOG] [LinuxDMABUF] | plane 0: mod 216172782128496658 fd 1021 stride 1920 offset 0
[LOG] XWayland surface 29f9b140 mapping
[LOG] New window contains HL_INITIAL_WORKSPACE_TOKEN: 9b38ec2c-1614-4f01-a0d6-1673293ef7b6
[LOG] Searching for matching rules for UnrealEditor (title: )
[LOG] Window rule suppressevent maximize -> class:.* matched [Window 2a7bbf50: title: ""]
[LOG] Map request dispatched, monitor DP-2, window pos: [3178.00000, 698.00000], window size: [471.00000, 36.00000]
[LOG] Searching for matching rules for UnrealEditor (title: REDACTED - Unreal Editor)
[LOG] Window rule suppressevent maximize -> class:.* matched [Window 2a7a7060: title: "REDACTED - Unreal Editor"]
[LOG] Searching for matching rules for UnrealEditor (title: REDACTED - Unreal Editor)
[LOG] Window rule suppressevent maximize -> class:.* matched [Window 2a7dfb10: title: "REDACTED - Unreal Editor"]
[LOG] Searching for matching rules for UnrealEditor (title: )
[LOG] Window rule suppressevent maximize -> class:.* matched [Window 2a7bbf50: title: ""]
[LOG] XWayland surface 29f9b140 unmapping
[LOG] [Window 2a7bbf50: title: "", class: UnrealEditor] unmapped
[LOG] Unmapped was not focused, ignoring a refocus.
[LOG] Searching for matching rules for UnrealEditor (title: REDACTED - Unreal Editor)
[LOG] Window rule suppressevent maximize -> class:.* matched [Window 2a7a7060: title: "REDACTED - Unreal Editor"]
[LOG] Searching for matching rules for UnrealEditor (title: REDACTED - Unreal Editor)
[LOG] Window rule suppressevent maximize -> class:.* matched [Window 2a7dfb10: title: "REDACTED - Unreal Editor"]
[LOG] CWLSurface 2a26fca0 called destroy()
[LOG] xwayland window 29f9b140 -> association to 0
[LOG] Dissociate for 29f9b140
[WARN] [xwm] Re-assignment of WL_SURFACE_SERIAL
[LOG] [xwm] surface 29f9b140 requests serial 33d
[LOG] [xwm] Handled message prop 244 -> WL_SURFACE_SERIAL
[LOG] [WLCompositor] New wl_surface with id 914 at 29ae72f0
[LOG] [xwm] New XWayland surface at 1
[WARN] [xwm] CXWM::onNewSurface: no matching xwaylandSurface
[ERR] [LinuxDMABUF] FIXME: surface feedback stub

#0 0x000073c2ca2a2efc in __pthread_kill_implementation () from /nix/store/k7zgvzp2r31zkg9xqgjim7mbknryv6bs-glibc-2.39-52/lib/libc.so.6
No symbol table info available.
#1 0x000073c2ca252e86 in raise () from /nix/store/k7zgvzp2r31zkg9xqgjim7mbknryv6bs-glibc-2.39-52/lib/libc.so.6
No symbol table info available.
#2 0x000073c2ca23b935 in abort () from /nix/store/k7zgvzp2r31zkg9xqgjim7mbknryv6bs-glibc-2.39-52/lib/libc.so.6
No symbol table info available.
#3 0x000000000063296a in exit_with_error(char const*) ()
No symbol table info available.
#4 0x0000000000632871 in CrashReporter::createAndSaveCrash(int) ()
No symbol table info available.
#5 0x00000000005b2c1f in handleUnrecoverableSignal(int) ()
No symbol table info available.
#6
No symbol table info available.
#7 0x000073c2ca2a2efc in __pthread_kill_implementation () from /nix/store/k7zgvzp2r31zkg9xqgjim7mbknryv6bs-glibc-2.39-52/lib/libc.so.6
No symbol table info available.
#8 0x000073c2ca252e86 in raise () from /nix/store/k7zgvzp2r31zkg9xqgjim7mbknryv6bs-glibc-2.39-52/lib/libc.so.6
No symbol table info available.
#9 0x000073c2ca23b935 in abort () from /nix/store/k7zgvzp2r31zkg9xqgjim7mbknryv6bs-glibc-2.39-52/lib/libc.so.6
No symbol table info available.
#10 0x000073c2ca23c7e6 in __libc_message_impl.cold () from /nix/store/k7zgvzp2r31zkg9xqgjim7mbknryv6bs-glibc-2.39-52/lib/libc.so.6
No symbol table info available.
#11 0x000073c2ca328979 in __fortify_fail () from /nix/store/k7zgvzp2r31zkg9xqgjim7mbknryv6bs-glibc-2.39-52/lib/libc.so.6
No symbol table info available.
#12 0x000073c2ca328472 in __fdelt_warn () from /nix/store/k7zgvzp2r31zkg9xqgjim7mbknryv6bs-glibc-2.39-52/lib/libc.so.6
No symbol table info available.
#13 0x0000000000647670 in hyprCtlFDTick(int, unsigned int, void*) ()
No symbol table info available.
#14 0x000073c2caf5b8f2 in wl_event_loop_dispatch () from /nix/store/7rnc20sb0h5zxqm5vims6mvi6gr3iy27-wayland-1.22.0/lib/libwayland-server.so.0
No symbol table info available.
#15 0x000073c2caf59455 in wl_display_run () from /nix/store/7rnc20sb0h5zxqm5vims6mvi6gr3iy27-wayland-1.22.0/lib/libwayland-server.so.0
No symbol table info available.
#16 0x0000000000759251 in CEventLoopManager::enterLoop(wl_display*, wl_event_loop*) ()
No symbol table info available.
#17 0x000000000057633d in main ()
No symbol table info available.

@iamtimmy iamtimmy added the bug Something isn't working label Jun 11, 2024
@iamtimmy
Copy link
Author

I am going to attempt to reproduce the issue again with a debug build of Hyprland in hopes to get more information out of a core dump. If that doesn't end up working I'm going to try and build with sanitizers and see if I get anything then.

@jfab20
Copy link

jfab20 commented Jun 11, 2024

I am going to attempt to reproduce the issue again with a debug build of Hyprland in hopes to get more information out of a core dump. If that doesn't end up working I'm going to try and build with sanitizers and see if I get anything then.

I have been getting a similar crash on applications like rnote/inkscape with the newest version of Hyprland, but only when I have a drawing tablet connected to my system. Do you have a drawing tablet?

@iamtimmy
Copy link
Author

I have been getting a similar crash on applications like rnote/inkscape with the newest version of Hyprland, but only when I have a drawing tablet connected to my system. Do you have a drawing tablet?

I don't, but that's interesting.

@vaxerski
Copy link
Member

@iamtimmy
Copy link
Author

When I try to run an asan build from the tty, asan aborts it during init and there is no log output for it. I've tried acquiring the stdout from the tty, but I can merely get the build output, not the output of the run itself. coredumpctl shows there is no corefile.

I'll go back to the debug build and find time to reproduce it and get a better strack trace. Let me know if you have any ideas on the asan run, output could help a ton there.

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

3 participants