aboutsummaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorCraig Jennings <c@cjennings.net>2026-06-18 16:51:56 -0500
committerCraig Jennings <c@cjennings.net>2026-06-18 16:51:56 -0500
commit1d531f6ee64003800bdc0a99e801a13c63b14064 (patch)
tree32d04673c43d798ccbfafe00ace01dd15ba776ee
parent4d354136bf16f9a1d783e0a31785a85eb4bc671d (diff)
downloaddotemacs-1d531f6ee64003800bdc0a99e801a13c63b14064.tar.gz
dotemacs-1d531f6ee64003800bdc0a99e801a13c63b14064.zip
chore(todo): close ai-term crash task, file ghostel un-pin follow-up
-rw-r--r--todo.org14
1 files changed, 14 insertions, 0 deletions
diff --git a/todo.org b/todo.org
index 06be22de3..a3859e8f8 100644
--- a/todo.org
+++ b/todo.org
@@ -60,6 +60,20 @@ From the 2026-06-15 lint-org sweep. Each needs a human read — these are judgme
- obsolete-properties-drawer — incorrect PROPERTIES drawer contents (lines 8392, 4201, 4023, 65, 55).
- misplaced-heading — possibly misplaced heading (line 8116).
+** DONE [#A] ai-term: selecting an agent kills the whole Emacs process :bug:
+CLOSED: [2026-06-18 Thu]
+Root cause: a ghostel native-module regression in 0.35.0-0.35.2 (all shipped 2026-06-16..18), not anything in this config and not display-backend related. Reproduced down to a plain =M-x ghostel= in a GUI frame (not ai-term-specific); under gdb it is a clean =exit()= from the PGTK main loop (not a SIGSEGV — hence no core ever produced). Upstream filed it the same day: dakra/ghostel #422 (Linux/glibc — the native PTY path now spawns worker threads, and a SIGSETXID handler calls malloc while the main thread holds the glibc arena lock → crash/hang on =M-x ghostel= in a GUI daemon, exactly our case) and #423 (macOS — recursive os_unfair_lock via =run_window_change_functions=). =ghostel-comint= is not a usable workaround (no cursor positioning, can't run the Claude TUI).
+
+Fix: pinned ghostel to the last pre-rework build — =ghostel-20260604.2049=, commit 5779a2adceb2, native module 0.33.0 — installed directly into =elpa/= and held there by =:ensure= (won't auto-upgrade). See =modules/term-config.el=. Verified: the exact crash scenario (open a ghostel buffer in a PGTK GUI frame) now survives; ghostel buffer healthy; terminal test suites green.
+
+Also done this session: =ghostel-module-auto-install= set to =download= (the original "doesn't install" fix); zig 0.15.2 pinned at =/usr/local/bin/zig= as the compile fallback (Arch ships 0.16 which can't build ghostel); archsetup notified of the zig pin.
+
+*** 2026-06-18 Thu @ 16:33:56 -0500 ai-term confirmed working after the 0.33.0 pin
+Craig confirmed in normal use — opening/selecting ai-terms works with no whole-process crash ("everything seems to be working as normal now"). Headless reproduction (open a ghostel buffer in a PGTK GUI frame) had already survived; this is the live-hands confirmation.
+
+** TODO [#B] Un-pin ghostel from 0.33.0 once upstream fixes #422/#423 :bug:
+ghostel is held at 0.33.0 (=ghostel-20260604.2049=, commit 5779a2adceb2) in =modules/term-config.el= to dodge the 0.35.x native-PTY crash. When dakra/ghostel ships a fix for #422 (Linux malloc/signal reentrancy) and #423 (macOS recursive lock), restore =:ensure t= (drop the pin comment) and =package-upgrade ghostel=, then re-run the open-ghostel-in-a-GUI-frame survival check. Watch the two issues for the fixing commit.
+
** VERIFY [#A] calendar-sync drops final occurrences, resurrects cancelled meetings :bug:solo:next:
:PROPERTIES:
:LAST_REVIEWED: 2026-06-13