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.09k stars 882 forks source link

Hyprland Crashes on latest #3977

Closed Arjun31415 closed 10 months ago

Arjun31415 commented 10 months ago

Hyprland Version

99ca26d4eb84e0071264713902e5b287fcab392e

Bug or Regression?

Bug

Description

Hyprland crashes on startup (Nixos flake)

How to reproduce

  1. Update to latest
  2. have either hy3 or hyprwinwrap, or both
  3. reboot
  4. launch Hyprland

Crash reports, logs, images, videos

--------------------------------------------
   Hyprland Crash Report
--------------------------------------------
Calm down, it was a misinput! MISINPUT!

Hyprland received signal 11 (Segmentation fault)

Version: 99ca26d4eb84e0071264713902e5b287fcab392e
Tag: 

Hyprland seems to be running with plugins. This crash might not be Hyprland's fault.
Plugins:
    hy3 (outfoxxed) 0.1
    hyprwinwrap (Vaxry) 1.0

System info:
    System name: Linux
    Node name: Omen
    Release: 6.6.2
    Version: #1-NixOS SMP PREEMPT_DYNAMIC Mon Nov 20 10:59:39 UTC 2023

GPU:
    01:00.0 VGA compatible controller [0300]: NVIDIA Corporation TU106M [GeForce RTX 2060 Mobile] [10de:1f15] (rev a1) (prog-if 00 [VGA controller])
06:00.0 VGA compatible controller [0300]: Advanced Micro Devices, Inc. [AMD/ATI] Renoir [1002:1636] (rev c6) (prog-if 00 [VGA controller])

os-release:
    BUG_REPORT_URL="https://github.com/NixOS/nixpkgs/issues"
    BUILD_ID="24.05.20231124.0bd59c5"
    DOCUMENTATION_URL="https://nixos.org/learn.html"
    HOME_URL="https://nixos.org/"
    ID=nixos
    LOGO="nix-snowflake"
    NAME=NixOS
    PRETTY_NAME="NixOS 24.05 (Uakari)"
    SUPPORT_URL="https://nixos.org/community.html"
    VERSION="24.05 (Uakari)"
    VERSION_CODENAME=uakari
    VERSION_ID="24.05"

Backtrace:
    #0 | /etc/profiles/per-user/prometheus/bin/Hyprland(_Z12getBacktracev+0x48) [0x571498]
        _Z12getBacktracev
        ??:?
    #1 | /etc/profiles/per-user/prometheus/bin/Hyprland(_ZN13CrashReporter18createAndSaveCrashEi+0x58b) [0x52a6cb]
        _ZN13CrashReporter18createAndSaveCrashEi
        ??:?
    #2 | /etc/profiles/per-user/prometheus/bin/Hyprland(_Z25handleUnrecoverableSignali+0x3f) [0x49f0af]
        _Z25handleUnrecoverableSignali
        ??:?
    #3 | /nix/store/qn3ggz5sf3hkjs2c797xf7nan3amdxmp-glibc-2.38-27/lib/libc.so.6(+0x3da70) [0x7f9767655a70]
        ??
        ??:0
    #4 | /etc/profiles/per-user/prometheus/bin/Hyprland(_Z16renderGradientToR8CTextureRK6CColor+0x27) [0x6553b7]
        _Z16renderGradientToR8CTextureRK6CColor
        ??:?
    #5 | /etc/profiles/per-user/prometheus/bin/Hyprland(_Z24refreshGroupBarGradientsv+0xb5) [0x655d45]
        _Z24refreshGroupBarGradientsv
        ??:?
    #6 | /etc/profiles/per-user/prometheus/bin/Hyprland(_ZN14CConfigManager18loadConfigLoadVarsEv+0x1081) [0x519531]
        _ZN14CConfigManager18loadConfigLoadVarsEv
        ??:?
    #7 | /etc/profiles/per-user/prometheus/bin/Hyprland(_ZN14CConfigManager4tickEv+0x195) [0x51a275]
        _ZN14CConfigManager4tickEv
        ??:?
    #8 | /etc/profiles/per-user/prometheus/bin/Hyprland(_ZN14CConfigManager17handlePluginLoadsEv+0x520) [0x51a950]
        _ZN14CConfigManager17handlePluginLoadsEv
        ??:?
    #9 | /etc/profiles/per-user/prometheus/bin/Hyprland(_ZN11CCompositor12initManagersE18eManagersInitStage+0x1353) [0x4b4bb3]
        _ZN11CCompositor12initManagersE18eManagersInitStage
        ??:?
    #10 | /etc/profiles/per-user/prometheus/bin/Hyprland(main+0x75d) [0x48a0bd]
        main
        ??:?
    #11 | /nix/store/qn3ggz5sf3hkjs2c797xf7nan3amdxmp-glibc-2.38-27/lib/libc.so.6(+0x27fce) [0x7f976763ffce]
        ??
        ??:0
    #12 | /nix/store/qn3ggz5sf3hkjs2c797xf7nan3amdxmp-glibc-2.38-27/lib/libc.so.6(__libc_start_main+0x89) [0x7f9767640089]
        ??
        ??:0
    #13 | /etc/profiles/per-user/prometheus/bin/Hyprland(_start+0x25) [0x49ef15]
        _start
        ??:?

