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
19.36k stars 808 forks source link

Hyprland crash on monitor config change #3654

Open TheAngusMcFire opened 10 months ago

TheAngusMcFire commented 10 months ago

Hyprland Version

v0.31.0-27-g015664eb

Bug or Regression?

Bug

Description

I have a config file which I source from the hyprland.conf file. It contains the monitor configuration, if I need another monitor configuration e.g. office/home i change the contents of this files. Sometimes when I do this hyprland crashes, but it does not do that every time why I have a hard time reproducing the issue.

the last time this worked without any problem was with version 0.28.0 I build my hyprland from source (the arch repos are to slow :-)), but I had similar crashes with ever version higher than 0.28.0.

monitor_conf content: $PRIMARY_MONITOR=DP-1 monitor=DP-2,disable monitor=DP-4,3840x2160,11090x5910,1 monitor=eDP-1,2256x1504,4994x7067,1 monitor=DP-3,3840x2160,7250x5910,1 monitor=DP-1,2560x1440,10200x4470,1

How to reproduce

change the monitor configuration in the hyprland.conf a bunch with different workspaces on the monitors.

Crash reports, logs, images, videos

--------------------------------------------
   Hyprland Crash Report
--------------------------------------------
*thud*

Hyprland received signal 11 (Segmentation fault)

Version: 015664eb4cde5ab93cfacbfd8c2e831eeb876634
Tag: v0.31.0-27-g015664eb

System info:
    System name: Linux
    Node name: GRZ-025-LIN
    Release: 6.5.8-arch1-1
    Version: #1 SMP PREEMPT_DYNAMIC Thu, 19 Oct 2023 22:52:14 +0000

