Closed brettalcox closed 7 months ago
can you compile in debug and give bt -full?
@vaxerski actually i was able to get a crash report just now
--------------------------------------------
Hyprland Crash Report
--------------------------------------------
Vaxry is going to be upset.
Hyprland received signal 11 (Segmentation fault)
Version: 12985fa0d8e43b1e33326dfb49be681970dfaea5
Tag: v0.36.0-50-g12985fa0
System info:
System name: Linux
Node name: gentoo
Release: 6.7.8-gentoo
Version: #1 SMP PREEMPT_DYNAMIC Sat Mar 2 18:54:38 CST 2024
GPU:
01:00.0 VGA compatible controller [0300]: NVIDIA Corporation AD102 [GeForce RTX 4090] [10de:2684] (rev a1) (prog-if 00 [VGA controller])
os-release:
NAME=Gentoo
ID=gentoo
PRETTY_NAME="Gentoo Linux"
ANSI_COLOR="1;32"
HOME_URL="https://www.gentoo.org/"
SUPPORT_URL="https://www.gentoo.org/support/"
BUG_REPORT_URL="https://bugs.gentoo.org/"
VERSION_ID="2.14"
Backtrace:
#0 | Hyprland(_Z12getBacktracev+0x49) [0x5574aadf5b29]
getBacktrace()
??:?
#1 | Hyprland(_ZN13CrashReporter18createAndSaveCrashEi+0x741) [0x5574aada20e1]
CrashReporter::createAndSaveCrash(int)
??:?
#2 | Hyprland(_Z25handleUnrecoverableSignali+0x41) [0x5574aad199e1]
handleUnrecoverableSignal(int)
??:?
#3 | /usr/lib64/libc.so.6(+0x3b6b0) [0x7f2bbe8806b0]
??
??:0
#4 | Hyprland(+0x125f12) [0x5574aad60f12]
unregisterVar(void*)
??:?
#5 | Hyprland(+0x2d87be) [0x5574aaf137be]
wlr_buffer_try_from_resource
??:?
#6 | Hyprland(_ZN11CSubsurface7onUnmapEv+0x96) [0x5574aadc9b26]
CSubsurface::onUnmap()
??:?
#7 | Hyprland(_Z13handleWrappedP11wl_listenerPv+0x57) [0x5574aae0b127]
handleWrapped(wl_listener*, void*)
??:?
#8 | /usr/lib64/libwayland-server.so.0(wl_signal_emit_mutable+0x7c) [0x7f2bbf3a2a4c]
??
??:0
#9 | Hyprland(wlr_surface_unmap+0x29) [0x5574aaf144c9]
wlr_surface_unmap
??:?
#10 | Hyprland(+0x2dae75) [0x5574aaf15e75]
wlr_surface_synced_get_state
??:?
#11 | /usr/lib64/libffi.so.8(+0x70aa) [0x7f2bbe8400aa]
??
??:0
#12 | /usr/lib64/libffi.so.8(+0x656b) [0x7f2bbe83f56b]
??
??:0
#13 | /usr/lib64/libffi.so.8(ffi_call+0xcd) [0x7f2bbe83fc3d]
??
??:0
#14 | /usr/lib64/libwayland-server.so.0(+0xda26) [0x7f2bbf3a6a26]
??
??:0
#15 | /usr/lib64/libwayland-server.so.0(+0x8c7b) [0x7f2bbf3a1c7b]
??
??:0
#16 | /usr/lib64/libwayland-server.so.0(wl_event_loop_dispatch+0xb2) [0x7f2bbf3a4952]
??
??:0
#17 | /usr/lib64/libwayland-server.so.0(wl_display_run+0x25) [0x7f2bbf3a2485]
??
??:0
#18 | Hyprland(main+0x8cf) [0x5574aad086ff]
main
??:?
#19 | /usr/lib64/libc.so.6(+0x25f3a) [0x7f2bbe86af3a]
??
??:0
#20 | /usr/lib64/libc.so.6(__libc_start_main+0x85) [0x7f2bbe86aff5]
??
??:0
#21 | Hyprland(_start+0x21) [0x5574aad19891]
_start
??:?
Log tail:
[LOG] [hookSystem] New hook event registered: workspace
[LOG] [hookSystem] New hook event registered: moveWorkspace
[LOG] Callback 5574ac87d530 -> 5574ac87d528, CRenderbuffer removed.
[LOG] Callback 5574ae8d3490 -> 5574ae8d3488, CRenderbuffer removed.
[LOG] Removing monitor DP-3 from realMonitors
[LOG] Callback 5574ac75fb58 -> 5574ac75fb50, removed.
[LOG] Callback 5574ac75fbc0 -> 5574ac75fbb8, removed.
[LOG] Destroying workspace ID 4
[LOG] [hookSystem] New hook event registered: destroyWorkspace
[LOG] Fading out a non-existent LS??
[LOG] Destroy called for monitor DP-2
[LOG] onDisconnect called for DP-2
[LOG] Callback 5574ac60f360 -> 5574ac60f358, removed.
[LOG] Callback 5574ac60f498 -> 5574ac60f490, removed.
[LOG] Callback 5574ac60f500 -> 5574ac60f4f8, removed.
[LOG] Callback 5574ac60f568 -> 5574ac60f560, removed.
[LOG] Callback 5574ac60f5d0 -> 5574ac60f5c8, removed.
[LOG] LayerSurface 5574b3db63e0 unmapped
[LOG] Callback 5574abd36418 -> 5574abd36410, CPopup Head removed.
[LOG] Framebuffer created, status 36053
[LOG] Callback 5574b3db67e0 -> 5574b3db67d8, CWLSurface removed.
[LOG] Callback 5574b3db6848 -> 5574b3db6840, CWLSurface removed.
[LOG] CWLSurface 5574b3db6770 called destroy()
[LOG] LayerSurface 5574b3db63e0 destroyed
[LOG] Callback 5574b3db69f0 -> 5574b3db69e8, layerSurface removed.
[LOG] Callback 5574b3db68b8 -> 5574b3db68b0, layerSurface removed.
[LOG] Callback 5574b3db6920 -> 5574b3db6918, layerSurface removed.
[LOG] Callback 5574b3db6988 -> 5574b3db6980, layerSurface removed.
[LOG] LayerSurface 5574b4be10d0 unmapped
[LOG] Callback 5574ae8113c8 -> 5574ae8113c0, CPopup Head removed.
[LOG] Framebuffer created, status 36053
[LOG] Callback 5574ae80f900 -> 5574ae80f8f8, CWLSurface removed.
[LOG] Callback 5574ae80f968 -> 5574ae80f960, CWLSurface removed.
[LOG] CWLSurface 5574ae80f890 called destroy()
[LOG] LayerSurface 5574b4be10d0 destroyed
[LOG] Callback 5574ae80fb10 -> 5574ae80fb08, layerSurface removed.
[LOG] Callback 5574ae80f9d8 -> 5574ae80f9d0, layerSurface removed.
[LOG] Callback 5574ae80fa40 -> 5574ae80fa38, layerSurface removed.
[LOG] Callback 5574ae80faa8 -> 5574ae80faa0, layerSurface removed.
[LOG] Removed monitor DP-2!
[WARN] Unplugged last monitor, entering an unsafe state. Good luck my friend.
[LOG] Entering unsafe state
[LOG] Registered signal for owner 5574ac6502d0: 5574ac6500e8 -> 5574ac6506d8 (owner: )
[LOG] Registered signal for owner 5574ac6502d0: 5574ac650178 -> 5574ac650740 (owner: )
[LOG] Registered signal for owner 5574ac6502d0: 5574ac650168 -> 5574ac6507a8 (owner: )
[LOG] Registered signal for owner 5574ac6502d0: 5574ac6500f8 -> 5574ac650810 (owner: )
[LOG] Registered signal for owner 5574ac6502d0: 5574ac650108 -> 5574ac650878 (owner: )
[LOG] Registered signal for owner 5574ac6502d0: 5574ac650128 -> 5574ac6508e0 (owner: )
[LOG] Registered signal for owner 5574ac6502d0: 5574ac650148 -> 5574ac650948 (owner: )
[WARN] No rule found for HEADLESS-1, trying to use the first.
[WARN] No rules configured. Using the default hardcoded one.
[LOG] Applying monitor rule for HEADLESS-1
[ERR] Monitor HEADLESS-1 has NO PREFERRED MODE
[LOG] output HEADLESS-1 succeeded basic test on format DRM_FORMAT_XRGB8888
[LOG] Monitor HEADLESS-1 -> destroyed all render data
[LOG] arrangeMonitors: 2 to arrange
[LOG] arrangeMonitors: DP-2 explicit [2560.00, 0.00]
[LOG] arrangeMonitors: HEADLESS-1 auto [5120, 0.00]
[LOG] arrangeMonitors: DP-2 xwayland [0, 0.00]
[LOG] arrangeMonitors: HEADLESS-1 xwayland [3840, 0.00]
[LOG] Monitor HEADLESS-1 data dump: res 1920x1080@60.00Hz, scale 1.00, transform 0, pos 5120x0, 10b 0
[LOG] Added new monitor with name HEADLESS-1 at [5120, 0] with size [1920, 1080], pointer 5574ac650040
[LOG] New monitor: WORKSPACEID 4, exists: 0
[LOG] Callback 5574abe97ed0 -> 5574abe97ec8, CRenderbuffer removed.
[LOG] Callback 5574ae8aea90 -> 5574ae8aea88, CRenderbuffer removed.
[LOG] Removing monitor DP-2 from realMonitors
[LOG] Callback 5574ac60f3c8 -> 5574ac60f3c0, removed.
[LOG] Callback 5574ac60f430 -> 5574ac60f428, removed.
[WARN] Attempted to render frame on inactive session!
@vaxerski and hmmm, I compiled in debug (confirmed, because I had to cp my hyprland.conf -> hyprlandd.conf), but bt -full
doesn't give any additional info on the debug build's dumps
launch with HYPRLAND_NO_CRASHREPORTER=1
for a better bt -full, something isn't right here.
@vaxerski still no more info after bt -full
:thinking:. And confirmed that arg is working because no crash report generated
Size of Hyprland binary is 5079120
--does that add up for debug build?
paste the output regardless
Could only replicate if waybar is also running, doesn't seem to be related to any hyprland specific module though as I disabled those and still crashed.
@vaxerski -- also worth noting, gdb
is complaining that it doesn't find any debugging symbols in the Hyprland binary
gentoo :: /tmp/hypr/12985fa0d8e43b1e33326dfb49be681970dfaea5_1709649636 » coredumpctl gdb 23368
PID: 23368 (Hyprland)
UID: 1000 (brettalcox)
GID: 1000 (brettalcox)
Signal: 11 (SEGV)
Timestamp: Tue 2024-03-05 08:40:51 CST (44min ago)
Command Line: Hyprland
Executable: /usr/bin/Hyprland
Control Group: /user.slice/user-1000.slice/session-27.scope
Unit: session-27.scope
Slice: user-1000.slice
Session: 27
Owner UID: 1000 (brettalcox)
Boot ID: 6f3a531107894c4fb621b7ca29368af0
Machine ID: 95b22b34bb1b49009d122d93db1554b9
Hostname: gentoo
Storage: /var/lib/systemd/coredump/core.Hyprland.1000.6f3a531107894c4fb621b7ca29368af0.23368.1709649651000000.zst (present)
Size on Disk: 17.7M
Message: Process 23368 (Hyprland) of user 1000 dumped core.
GNU gdb (Gentoo 14.2 vanilla) 14.2
Copyright (C) 2023 Free Software Foundation, Inc.
License GPLv3+: GNU GPL version 3 or later <http://gnu.org/licenses/gpl.html>
This is free software: you are free to change and redistribute it.
There is NO WARRANTY, to the extent permitted by law.
Type "show copying" and "show warranty" for details.
This GDB was configured as "x86_64-pc-linux-gnu".
Type "show configuration" for configuration details.
For bug reporting instructions, please see:
<https://bugs.gentoo.org/>.
Find the GDB manual and other documentation resources online at:
<http://www.gnu.org/software/gdb/documentation/>.
For help, type "help".
Type "apropos word" to search for commands related to "word"...
Reading symbols from /usr/bin/Hyprland...
(No debugging symbols found in /usr/bin/Hyprland)
warning: Can't open file /memfd:/.glXXXXXX (deleted) during file-backed mapping note processing
warning: Can't open file /memfd:foot-wayland-shm-buffer-pool (deleted) during file-backed mapping note processing
warning: Can't open file /run/user/1000/.hyprpaper_l8qC1s during file-backed mapping note processing
warning: Can't open file /memfd:gdk-wayland (deleted) during file-backed mapping note processing
warning: Can't open file /memfd:wayland-cursor (deleted) during file-backed mapping note processing
warning: Can't open file /run/user/1000/.hyprpaper_aopztB during file-backed mapping note processing
warning: Can't open file /run/user/1000/.hyprpaper_5qjRK5 during file-backed mapping note processing
warning: Can't open file /run/user/1000/.hyprpaper_mrclwK during file-backed mapping note processing
warning: Can't open file /dev/shm/dunst-GooOhb (deleted) during file-backed mapping note processing
warning: Can't open file /memfd:xwayland-shared (deleted) during file-backed mapping note processing
[New LWP 23368]
[New LWP 23373]
[Thread debugging using libthread_db enabled]
Using host libthread_db library "/usr/lib64/libthread_db.so.1".
Core was generated by `Hyprland'.
Program terminated with signal SIGSEGV, Segmentation fault.
#0 0x00005571011adf12 in ?? ()
[Current thread is 1 (Thread 0x7fb90870de80 (LWP 23368))]
(gdb) bt -full
#0 0x00005571011adf12 in ??? ()
#1 0x00005571013607be in ??? ()
#2 0x0000557101216b26 in CSubsurface::onUnmap() ()
#3 0x0000557101258127 in handleWrapped(wl_listener*, void*) ()
#4 0x00007fb909f0da4c in wl_signal_emit_mutable () at /usr/lib64/libwayland-server.so.0
#5 0x00005571013614c9 in wlr_surface_unmap ()
#6 0x0000557101362e75 in ??? ()
#7 0x00007fb9093ab0aa in ??? () at /usr/lib64/libffi.so.8
#8 0x00007fb9093aa56b in ??? () at /usr/lib64/libffi.so.8
#9 0x00007fb9093aac3d in ffi_call () at /usr/lib64/libffi.so.8
#10 0x00007fb909f11a26 in ??? () at /usr/lib64/libwayland-server.so.0
#11 0x00007fb909f0cc7b in ??? () at /usr/lib64/libwayland-server.so.0
#12 0x00007fb909f0f952 in wl_event_loop_dispatch () at /usr/lib64/libwayland-server.so.0
#13 0x00007fb909f0d485 in wl_display_run () at /usr/lib64/libwayland-server.so.0
#14 0x00005571011556ff in main ()
An easy check: if Hyprland is using your regular config then you're not using a debug build (it should use ~/.config/hypr/hyprlandd.conf
instead).
yea that doesnt look like debug
My coredump above should be a proper one with debug symbols though.
Well, that's what's confusing.. the logs are hyprlandd.log
and it is using hyprlandd.conf
(because on initial launch it was a vanilla instance since I didn't have config defined)
did you sudo make install
or?
@vaxerski here you go
(gdb) bt -full
#0 0x00007f87ea6f9bac in ??? () at /usr/lib64/libc.so.6
#1 0x00007f87ea6aa612 in raise () at /usr/lib64/libc.so.6
#2 0x00007f87ea6934ed in abort () at /usr/lib64/libc.so.6
#3 0x000055f29f30309e in handleUnrecoverableSignal (sig=11) at ../src/Compositor.cpp:35
#4 0x00007f87ea6aa6b0 in <signal handler called> () at /usr/lib64/libc.so.6
#5 0x000055f29f5dcda6 in operator() (__closure=0x0, surf=0x55f2a9833cf0, x=0, y=0, data=0x55f2a9820f10) at ../src/Window.cpp:361
PMONITOR = 0x0
PSURFACE = 0x55f2a9821730
#6 0x000055f29f5dce69 in _FUN () at ../src/Window.cpp:366
#7 0x000055f29f6344fb in surface_for_each_surface (surface=0x55f2a9833cf0, x=0, y=0, iterator=0x55f29f5dce35 <_FUN(wlr_surface*, int, int, void*)>, user_data=0x55f2a9820f10) at ../subprojects/wlroots/types/wlr_compositor.c:1156
subsurface = 0x55f2a9833dd0
#8 0x000055f29f6345e1 in wlr_surface_for_each_surface (surface=0x55f2a9833cf0, iterator=0x55f29f5dce35 <_FUN(wlr_surface*, int, int, void*)>, user_data=0x55f2a9820f10) at ../subprojects/wlroots/types/wlr_compositor.c:1174
#9 0x000055f29f5dd003 in CWindow::updateSurfaceScaleTransformDetails (this=0x55f2a9820f10) at ../src/Window.cpp:355
PLASTMONITOR = 0x0
PNEWMONITOR = 0x0
#10 0x000055f29f436e93 in CSubsurface::onUnmap (this=0x55f2a98906b0) at ../src/desktop/Subsurface.cpp:195
COORDS = {x = 2577, y = 90}
box = {x = 2577, y = 90, {w = 2526, width = 2526}, {h = 1333, height = 1333}, rot = 0, m_bWlrBox = {x = -351494126, y = 32647, width = 0, height = 0}}
#11 0x000055f29f4355a8 in onUnmapSubsurface (owner=0x55f2a98906b0, data=0x0) at ../src/desktop/Subsurface.cpp:76
PSUBSURFACE = 0x55f2a98906b0
#12 0x000055f29f42e6a9 in std::__invoke_impl<void, void (*&)(void*, void*), void*, void*> (__f=@0x55f2a9890878: 0x55f29f435584 <onUnmapSubsurface(void*, void*)>) at /usr/lib/gcc/x86_64-pc-linux-gnu/13/include/g++-v13/bits/invoke.h:61
#13 0x000055f29f42e0e1 in std::__invoke_r<void, void (*&)(void*, void*), void*, void*> (__fn=@0x55f2a9890878: 0x55f29f435584 <onUnmapSubsurface(void*, void*)>) at /usr/lib/gcc/x86_64-pc-linux-gnu/13/include/g++-v13/bits/invoke.h:111
#14 0x000055f29f42d8b0 in std::_Function_handler<void (void*, void*), void (*)(void*, void*)>::_M_invoke(std::_Any_data const&, void*&&, void*&&) (__functor=..., __args#0=@0x7fff83642e70: 0x55f2a98906b0, __args#1=@0x7fff83642e68: 0x0)
at /usr/lib/gcc/x86_64-pc-linux-gnu/13/include/g++-v13/bits/std_function.h:290
#15 0x000055f29f4982bb in std::function<void (void*, void*)>::operator()(void*, void*) const (this=0x55f2a9890878, __args#0=0x55f2a98906b0, __args#1=0x0) at /usr/lib/gcc/x86_64-pc-linux-gnu/13/include/g++-v13/bits/std_function.h:591
#16 0x000055f29f496f69 in CHyprWLListener::emit (this=0x55f2a9890850, data=0x0) at ../src/helpers/WLListener.cpp:61
#17 0x000055f29f4969e7 in handleWrapped (listener=0x55f2a9890850, data=0x0) at ../src/helpers/WLListener.cpp:14
pWrap = 0x55f2a9890850
#18 0x00007f87eb0cba4c in wl_signal_emit_mutable () at /usr/lib64/libwayland-server.so.0
#19 0x000055f29f6334f7 in wlr_surface_unmap (surface=0x55f2a9823870) at ../subprojects/wlroots/types/wlr_compositor.c:854
subsurface = 0x0
#20 0x000055f29f6325c9 in surface_commit_state (surface=0x55f2a9823870, next=0x55f2a98239f0) at ../subprojects/wlroots/types/wlr_compositor.c:519
__PRETTY_FUNCTION__ = "surface_commit_state"
invalid_buffer = true
subsurface = 0x7fff83643200
#21 0x000055f29f632916 in surface_handle_commit (client=0x55f2a2680cf0, resource=0x55f2a9823c60) at ../subprojects/wlroots/types/wlr_compositor.c:591
surface = 0x55f2a9823870
#22 0x00007f87ea66a0aa in ??? () at /usr/lib64/libffi.so.8
#23 0x00007f87ea66956b in ??? () at /usr/lib64/libffi.so.8
#24 0x00007f87ea669c3d in ffi_call () at /usr/lib64/libffi.so.8
#25 0x00007f87eb0cfa26 in ??? () at /usr/lib64/libwayland-server.so.0
#26 0x00007f87eb0cac7b in ??? () at /usr/lib64/libwayland-server.so.0
#27 0x00007f87eb0cd952 in wl_event_loop_dispatch () at /usr/lib64/libwayland-server.so.0
#28 0x00007f87eb0cb485 in wl_display_run () at /usr/lib64/libwayland-server.so.0
#29 0x000055f29f308585 in CCompositor::startCompositor (this=0x55f29f9e7c10) at ../src/Compositor.cpp:624
#30 0x000055f29f4c23ee in main (argc=1, argv=0x7fff83643aa8) at ../src/main.cpp:111
cmd = "/home/brettalcox/Code/Hyprland/build/src/Hyprland"
configPath = ""
ignoreSudo = false
args = std::vector of length 0, capacity 0
thanks!
Hyprland Version
System/Version info
```sh Hyprland, built from branch HEAD at commit 7a76ab01d16cdeb3bbb11449476d2b8ad84a3fda (input: send motion to confined cursors). Date: Mon Mar 4 17:07:16 2024 Tag: v0.36.0-48-g7a76ab01 ```Bug or Regression?
Bug
Description
Oddly specific title I know..
I just got a KVM switch to bounce between my 2 machines. Only (so far..) with Firefox open, when switching to my other machine (monitor disconnect happening), Firefox/Hyprland/xdg-desktop-portal-hyprland crash:
System Info:
Specifically, here is the bt for the SIGABRT
I don't even get a crash report from Hyprland, either.
How to reproduce
Crash reports, logs, images, videos
No response