Log tail:
L_KHR_parallel_shader_compile GL_NV_alpha_to_coverage_dither_control GL_AMD_framebuffer_multisample_advanced GL_EXT_EGL_image_storage GL_EXT_texture_shadow_lod GL_INTEL_blackhole_render GL_MESA_framebuffer_flip_y GL_NV_compute_shader_derivatives GL_EXT_demote_to_helper_invocation GL_EXT_depth_clamp GL_EXT_texture_query_lod GL_MESA_bgra 
[render/gles2/renderer.c:757] GPU reset notifications are enabled
[render/allocator/allocator.c:107] Trying to create gbm allocator
[render/allocator/gbm.c:213] Created GBM allocator with backend drm
[render/allocator/gbm.c:216] Using DRM node /dev/dri/card1
[xcursor/wlr_xcursor.c:222] Loaded cursor theme 'default' at size 24 (115 available cursors)
[types/wlr_drm_lease_v1.c:635] Creating wlr_drm_lease_device_v1 for /dev/dri/card1
[types/wlr_drm_lease_v1.c:635] Creating wlr_drm_lease_device_v1 for /dev/dri/card0
[backend/headless/backend.c:67] Creating headless backend
[LOG] Creating the ThreadManager!
[LOG] Hypr socket started at /tmp/hypr/99ca26d4eb84e0071264713902e5b287fcab392e_1701057316/.socket.sock
[LOG] Creating the InputManager!
[LOG] [hookSystem] New hook event registered: keyboardFocus
[LOG] Creating the CHyprOpenGLImpl!
[LOG] Creating the Hypr OpenGL Renderer!
[LOG] Using: OpenGL ES 3.2 Mesa 23.1.9
[LOG] Vendor: AMD
[LOG] Renderer: AMD Radeon Graphics (renoir, LLVM 16.0.6, DRM 3.54, 6.6.2)
[LOG] Supported extensions size: 150
[LOG] Creating the HyprRenderer!
[LOG] DRM driver information: amdgpu v3.54.0 from 20150101 description AMD GPU
[LOG] DRM driver information: nvidia-drm v0.0.0 from 20160202 description NVIDIA DRM driver
[WARN] NVIDIA detected, please remember to follow nvidia instructions on the wiki
[LOG] Creating the XWaylandManager!
[LOG] Registered signal for owner 2cb9980: 2cb99c8 -> 6e2320 (owner: XWayland Manager)
[LOG] Registered signal for owner 2cb9980: 2cb99d8 -> 6e2300 (owner: XWayland Manager)
[LOG] CHyprXWaylandManager started on display :0
[LOG] Creating the ProtocolManager!
[LOG] ToplevelExportManager started successfully!
[LOG] FractionalScaleManager started successfully!
[LOG] TextInputV1Manager started successfully!
[LOG] GlobalShortcutsManager started successfully!
[LOG] ScreencopyProtocolManager started successfully!
[LOG] [proto XDGOutput] started
[LOG] [hookSystem] New hook event registered: monitorLayoutChanged
[LOG] [hookSystem] New hook event registered: monitorRemoved
[LOG] Creating the SessionLockManager!
[LOG] Creating the EventManager!
[LOG] Creating the HyprDebugOverlay!
[LOG] Creating the HyprNotificationOverlay!
[LOG] Hypr socket 2 started at /tmp/hypr/99ca26d4eb84e0071264713902e5b287fcab392e_1701057316/.socket2.sock
[LOG] Creating the PluginSystem!
[LOG] Loading plugin /nix/store/0ln2vmi7pcg6zr47nw14qqky53iwvyrv-hy3-0.1/lib/libhy3.so which is now present in config
[LOG] Added new layout hy3 at 2c6d200
[LOG]  [PluginSystem] Plugin hy3 loaded. Handle: 2cb8180, path: "/nix/store/0ln2vmi7pcg6zr47nw14qqky53iwvyrv-hy3-0.1/lib/libhy3.so", author: "outfoxxed", description: "i3 like layout for hyprland", version: "0.1"
[LOG] Loading plugin /nix/store/013q279ndx2l5bry8yiay6k1kpgs6akf-hyprwinwrap-0.1/lib/libhyprwinwrap.so which is now present in config
[LOG] [hookSystem] New hook event registered: openWindow
[LOG] [hookSystem] New hook event registered: closeWindow
[LOG] [hookSystem] New hook event registered: render
[LOG]  [PluginSystem] Plugin hyprwinwrap loaded. Handle: 2c416d0, path: "/nix/store/013q279ndx2l5bry8yiay6k1kpgs6akf-hyprwinwrap-0.1/lib/libhyprwinwrap.so", author: "Vaxry", description: "A clone of xwinwrap for Hyprland", version: "1.0"
[LOG] Reloading the config!
[LOG] Created a bezier curve, baked 255 points, mem usage: 4.08kB, time to bake: 13.48µs. Estimated average calc time: 0.19µs.
[LOG] Using config: /home/prometheus/.config/hypr/hyprland.conf
[LOG] Registered dynamic var "$browser" -> firefox-nightly
[LOG] Registered dynamic var "$terminal" -> kitty
[LOG] Created a bezier curve, baked 255 points, mem usage: 4.08kB, time to bake: 10.48µs. Estimated average calc time: 0.20µs.
[LOG] Registered dynamic var "$mainMod" -> SUPER
Arjun31415 commented 10 months ago