GPU:
    00:02.0 VGA compatible controller [0300]: Intel Corporation Raptor Lake-P [Iris Xe Graphics] [8086:a7a0] (rev 04) (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://bugs.archlinux.org/"
    PRIVACY_POLICY_URL="https://terms.archlinux.org/docs/privacy-policy/"
    LOGO=archlinux-logo

Backtrace:
    #0 | Hyprland(_Z12getBacktracev+0x49) [0x55cec12f14fd]
        ??
        ??:0
    #1 | Hyprland(_ZN13CrashReporter18createAndSaveCrashEi+0x66d) [0x55cec129428f]
        ??
        ??:0
    #2 | Hyprland(_Z25handleUnrecoverableSignali+0x69) [0x55cec118c19a]
        ??
        ??:0
    #3 | /usr/lib/libc.so.6(+0x3e710) [0x7fd66f14a710]
        ??
        ??:0
    #4 | Hyprland(_ZN11CCompositor16getMonitorFromIDERKi+0x6b) [0x55cec11914b7]
        ??
        ??:0
    #5 | Hyprland(_ZN10CWorkspaceC1EiNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEEb+0x19b) [0x55cec13153b1]
        ??
        ??:0
    #6 | Hyprland(_ZSt11make_uniqueI10CWorkspaceJRmRNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEEEENSt8__detail9_MakeUniqIT_E15__single_objectEDpOT0_+0x7e) [0x55cec1300969]
        ??
        ??:0
    #7 | Hyprland(_ZN8CMonitor14setupDefaultWSERK12SMonitorRule+0x3e0) [0x55cec12fb5d8]
        ??
        ??:0
    #8 | Hyprland(_ZN8CMonitor9onConnectEb+0xe44) [0x55cec12f9514]
        ??
        ??:0
    #9 | Hyprland(_ZN13CHyprRenderer16applyMonitorRuleEP8CMonitorP12SMonitorRuleb+0x120) [0x55cec140eb5c]
        ??
        ??:0
    #10 | Hyprland(_ZN14CConfigManager20performMonitorReloadEv+0x19e) [0x55cec125cc88]
        ??
        ??:0
    #11 | Hyprland(_ZN14CConfigManager18loadConfigLoadVarsEv+0xd34) [0x55cec1259278]
        ??
        ??:0
    #12 | Hyprland(_ZN14CConfigManager4tickEv+0x27d) [0x55cec125a1bd]
        ??
        ??:0
    #13 | Hyprland(_Z11handleTimerPv+0xe7) [0x55cec137b58b]
        ??
        ??:0
    #14 | /usr/lib/libwayland-server.so.0(wl_event_loop_dispatch+0x2e7) [0x7fd66fce0d27]
        ??
        ??:0
    #15 | /usr/lib/libwayland-server.so.0(wl_display_run+0x27) [0x7fd66fce12d7]
        ??
        ??:0
    #16 | Hyprland(_ZN11CCompositor15startCompositorEv+0x5c6) [0x55cec119132c]
        ??
        ??:0
    #17 | Hyprland(main+0x8a5) [0x55cec133d7e7]
        ??
        ??:0
    #18 | /usr/lib/libc.so.6(+0x27cd0) [0x7fd66f133cd0]
        ??
        ??:0
    #19 | /usr/lib/libc.so.6(__libc_start_main+0x8a) [0x7fd66f133d8a]
        ??
        ??:0
    #20 | Hyprland(_start+0x25) [0x55cec118bfe5]
        ??
        ??:0

Log tail:
[LOG] Set the keyboard layout to de and variant to  for keyboard "Logitech G733 Gaming Headset"
[LOG] ApplyConfigToKeyboard for "holtek-usb-hid-keyboard", hasconfig: 0
[LOG] Attempting to create a keymap for layout de with variant  (rules: , model: , options: )
[LOG] Set the keyboard layout to de and variant to  for keyboard "HOLTEK USB-HID Keyboard"
[LOG] ApplyConfigToKeyboard for "holtek-usb-hid-keyboard-system-control", hasconfig: 0
[LOG] Attempting to create a keymap for layout de with variant  (rules: , model: , options: )
[LOG] Set the keyboard layout to de and variant to  for keyboard "HOLTEK USB-HID Keyboard System Control"
[LOG] ApplyConfigToKeyboard for "holtek-usb-hid-keyboard-consumer-control", hasconfig: 0
[LOG] Attempting to create a keymap for layout de with variant  (rules: , model: , options: )
[LOG] Set the keyboard layout to de and variant to  for keyboard "HOLTEK USB-HID Keyboard Consumer Control"
[LOG] ApplyConfigToKeyboard for "holtek-usb-hid-keyboard-1", hasconfig: 0
[LOG] Attempting to create a keymap for layout de with variant  (rules: , model: , options: )
[LOG] Set the keyboard layout to de and variant to  for keyboard "HOLTEK USB-HID Keyboard"
[LOG] ApplyConfigToKeyboard for "logitech-g-pro-gaming-mouse-keyboard", hasconfig: 0
[LOG] Attempting to create a keymap for layout de with variant  (rules: , model: , options: )
[LOG] Set the keyboard layout to de and variant to  for keyboard "Logitech G Pro Gaming Mouse Keyboard"
[LOG] ApplyConfigToKeyboard for "at-translated-set-2-keyboard", hasconfig: 0
[LOG] Attempting to create a keymap for layout de with variant  (rules: , model: , options: )
[LOG] Set the keyboard layout to de and variant to  for keyboard "AT Translated Set 2 keyboard"
[LOG] ApplyConfigToKeyboard for "dp-1", hasconfig: 0
[LOG] Attempting to create a keymap for layout de with variant  (rules: , model: , options: )
[LOG] Set the keyboard layout to de and variant to  for keyboard "DP-1"
[LOG] Applied config to mouse holtek-usb-hid-keyboard-mouse, sens 0.00
[LOG] Applied config to mouse holtek-usb-hid-keyboard-consumer-control-1, sens 0.00
[LOG] Applied config to mouse logitech-g-pro-gaming-mouse, sens 0.00
[LOG] Applied config to mouse logitech-g-pro-gaming-mouse-keyboard-1, sens 0.00
[LOG] Applied config to mouse pixa3854:00-093a:0274-mouse, sens 0.00
[LOG] Applied config to mouse pixa3854:00-093a:0274-touchpad, sens 0.00
[LOG] Applied config to mouse imexps/2-generic-explorer-mouse, sens 0.00
[LOG] Applied config to mouse dp-1-1, sens 0.00
[WARN] No rule found for eDP-1, trying to use the first.
[WARN] No rules configured. Using the default hardcoded one.
[LOG] Applying monitor rule for eDP-1
[LOG] Callback 55cec37afca0 -> 55cec37afc98,  removed.
[LOG] Callback 55cec37afd08 -> 55cec37afd00,  removed.
[LOG] Callback 55cec37afd70 -> 55cec37afd68,  removed.
[LOG] Callback 55cec37afdd8 -> 55cec37afdd0,  removed.
[LOG] Callback 55cec37afe40 -> 55cec37afe38,  removed.
[LOG] Callback 55cec37afea8 -> 55cec37afea0,  removed.
[LOG] Registered signal for owner 55cec37af910: 55cec3783cc0 -> 55cec37afc10 (owner: )
[LOG] Registered signal for owner 55cec37af910: 55cec3783d50 -> 55cec37afc78 (owner: )
[LOG] Registered signal for owner 55cec37af910: 55cec3783d40 -> 55cec37afce0 (owner: )
[LOG] Registered signal for owner 55cec37af910: 55cec3783cd0 -> 55cec37afd48 (owner: )
[LOG] Registered signal for owner 55cec37af910: 55cec3783ce0 -> 55cec37afdb0 (owner: )
[LOG] Registered signal for owner 55cec37af910: 55cec3783d00 -> 55cec37afe18 (owner: )
[LOG] Registered signal for owner 55cec37af910: 55cec3783d20 -> 55cec37afe80 (owner: )
[WARN] No rule found for eDP-1, trying to use the first.
[WARN] No rules configured. Using the default hardcoded one.
[LOG] Added new monitor with name eDP-1 at [-1, -1] with size [0, 0], pointer 55cec3783b70
[LOG] New monitor: WORKSPACEID 7, exists: 0
vaxerski commented 10 months ago

can you do a git bisect?

TheAngusMcFire commented 10 months ago

Yes, I can do it on the weekend