fix: TUI undefined-function T crash + add backtrace diagnostics
- Added (push PASSEPARTOUT_DATA_DIR asdf:*central-registry*) before quickload so TUI loads from deployed code, not stale Quicklisp cache - Added :force t to ql:quickload :passepartout/tui to ensure recompilation - Added handler-bind for undefined-function around tui-main call: prints function name + full backtrace, then exits cleanly - Added sb-debug:print-backtrace to *debugger-hook* for all unhandled errors - TUI now starts without crash in tmux with TERM=screen-256color
This commit is contained in:
@@ -24,9 +24,7 @@
|
||||
#:run-setup-wizard
|
||||
#:skill-gateway-register
|
||||
#:skill-gateway-link
|
||||
#:messaging-list-print
|
||||
#:messaging-link
|
||||
#:messaging-unlink
|
||||
#:gateway-manager-main
|
||||
#:ingest-ast
|
||||
#:memory-object-get
|
||||
#:list-objects-by-type
|
||||
@@ -245,5 +243,7 @@
|
||||
(format t "└─────────────────────────────────────────────┘~%")
|
||||
(format t "~%")
|
||||
(format t "Details: ~A~%" condition)
|
||||
(format t "Backtrace:~%")
|
||||
(sb-debug:print-backtrace :count 20 :stream *standard-output*)
|
||||
(finish-output)
|
||||
(uiop:quit 1)))
|
||||
|
||||
@@ -305,6 +305,8 @@ Friendly error handler that replaces the raw SBCL debugger with a diagnostic mes
|
||||
(format t "└─────────────────────────────────────────────┘~%")
|
||||
(format t "~%")
|
||||
(format t "Details: ~A~%" condition)
|
||||
(format t "Backtrace:~%")
|
||||
(sb-debug:print-backtrace :count 20 :stream *standard-output*)
|
||||
(finish-output)
|
||||
(uiop:quit 1)))
|
||||
#+end_src
|
||||
|
||||
@@ -372,11 +372,12 @@ case "$COMMAND" in
|
||||
fi
|
||||
exec sbcl \
|
||||
--eval '(load (merge-pathnames "quicklisp/setup.lisp" (user-homedir-pathname)))' \
|
||||
--eval '(ql:quickload :passepartout/tui)' \
|
||||
--eval "(push (truename \"$PASSEPARTOUT_DATA_DIR/\") asdf:*central-registry*)" \
|
||||
--eval '(ql:quickload :passepartout/tui :force t)' \
|
||||
--eval '(in-package :passepartout)' \
|
||||
--eval "(load (format nil \"~alisp/system-model-provider.lisp\" (truename \"$PASSEPARTOUT_DATA_DIR/\")))" \
|
||||
--eval "(load (format nil \"~alisp/system-model-explorer.lisp\" (truename \"$PASSEPARTOUT_DATA_DIR/\")))" \
|
||||
--eval '(passepartout.gateway-tui:tui-main)'
|
||||
--eval '(handler-bind ((undefined-function (lambda (c) (format t "~%Undefined function: ~a~%" (cell-error-name c)) (sb-debug:print-backtrace :count 20) (finish-output) (uiop:quit 1)))) (passepartout.gateway-tui:tui-main))'
|
||||
;;
|
||||
gateway)
|
||||
SUBCMD=$1; PLATFORM=$2; TOKEN=$3
|
||||
|
||||
Reference in New Issue
Block a user