Config -

exec-once=/nix/store/m9bp68sxl8pi3gxhplfg8cgmld9c2lc0-dbus-1.14.10/bin/dbus-update-act
ivation-environment --systemd DISPLAY WAYLAND_DISPLAY HYPRLAND_INSTANCE_SIGNATURE XDG_
CURRENT_DESKTOP && systemctl --user start hyprland-session.target
plugin = /nix/store/6y9bnaldhs16mbfmk7zxjrq2mj77scyp-hy3-0.1/lib/libhy3.so
plugin = /nix/store/mnx7hinxpjiqa8zaj54m8np1xipvgqx0-hyprwinwrap-0.1/lib/libhyprwinwra
p.so
source = /nix/store/7ams43hxv5lxdwvccgxxdiv4rzm19lqq-impurity--home-hyprland-hyprland.
conf

#
# Please note not all available settings / options are set here.
# For a full list, see the wiki
#

# autogenerated = 1 # remove this line to remove the warning
# Variables
env = WLR_NO_HARDWARE_CURSORS,1
env = HYPRLAND_LOG_WLR,1
env = XCURSOR_SIZE,24
# env = XCURSOR_THEME,Catpuccin-Mocha-Maroon-Cursors
env = QT_QPA_PLATFORMTHEME,qt5ct
env = QT_WAYLAND_DISABLE_WINDOWDECORATION,1
env = _JAVA_AWT_WM_NONREPARENTING,1

