aboutsummaryrefslogtreecommitdiff
path: root/docs
diff options
context:
space:
mode:
Diffstat (limited to 'docs')
-rw-r--r--docs/design/2026-06-10-screenshot-launch-crash-analysis.org5
1 files changed, 5 insertions, 0 deletions
diff --git a/docs/design/2026-06-10-screenshot-launch-crash-analysis.org b/docs/design/2026-06-10-screenshot-launch-crash-analysis.org
new file mode 100644
index 0000000..dfad9f4
--- /dev/null
+++ b/docs/design/2026-06-10-screenshot-launch-crash-analysis.org
@@ -0,0 +1,5 @@
+#+TITLE: screenshot.py --launch crash on ratio 2026-06-10 15:15 — roo
+#+SOURCE: from archsetup
+#+DATE: 2026-06-11 00:45:45 -0500
+
+screenshot.py --launch crash on ratio 2026-06-10 15:15 — root cause found, harness fix is yours. Coredump stack (Hyprland 0.55.2, SIGABRT): CWindow::onX11ConfigureRequest -> CCompositor::changeWindowZOrder -> IHyprRenderer::damageMonitor -> CMonitor::isMirror. The launched app (emacs -Q, no pgtk env vars) mapped via XWayland; its configure request raced the headless-output teardown and the damage path dereferenced the removed monitor. Two fix directions for --launch: (1) wait for the client to map and close it before destroying the headless output, (2) force the Wayland backend for launched apps (e.g. GDK_BACKEND=wayland, WAYLAND_DISPLAY set, DISPLAY unset) so no XWayland surface exists to race. The other capture modes don't touch outputs and are fine. Until the fix lands, archsetup treats --launch as unsafe on live sessions (memory entry filed). Full coredump retrievable on ratio: coredumpctl info 1833 --since '2026-06-10 15:10'.