aboutsummaryrefslogtreecommitdiff
path: root/working
diff options
context:
space:
mode:
Diffstat (limited to 'working')
-rw-r--r--working/hyprland-layoutmsg-crash/crash-report-2026-03-07-pid1812.txt184
-rw-r--r--working/hyprland-layoutmsg-crash/crash-report-2026-07-20-pid249443.txt166
-rw-r--r--working/hyprland-layoutmsg-crash/issue-draft.md43
-rw-r--r--working/hyprland-layoutmsg-crash/log-excerpts-2026-07-20-session.txt63
4 files changed, 456 insertions, 0 deletions
diff --git a/working/hyprland-layoutmsg-crash/crash-report-2026-03-07-pid1812.txt b/working/hyprland-layoutmsg-crash/crash-report-2026-03-07-pid1812.txt
new file mode 100644
index 0000000..38ba88d
--- /dev/null
+++ b/working/hyprland-layoutmsg-crash/crash-report-2026-03-07-pid1812.txt
@@ -0,0 +1,184 @@
+--------------------------------------------
+ Hyprland Crash Report
+--------------------------------------------
+All these computers...
+
+Hyprland received signal 11(SEGV)
+Version: 4b07770b9ef1cceb2e6f56d33538aaffb9186b9c
+Tag: v0.54.1
+Date: Tue Mar 3 21:06:41 2026
+Flags:
+
+System info:
+ System name: Linux
+ Node name: ratio
+ Release: 6.18.16-1-lts
+ Version: #1 SMP PREEMPT_DYNAMIC Wed, 04 Mar 2026 18:09:01 +0000
+
+GPU:
+ c3:00.0 Display controller [0380]: Advanced Micro Devices, Inc. [AMD/ATI] Strix Halo [Radeon Graphics / Radeon 8050S Graphics / Radeon 8060S Graphics] [1002:1586] (rev c1)
+
+
+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
+
+Libraries:
+Hyprgraphics: built against 0.5.0, system has 0.5.0
+Hyprutils: built against 0.11.0, system has 0.11.0
+Hyprcursor: built against 0.1.13, system has 0.1.13
+Hyprlang: built against 0.6.8, system has 0.6.8
+Aquamarine: built against 0.10.0, system has 0.10.0
+
+Backtrace:
+ # | Hyprland(_Z12getBacktracev+0x61) [0x5610bf4fa961]
+ getBacktrace()
+ ??:?
+ #1 | Hyprland(_ZN13CrashReporter18createAndSaveCrashEi+0xcd6) [0x5610bf45b666]
+ CrashReporter::createAndSaveCrash(int)
+ ??:?
+ #2 | Hyprland(+0x27d31e) [0x5610bf3a931e]
+ std::__format::_Formatting_scanner<std::__format::_Sink_iter<char>, char>::_M_format_arg(unsigned long)
+ ??:?
+ #3 | /usr/lib/libc.so.6(+0x3e2d0) [0x7f7a8be4d2d0]
+ ??
+ ??:0
+ #4 | Hyprland(+0x1f62fe) [0x5610bf3222fe]
+ std::__throw_bad_variant_access(unsigned int)
+ ??:?
+ #5 | Hyprland(_ZN6Layout10CAlgorithm9layoutMsgB5cxx11ERKSt17basic_string_viewIcSt11char_traitsIcEE+0x85) [0x5610bf575df5]
+ Layout::CAlgorithm::layoutMsg[abi:cxx11](std::basic_string_view<char, std::char_traits<char> > const&)
+ ??:?
+ #6 | Hyprland(_ZN6Layout6CSpace9layoutMsgB5cxx11ERKSt17basic_string_viewIcSt11char_traitsIcEE+0x37) [0x5610bf57aa07]
+ Layout::CSpace::layoutMsg[abi:cxx11](std::basic_string_view<char, std::char_traits<char> > const&)
+ ??:?
+ #7 | Hyprland(_ZN6Layout14CLayoutManager9layoutMsgB5cxx11ERKSt17basic_string_viewIcSt11char_traitsIcEE+0xce) [0x5610bf57275e]
+ Layout::CLayoutManager::layoutMsg[abi:cxx11](std::basic_string_view<char, std::char_traits<char> > const&)
+ ??:?
+ #8 | Hyprland(_ZN15CKeybindManager9layoutmsgENSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEE+0x4f) [0x5610bf5a1cbf]
+ CKeybindManager::layoutmsg(std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> >)
+ ??:?
+ #9 | Hyprland(_ZNSt17_Function_handlerIF15SDispatchResultNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEEEPS7_E9_M_invokeERKSt9_Any_dataOS6_+0x63) [0x5610bf5ceed3]
+ std::_Function_handler<SDispatchResult (std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> >), SDispatchResult (*)(std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> >)>::_M_invoke(std::_Any_data const&, std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> >&&)
+ ??:?
+ #1 | Hyprland(+0x306750) [0x5610bf432750]
+ CHyprCtl::CHyprCtl()
+ ??:?
+ #11 | Hyprland(_ZNSt17_Function_handlerIFNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEE20eHyprCtlOutputFormatS5_EPS7_E9_M_invokeERKSt9_Any_dataOS6_OS5_+0x6b) [0x5610bf44f17b]
+ std::_Function_handler<std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> > (eHyprCtlOutputFormat, std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> >), std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> > (*)(eHyprCtlOutputFormat, std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> >)>::_M_invoke(std::_Any_data const&, eHyprCtlOutputFormat&&, std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> >&&)
+ ??:?
+ #12 | Hyprland(_ZN8CHyprCtl8getReplyENSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEE+0x57e) [0x5610bf42d4de]
+ CHyprCtl::getReply(std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> >)
+ ??:?
+ #13 | Hyprland(+0x308772) [0x5610bf434772]
+ CHyprCtl::CHyprCtl()
+ ??:?
+ #14 | /usr/lib/libwayland-server.so.0(wl_event_loop_dispatch+0x1d2) [0x7f7a8cafa182]
+ ??
+ ??:0
+ #15 | /usr/lib/libwayland-server.so.0(wl_display_run+0x37) [0x7f7a8cafc297]
+ ??
+ ??:0
+ #16 | Hyprland(_ZN17CEventLoopManager9enterLoopEv+0x2c1) [0x5610bf631811]
+ CEventLoopManager::enterLoop()
+ ??:?
+ #17 | Hyprland(main+0x1476) [0x5610bf32b756]
+ main
+ ??:?
+ #18 | /usr/lib/libc.so.6(+0x276c1) [0x7f7a8be366c1]
+ ??
+ ??:0
+ #19 | /usr/lib/libc.so.6(__libc_start_main+0x89) [0x7f7a8be367f9]
+ ??
+ ??:0
+ #2 | Hyprland(_start+0x25) [0x5610bf393d35]
+ _start
+ ??:?
+
+
+Log tail:
+DEBUG ]: Hyprctl: new connection from pid 6904
+DEBUG ]: Hyprctl: new connection from pid 6918
+DEBUG ]: Hyprctl: new connection from pid 6920
+DEBUG ]: Hyprctl: new connection from pid 6923
+DEBUG ]: CConfigManager: file /home/cjennings/.config/hypr/hyprland.conf modified, reloading
+DEBUG ]: Using config: /home/cjennings/.config/hypr/hyprland.conf
+DEBUG ]: ApplyConfigToKeyboard for "video-bus", hasconfig: 0
+DEBUG ]: Not applying config to keyboard, it did not change.
+DEBUG ]: ApplyConfigToKeyboard for "power-button", hasconfig: 0
+DEBUG ]: Not applying config to keyboard, it did not change.
+DEBUG ]: ApplyConfigToKeyboard for "keychron-q6-pro-keyboard", hasconfig: 0
+DEBUG ]: Not applying config to keyboard, it did not change.
+DEBUG ]: Applied config to mouse keychron-q6-pro-mouse, sens 0.00
+DEBUG ]: Applied config to mouse keychron-q6-pro-keyboard-1, sens 0.00
+WARN ]: No rule found for DP-4, trying to use the first.
+DEBUG ]: Applying monitor rule for DP-4
+DEBUG ]: Monitor DP-4: requested preferred, using preferred mode 3440x1440@59.97Hz
+DEBUG ]: output DP-4 succeeded basic test on format DRM_FORMAT_XRGB8888
+DEBUG from aquamarine ]: drm: Modesetting DP-4 with 3440x1440@59.97Hz
+DEBUG ]: Monitor DP-4 data dump: res 3440x1440@59.97Hz, scale 1.00, transform 0, pos 0x0, 10b 0
+DEBUG ]: [CXDGOutputProtocol] updating all xdg_output heads
+WARN ]: FIXME: color management protocol is enabled and outputs changed, check preferred image description changes
+DEBUG ]: [CXDGOutputProtocol] updating all xdg_output heads
+WARN ]: No rule found for DP-4, trying to use the first.
+DEBUG ]: [CXDGOutputProtocol] updating all xdg_output heads
+DEBUG ]: arrangeMonitors: 1 to arrange
+DEBUG ]: arrangeMonitors: DP-4 auto [0, 0]
+DEBUG ]: arrangeMonitors: DP-4 xwayland [0, 0]
+DEBUG ]: [CXDGOutputProtocol] updating all xdg_output heads
+DEBUG ]: [CXDGOutputProtocol] updating all xdg_output heads
+DEBUG from aquamarine ]: drm: Cursor buffer imported into KMS with id 170
+ERR ]: CConfigWatcher: got an event for wd 1 which we don't have?!
+DEBUG ]: Hyprctl: new connection from pid 2089
+DEBUG ]: Hyprctl: new connection from pid 1894
+DEBUG ]: Hyprctl: new connection from pid 2089
+DEBUG ]: Hyprctl: new connection from pid 2089
+DEBUG ]: Hyprctl: new connection from pid 2089
+DEBUG ]: Hyprctl: new connection from pid 2089
+DEBUG ]: Hyprctl: new connection from pid 2089
+DEBUG ]: Hyprctl: new connection from pid 2089
+DEBUG ]: Hyprctl: new connection from pid 2089
+DEBUG ]: Hyprctl: new connection from pid 2089
+DEBUG ]: Hyprctl: new connection from pid 2089
+DEBUG ]: Hyprctl: new connection from pid 2089
+DEBUG ]: Hyprctl: new connection from pid 2089
+DEBUG ]: Hyprctl: new connection from pid 2089
+DEBUG ]: [CGammaControl] setGamma for DP-4
+DEBUG ]: [CGammaControl] setting to monitor DP-4
+DEBUG ]: Hyprctl: new connection from pid 6946
+DEBUG ]: Hyprctl: new connection from pid 6948
+DEBUG ]: Hyprctl: new connection from pid 6951
+DEBUG ]: Hyprctl: new connection from pid 6959
+DEBUG ]: Hyprctl: new connection from pid 6961
+DEBUG ]: Hyprctl: new connection from pid 6964
+DEBUG ]: Hyprctl: new connection from pid 6978
+DEBUG ]: Hyprctl: new connection from pid 6980
+DEBUG ]: Hyprctl: new connection from pid 6983
+DEBUG ]: Hyprctl: new connection from pid 7006
+DEBUG ]: Hyprctl: new connection from pid 7008
+DEBUG ]: Hyprctl: new connection from pid 7011
+DEBUG ]: Hyprctl: new connection from pid 7016
+DEBUG ]: Hyprctl: new connection from pid 7018
+DEBUG ]: Hyprctl: new connection from pid 7021
+DEBUG ]: [CGammaControl] setGamma for DP-4
+DEBUG ]: [CGammaControl] setting to monitor DP-4
+DEBUG ]: Hyprctl: new connection from pid 7033
+DEBUG ]: Hyprctl: new connection from pid 7035
+DEBUG ]: Hyprctl: new connection from pid 7038
+DEBUG ]: Keybind triggered, calling dispatcher (64, , 108, exec)
+DEBUG ]: Executing layout-resize grow
+DEBUG ]: Process Created with pid 7052
+DEBUG ]: Keybind triggered, calling dispatcher (64, , 108, exec)
+DEBUG ]: Executing hyprlock
+DEBUG ]: Process Created with pid 7053
+DEBUG ]: Hyprctl: new connection from pid 7055
+DEBUG ]: Hyprctl: new connection from pid 7057 \ No newline at end of file
diff --git a/working/hyprland-layoutmsg-crash/crash-report-2026-07-20-pid249443.txt b/working/hyprland-layoutmsg-crash/crash-report-2026-07-20-pid249443.txt
new file mode 100644
index 0000000..86b8cb0
--- /dev/null
+++ b/working/hyprland-layoutmsg-crash/crash-report-2026-07-20-pid249443.txt
@@ -0,0 +1,166 @@
+--------------------------------------------
+ Hyprland Crash Report
+--------------------------------------------
+Vaxry is going to be upset.
+
+Hyprland received signal 11(SEGV)
+Version: a0136d8c04687bb36eb8a28eb9d1ff92aea99704
+Tag: v0.55.4
+Date: Thu Jun 11 17:10:04 2026
+Flags:
+
+System info:
+ System name: Linux
+ Node name: ratio
+ Release: 6.18.25-1-lts-strix
+ Version: #1 SMP PREEMPT_DYNAMIC Thu, 30 Apr 2026 05:02:04 +0000
+
+GPU:
+ c3:00.0 Display controller [0380]: Advanced Micro Devices, Inc. [AMD/ATI] Strix Halo [Radeon Graphics / Radeon 8050S Graphics / Radeon 8060S Graphics] [1002:1586] (rev c1)
+
+
+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
+
+Libraries:
+Hyprgraphics: built against 0.5.1, system has 0.5.1
+Hyprutils: built against 0.13.1, system has 0.13.1
+Hyprcursor: built against 0.1.13, system has 0.1.13
+Hyprlang: built against 0.6.8, system has 0.6.8
+Aquamarine: built against 0.12.0, system has 0.12.1
+
+Backtrace:
+ # | Hyprland(_Z12getBacktracev+0x73) [0x555c822eb7f3]
+ getBacktrace()
+ ??:?
+ #1 | Hyprland(_ZN13CrashReporter18createAndSaveCrashEi+0xc8c) [0x555c822328dc]
+ CrashReporter::createAndSaveCrash(int)
+ ??:?
+ #2 | Hyprland(+0x3bfade) [0x555c820f3ade]
+ void std::println<>(_IO_FILE*, std::basic_format_string<char>)
+ ??:?
+ #3 | /usr/lib/libc.so.6(+0x3e270) [0x7f58a9c3e270]
+ ??
+ ??:0
+ #4 | Hyprland(+0x1ce31e) [0x555c81f0231e]
+ std::__throw_bad_variant_access(unsigned int)
+ ??:?
+ #5 | Hyprland(_ZN6Layout10CAlgorithm9layoutMsgERKSt17basic_string_viewIcSt11char_traitsIcEE+0x85) [0x555c823859e5]
+ Layout::CAlgorithm::layoutMsg(std::basic_string_view<char, std::char_traits<char> > const&)
+ ??:?
+ #6 | Hyprland(_ZN6Layout6CSpace9layoutMsgERKSt17basic_string_viewIcSt11char_traitsIcEE+0x37) [0x555c823bf5c7]
+ Layout::CSpace::layoutMsg(std::basic_string_view<char, std::char_traits<char> > const&)
+ ??:?
+ #7 | Hyprland(_ZN6Layout14CLayoutManager9layoutMsgERKSt17basic_string_viewIcSt11char_traitsIcEE+0xcc) [0x555c8238193c]
+ Layout::CLayoutManager::layoutMsg(std::basic_string_view<char, std::char_traits<char> > const&)
+ ??:?
+ #8 | Hyprland(_ZN6Config7Actions13layoutMessageERKNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEE+0x6c) [0x555c8285cd5c]
+ Config::Actions::layoutMessage(std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> > const&)
+ ??:?
+ #9 | Hyprland(+0xad8837) [0x555c8280c837]
+ Config::Legacy::CDispatcherTranslator::run(std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> > const&, std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> > const&)
+ ??:?
+ #1 | Hyprland(_ZNSt17_Function_handlerIF15SDispatchResultRKNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEEEPS9_E9_M_invokeERKSt9_Any_dataS8_+0x25) [0x555c82819fb5]
+ std::_Function_handler<SDispatchResult (std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> > const&), SDispatchResult (*)(std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> > const&)>::_M_invoke(std::_Any_data const&, std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> > const&)
+ ??:?
+ #11 | Hyprland(_ZN6Config6Legacy21CDispatcherTranslator3runERKNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEES9_+0x256) [0x555c8280bc06]
+ Config::Legacy::CDispatcherTranslator::run(std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> > const&, std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> > const&)
+ ??:?
+ #12 | Hyprland(+0x6b8419) [0x555c823ec419]
+ void Log::CLogger::log<int>(Hyprutils::CLI::eLogLevel, std::basic_format_string<char, std::type_identity<int>::type>, int&&)
+ ??:?
+ #13 | Hyprland(+0x4d67e0) [0x555c8220a7e0]
+ CHyprCtl::CHyprCtl()
+ ??:?
+ #14 | Hyprland(_ZNSt17_Function_handlerIFNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEE20eHyprCtlOutputFormatS5_EPS7_E9_M_invokeERKSt9_Any_dataOS6_OS5_+0x75) [0x555c82226d95]
+ std::_Function_handler<std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> > (eHyprCtlOutputFormat, std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> >), std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> > (*)(eHyprCtlOutputFormat, std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> >)>::_M_invoke(std::_Any_data const&, eHyprCtlOutputFormat&&, std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> >&&)
+ ??:?
+ #15 | Hyprland(_ZN8CHyprCtl8getReplyENSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEE+0x3d6) [0x555c821ff826]
+ CHyprCtl::getReply(std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> >)
+ ??:?
+ #16 | Hyprland(+0x4d7415) [0x555c8220b415]
+ CHyprCtl::CHyprCtl()
+ ??:?
+ #17 | /usr/lib/libwayland-server.so.0(wl_event_loop_dispatch+0x1d2) [0x7f58ab7a33d2]
+ ??
+ ??:0
+ #18 | /usr/lib/libwayland-server.so.0(wl_display_run+0x37) [0x7f58ab7a5567]
+ ??
+ ??:0
+ #19 | Hyprland(_ZN17CEventLoopManager9enterLoopEv+0x2c0) [0x555c82460620]
+ CEventLoopManager::enterLoop()
+ ??:?
+ #2 | Hyprland(main+0x1815) [0x555c81fac6d5]
+ main
+ ??:?
+ #21 | /usr/lib/libc.so.6(+0x27741) [0x7f58a9c27741]
+ ??
+ ??:0
+ #22 | /usr/lib/libc.so.6(__libc_start_main+0x89) [0x7f58a9c27879]
+ ??
+ ??:0
+ #23 | Hyprland(_start+0x25) [0x555c820dda75]
+ _start
+ ??:?
+
+
+Log tail:
+DEBUG ]: [CXDGSurfaceResource] xdg_surface 555c95b15a20 requests geometry 0x0 1564x1254
+DEBUG ]: [CXDGSurfaceResource] xdg_surface 555c95dd70c0 requests geometry 0x0 1131x1257
+DEBUG ]: [CXDGSurfaceResource] xdg_surface 555c95b15a20 requests geometry 0x0 1564x1254
+DEBUG ]: [CXDGSurfaceResource] xdg_surface 555c95b15a20 requests geometry 0x0 1564x1254
+DEBUG ]: [CXDGSurfaceResource] xdg_surface 555c95dd70c0 requests geometry 0x0 1131x1257
+DEBUG ]: [CXDGSurfaceResource] xdg_surface 555c95dd70c0 requests geometry 0x0 1131x1257
+DEBUG ]: [CXDGSurfaceResource] xdg_surface 555c95b15a20 requests geometry 0x0 1564x1254
+DEBUG ]: [CXDGSurfaceResource] xdg_surface 555c95dd70c0 requests geometry 0x0 1131x1257
+DEBUG ]: [CXDGSurfaceResource] xdg_surface 555c95b15a20 requests geometry 0x0 1564x1254
+DEBUG ]: [CXDGSurfaceResource] xdg_surface 555c95b15a20 requests geometry 0x0 1564x1254
+DEBUG ]: [CXDGSurfaceResource] xdg_surface 555c95dd70c0 requests geometry 0x0 1131x1257
+DEBUG ]: [CXDGSurfaceResource] xdg_surface 555c95b15a20 requests geometry 0x0 1564x1254
+DEBUG ]: [CXDGSurfaceResource] xdg_surface 555c95dd70c0 requests geometry 0x0 1131x1257
+DEBUG ]: [CXDGSurfaceResource] xdg_surface 555c95dd70c0 requests geometry 0x0 1131x1257
+DEBUG ]: [CXDGSurfaceResource] xdg_surface 555c95b15a20 requests geometry 0x0 1564x1254
+DEBUG ]: [CXDGSurfaceResource] xdg_surface 555c95dd70c0 requests geometry 0x0 1131x1257
+DEBUG ]: [CXDGSurfaceResource] xdg_surface 555c95b15a20 requests geometry 0x0 1564x1254
+DEBUG ]: [CXDGSurfaceResource] xdg_surface 555c95dd70c0 requests geometry 0x0 1131x1257
+DEBUG ]: [CXDGSurfaceResource] xdg_surface 555c95b15a20 requests geometry 0x0 1564x1254
+DEBUG ]: [CXDGSurfaceResource] xdg_surface 555c95dd70c0 requests geometry 0x0 1131x1257
+DEBUG ]: [CXDGSurfaceResource] xdg_surface 555c95b15a20 requests geometry 0x0 1564x1254
+DEBUG ]: [CXDGSurfaceResource] xdg_surface 555c95dd70c0 requests geometry 0x0 1131x1257
+DEBUG ]: [CXDGSurfaceResource] xdg_surface 555c95b15a20 requests geometry 0x0 1564x1254
+DEBUG ]: [CXDGSurfaceResource] xdg_surface 555c95b15a20 requests geometry 0x0 1564x1254
+DEBUG ]: [CXDGSurfaceResource] xdg_surface 555c95dd70c0 requests geometry 0x0 1131x1257
+DEBUG ]: [CXDGSurfaceResource] xdg_surface 555c95b15a20 requests geometry 0x0 1564x1254
+DEBUG ]: [CXDGSurfaceResource] xdg_surface 555c95dd70c0 requests geometry 0x0 1131x1257
+DEBUG ]: [CXDGSurfaceResource] xdg_surface 555c95dd70c0 requests geometry 0x0 1131x1257
+DEBUG ]: [CXDGSurfaceResource] xdg_surface 555c95b15a20 requests geometry 0x0 1564x1254
+DEBUG ]: Hyprctl: new connection from pid 1591853
+DEBUG ]: Hyprctl: new connection from pid 1591855
+DEBUG ]: Hyprctl: new connection from pid 1591858
+DEBUG ]: [CXDGSurfaceResource] xdg_surface 555c95dd70c0 requests geometry 0x0 1131x1257
+DEBUG ]: [CXDGSurfaceResource] xdg_surface 555c95b15a20 requests geometry 0x0 1564x1254
+DEBUG ]: [CXDGSurfaceResource] xdg_surface 555c95b15a20 requests geometry 0x0 1564x1254
+DEBUG ]: [CXDGSurfaceResource] xdg_surface 555c95dd70c0 requests geometry 0x0 1131x1257
+DEBUG ]: [CXDGSurfaceResource] xdg_surface 555c95b15a20 requests geometry 0x0 1564x1254
+DEBUG ]: [CXDGSurfaceResource] xdg_surface 555c95dd70c0 requests geometry 0x0 1131x1257
+DEBUG ]: [CXDGSurfaceResource] xdg_surface 555c95dd70c0 requests geometry 0x0 1131x1257
+DEBUG ]: [CXDGSurfaceResource] xdg_surface 555c95b15a20 requests geometry 0x0 1564x1254
+DEBUG ]: [CXDGSurfaceResource] xdg_surface 555c95dd70c0 requests geometry 0x0 1131x1257
+DEBUG ]: [CXDGSurfaceResource] xdg_surface 555c95b15a20 requests geometry 0x0 1564x1254
+DEBUG ]: [CXDGSurfaceResource] xdg_surface 555c95dd70c0 requests geometry 0x0 1131x1257
+DEBUG ]: [CXDGSurfaceResource] xdg_surface 555c95b15a20 requests geometry 0x0 1564x1254
+DEBUG ]: Keybind triggered, calling dispatcher (64, , 104, exec)
+DEBUG ]: [executor] Executing layout-resize shrink
+DEBUG ]: [executor] Process created with pid 1591862
+DEBUG ]: Hyprctl: new connection from pid 1591864
+DEBUG ]: Hyprctl: new connection from pid 1591866 \ No newline at end of file
diff --git a/working/hyprland-layoutmsg-crash/issue-draft.md b/working/hyprland-layoutmsg-crash/issue-draft.md
new file mode 100644
index 0000000..57e7462
--- /dev/null
+++ b/working/hyprland-layoutmsg-crash/issue-draft.md
@@ -0,0 +1,43 @@
+crash: uncaught std::bad_variant_access in Layout::CAlgorithm::layoutMsg on `layoutmsg mfact` (v0.55.4, also v0.54.1)
+
+### Hyprland Version
+
+v0.55.4, commit a0136d8c04687bb36eb8a28eb9d1ff92aea99704 (Arch package 0.55.4-1). The same crash hit v0.54.1 (commit 4b07770b) on 2026-03-07. Both crash reports are attached.
+
+### Bug or Regression?
+
+It's a bug: the same backtrace appears on v0.54.1 and v0.55.4.
+
+### Description
+
+Hyprland segfaults when a `hyprctl dispatch layoutmsg mfact -0.05` arrives. The backtrace shows an uncaught `std::bad_variant_access` in the layout message path:
+
+```
+std::__throw_bad_variant_access(unsigned int)
+Layout::CAlgorithm::layoutMsg(std::basic_string_view<...> const&)
+Layout::CSpace::layoutMsg(...)
+Layout::CLayoutManager::layoutMsg(...)
+Config::Actions::layoutMessage(...)
+```
+
+The active layout was master, and the identical mfact dispatch had worked seconds earlier in the same session. Related edge cases reply gracefully instead of crashing, so it looks like one mfact path is missing a variant guard:
+
+- `layoutmsg mfact` with no focused window replies "mfact -> no window"
+- master-only messages sent while in monocle reply "Unknown monocle layoutmsg: swapwithmaster"
+
+### How to reproduce
+
+I don't have a deterministic reproducer. Both crashes came from a resize keybind that dispatches `layoutmsg mfact -0.05` (or `0.05`). What the session log shows in the minutes before today's crash:
+
+1. `general:layout` toggled between master and monocle several times during the session (long-lived session, 9 days).
+2. Two windows closed shortly before the crash. The log shows "On closed window, new focused candidate is [Window nullptr]".
+3. `togglefloating` dispatched twice.
+4. The mfact keybind fired and Hyprland segfaulted.
+
+My guess from the outside: per-workspace layout state (CSpace) ends up holding a different variant alternative than the one the active layout name implies. The mfact handler then does an unchecked `std::get`.
+
+### Crash reports
+
+Attached: today's report (v0.55.4) and the 2026-03-07 report (v0.54.1) with the identical backtrace through `Layout::CAlgorithm::layoutMsg`.
+
+System: Arch Linux, kernel 6.18.25-lts. GPU: AMD Strix Halo (Radeon 8060S). No plugins loaded.
diff --git a/working/hyprland-layoutmsg-crash/log-excerpts-2026-07-20-session.txt b/working/hyprland-layoutmsg-crash/log-excerpts-2026-07-20-session.txt
new file mode 100644
index 0000000..af2aad6
--- /dev/null
+++ b/working/hyprland-layoutmsg-crash/log-excerpts-2026-07-20-session.txt
@@ -0,0 +1,63 @@
+Log excerpts from the crashed Hyprland session (instance _1783789239_, ran 2026-07-11 12:00 -> 2026-07-20 16:26:52 CDT).
+Source: /run/user/1000/hypr/.../hyprland.log (tmpfs; extracted before reboot). Line numbers from the original 11,868,557-line file.
+
+== environment ==
+hyprland 0.55.4-1
+
+== proof monocle is a registered layout (graceful unknown-msg handling) ==
+198330:DEBUG ]: Hyprctl: dispatcher layoutmsg : mfact -0.05 -> Unknown monocle layoutmsg: mfact
+254456:DEBUG ]: Hyprctl: dispatcher layoutmsg : swapwithmaster -> Unknown monocle layoutmsg: swapwithmaster
+254458:DEBUG ]: Hyprctl: dispatcher layoutmsg : focusmaster master -> Unknown monocle layoutmsg: focusmaster
+254976:DEBUG ]: Hyprctl: dispatcher layoutmsg : swapwithmaster -> Unknown monocle layoutmsg: swapwithmaster
+254978:DEBUG ]: Hyprctl: dispatcher layoutmsg : focusmaster master -> Unknown monocle layoutmsg: focusmaster
+
+== guarded no-window mfact earlier in the session (line 10988160) ==
+DEBUG ]: Hyprctl: new connection from pid 3038571
+DEBUG ]: Hyprctl: new connection from pid 3038573
+DEBUG ]: Hyprctl: dispatcher layoutmsg : mfact 0.05 -> no window
+DEBUG ]: Hyprctl: new connection from pid 3038612
+DEBUG ]: Hyprctl: new connection from pid 3038614
+
+== last monocle->master toggling (lines ~11599073, 11753369) ==
+9964283:DEBUG ]: Hyprctl: keyword general:layout : monocle
+9968343:DEBUG ]: Hyprctl: keyword general:layout : master
+11599073:DEBUG ]: Hyprctl: keyword general:layout : monocle
+11753369:DEBUG ]: Hyprctl: keyword general:layout : master
+
+== last layout switch + immediately-working mfacts (lines 11753360-11753520) ==
+DEBUG ]: Keybind triggered, calling dispatcher (65, , 116, exec)
+DEBUG ]: [executor] Executing hyprctl keyword general:layout master && hyprctl keyword master:orientation left
+DEBUG ]: [executor] Process created with pid 1359114
+DEBUG ]: Hyprctl: keyword general:layout : master
+DEBUG ]: Hyprctl: keyword master:orientation : left
+DEBUG ]: [CWLCompositorResource] New wl_region with id 76 at 555c95821500
+DEBUG ]: [CWLCompositorResource] New wl_region with id 85 at 555c95c25820
+DEBUG ]: [executor] Executing layout-resize grow
+DEBUG ]: Hyprctl: dispatcher layoutmsg : mfact 0.05
+DEBUG ]: [executor] Executing layout-resize grow
+DEBUG ]: Hyprctl: dispatcher layoutmsg : mfact 0.05
+DEBUG ]: [executor] Executing layout-resize grow
+DEBUG ]: Hyprctl: dispatcher layoutmsg : mfact 0.05
+
+== pre-crash sequence: window closes, focus -> nullptr, togglefloating (lines ~11754750-11755050) ==
+DEBUG ]: [CGammaControl] setGamma for DP-4
+DEBUG ]: [CGammaControl] setting to monitor DP-4
+DEBUG ]: [CGammaControl] setGamma for DP-4
+DEBUG ]: [CGammaControl] setting to monitor DP-4
+
+== final 15 lines on disk (ring-buffer tail with the fatal keybind is in the crash report) ==
+DEBUG ]: [CXDGSurfaceResource] xdg_surface 555c95dd70c0 requests geometry 0x0 1131x1257
+DEBUG ]: [CXDGSurfaceResource] xdg_surface 555c95b15a20 requests geometry 0x0 1564x1254
+DEBUG ]: [CXDGSurfaceResource] xdg_surface 555c95dd70c0 requests geometry 0x0 1131x1257
+DEBUG ]: [CXDGSurfaceResource] xdg_surface 555c95b15a20 requests geometry 0x0 1564x1254
+DEBUG ]: [CXDGSurfaceResource] xdg_surface 555c95b15a20 requests geometry 0x0 1564x1254
+DEBUG ]: [CXDGSurfaceResource] xdg_surface 555c95dd70c0 requests geometry 0x0 1131x1257
+DEBUG ]: [CXDGSurfaceResource] xdg_surface 555c95b15a20 requests geometry 0x0 1564x1254
+DEBUG ]: [CXDGSurfaceResource] xdg_surface 555c95dd70c0 requests geometry 0x0 1131x1257
+DEBUG ]: [CXDGSurfaceResource] xdg_surface 555c95dd70c0 requests geometry 0x0 1131x1257
+DEBUG ]: [CXDGSurfaceResource] xdg_surface 555c95b15a20 requests geometry 0x0 1564x1254
+DEBUG ]: [CXDGSurfaceResource] xdg_surface 555c95dd70c0 requests geometry 0x0 1131x1257
+DEBUG ]: [CXDGSurfaceResource] xdg_surface 555c95b15a20 requests geometry 0x0 1564x1254
+DEBUG ]: [CXDGSurfaceResource] xdg_surface 555c95dd70c0 requests geometry 0x0 1131x1257
+DEBUG ]: [CXDGSurfaceResource] xdg_surface 555c95b15a20 requests geometry 0x0 1564x1254
+DEBUG ]: [CXDGSurfaceResource] xdg_surface 555c95dd70c0 requests geometry 0x0 1131x1257 \ No newline at end of file