# Nvidia Stuff
env = GBM_BACKEND,nvidia
env = MOZ_ENABLE_WAYLAND,1
env = LIBVA_DRIVER_NAME,nvidia
env = XDG_SESSION_TYPE,wayland
env = __GLX_VENDOR_LIBRARY_NAME,nvidia
# For crashes -
# cat /tmp/hypr/$(ls -t /tmp/hypr/ | head -n 1)/hyprland.log

$browser = firefox-nightly
$terminal = kitty

# See https://wiki.hyprland.org/Configuring/Monitors/
monitor=eDP-1,highres,auto,1
monitor=HDMI-A-1,highres,auto,1
monitor=HDMI-A-1,transform,0
# See https://wiki.hyprland.org/Configuring/Keywords/ for more

# Execute your favorite apps at launch
exec-once = dex -a
exec-once = swww-daemon
exec-once = ~/.local/bin/wallpaper-changer ~/Pictures/Wallpapers/
exec-once = wl-paste --watch cliphist store
exec-once = playerctld daemon
exec-once = waybar
exec-once = wakapi -config ~/.config/wakapi/config.yml
exec-once = qbittorrent &
# Source a file (multi-file configs)
# source = ~/.config/hypr/myColors.conf

# For all categories, see https://wiki.hyprland.org/Configuring/Variables/
input {
    kb_layout = us
    kb_variant =
    kb_model =
    kb_options =
    kb_rules =

    follow_mouse = 1

    touchpad {
        natural_scroll = true
        disable_while_typing = true
    }

    sensitivity = 0 # -1.0 - 1.0, 0 means no modification.
}

general {
    # See https://wiki.hyprland.org/Configuring/Variables/ for more

    gaps_in = 1
    gaps_out = 5
    border_size = 3
    col.active_border = rgba(7dcfffff) rgba(bb9af7ff) 45deg
    col.inactive_border = rgba(595959aa)
    apply_sens_to_raw=0
    layout = hy3
}
plugin {
  hy3 {
    no_gaps_when_only = true
      autotile {
        enable = true
      }
  }
  hyprwinwrap {
    # class is an EXACT match and NOT a regex!
    class = kitty-bg
  }
}
decoration {
    # See https://wiki.hyprland.org/Configuring/Variables/ for more

    rounding = 10
    drop_shadow = yes
    shadow_range = 4
    shadow_render_power = 3

    blur {
      enabled = yes
      size = 3
      passes = 2
      new_optimizations = true
    }
    col.shadow = rgba(1a1a1aee)

}

animations {
    enabled = yes

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

    bezier = myBezier, 0.05, 0.9, 0.1, 1.05

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

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

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

gestures {
    # See https://wiki.hyprland.org/Configuring/Variables/ for more
    workspace_swipe = true
}

# Example per-device config
# See https://wiki.hyprland.org/Configuring/Keywords/#executing for more
device:epic mouse V1 {
    sensitivity = -0.5
}
debug:disable_logs = false
# Example windowrule v1
# windowrulev2 = float,class:^(kitty)$,title:^(kitty)$
# See https://wiki.hyprland.org/Configuring/Window-Rules/ for more

# See https://wiki.hyprland.org/Configuring/Keywords/ for more
$mainMod = SUPER

# Example binds, see https://wiki.hyprland.org/Configuring/Binds/ for more
bind = $mainMod, RETURN, exec, $terminal
bind = $mainMod, Q, killactive,
bind = $mainMod, M, exit,
bind = $mainMod, E, exec, dolphin
bind = $mainMod, SPACE, togglefloating,
bind = $mainMod, D, exec, anyrun
#bind = $mainMod SHIFT, E, exec, rofi -show emoji
#bind = $mainMod, C, exec, rofi -show calc
bind = $mainMod SHIFT, P, pseudo,
bind = $mainMod, H, hy3:movewindow, left
bind = $mainMod, J, hy3:movewindow, down
bind = $mainMod, K, hy3:movewindow, up
bind = $mainMod, L, hy3:movewindow, right
bind = $mainMod, F, exec, ~/.config/hypr/hy3-fullscreen.sh
# bind = $mainMod, F, fullscreen
bind = $mainMod, G, exec, ~/.config/hypr/gamemode.sh

# 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
bind = $mainMod, F1, workspace, 11
bind = $mainMod, F2, workspace, 12
bind = $mainMod, F3, workspace, 13
bind = $mainMod, F4, workspace, 14
bind = $mainMod, F5, workspace, 15
bind = $mainMod, F6, workspace, 16
bind = $mainMod, F7, workspace, 17
bind = $mainMod, F8, workspace, 18
bind = $mainMod, F9, workspace, 19
bind = $mainMod, F10, workspace, 20

# 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

# bind = $mainMod+CONTROL, 1, hy3:focustab, index, 01
# bind = $mainMod+CONTROL, 2, hy3:focustab, index, 02
# bind = $mainMod+CONTROL, 3, hy3:focustab, index, 03
# bind = $mainMod+CONTROL, 4, hy3:focustab, index, 04
# bind = $mainMod+CONTROL, 5, hy3:focustab, index, 05
# bind = $mainMod+CONTROL, 6, hy3:focustab, index, 06
# bind = $mainMod+CONTROL, 7, hy3:focustab, index, 07
# bind = $mainMod+CONTROL, 8, hy3:focustab, index, 08
# bind = $mainMod+CONTROL, 9, hy3:focustab, index, 09
# bind = $mainMod+CONTROL, 0, hy3:focustab, index, 10

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

# Resizing window
bind=ALT,R,submap,resize

# will start a submap called "resize"
submap=resize

# sets repeatable binds for resizing the active window
binde=,right,resizeactive,10 0
binde=,left,resizeactive,-10 0
binde=,up,resizeactive,0 -10
binde=,down,resizeactive,0 10

# use reset to go back to the global submap
bind=,escape,submap,reset

# will reset the submap, meaning end the current one and return to the global one
submap=reset

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

bind = $mainMod, x, exec, kill -USR1 $(pgrep "waybar")
bind = $mainMod SHIFT, S, exec, grimblast --notify copysave area

# Media Buttons
binde =, XF86AudioRaiseVolume, exec, ~/.local/bin/progress_notify.sh audio up
binde =, XF86AudioLowerVolume, exec, ~/.local/bin/progress_notify.sh audio down
bind =, XF86AudioMute, exec, ~/.local/bin/progress_notify.sh audio toggle
bind =, XF86AudioNext, exec, playerctl next
bind =, XF86AudioPrev, exec, playerctl previous
bind =, XF86AudioPlay, exec, playerctl play-pause
bind =, XF86AudioStop, exec, playerctl stop

# Screen Brightness
binde =, XF86MonBrightnessUp, exec, brightnessctl s 5%+ && ~/.local/bin/progress_notify.sh brightness
binde =, XF86MonBrightnessDown, exec, brightnessctl s 5%- && ~/.local/bin/progress_notify.sh brightness
# Swaps the active workspaces between two monitors
bind = $mainMod, Z, swapactiveworkspaces, HDMI-A-1 eDP-1

# Clipboard

bind = $mainMod, p, exec, cliphist list | anyrun --plugins libstdin.so --show-results-immediately true --max-entries 100  | cliphist decode | wl-copy

windowrule = animation easeInBounce,kitty # sets the animation style for kitty
windowrule = opacity 0.85 0.85, VencordDesktop # sets the opacity for VencordDesktop
windowrule = opacity 0.85 0.85,WebCord # sets the opacity for VencordDesktop

windowrule = opacity 0.90 0.80, Code # sets the opacity for Code
Arjun31415 commented 10 months ago

After a bit of debugging, removing both plugins - hy3 and hyrpwinwrap causes no crashes. Updated the report to include the same

vaxerski commented 10 months ago

sounds like a header ver mismatch. Hyprwinwrap was missing the check, added now.

Arjun31415 commented 10 months ago

image 😢

Arjun31415 commented 10 months ago

seems like i need to do a bit of nixxing

Arjun31415 commented 10 months ago

Hmm after overriding the flake inputs it works