Подключение к удаленному swank: невозможно найти модуль swank-io-package :: swank-trace-dialog - PullRequest
1 голос
/ 22 сентября 2019

Итак, я использую

sbcl --dynamic-space-size 1024 \
     --noinform \
     --load $HOME/quicklisp/setup.lisp \
     --eval '(ql:quickload :myapp)' \
     --eval "(sb-ext:save-lisp-and-die \"myapp\" :toplevel #'myapp::main :executable t :compression t)"

для локального генерирования myapp и загрузки полученного двоичного файла на сервер.

Функция myapp:main выполняет следующее (наряду снесколько других вещей инициализации для сервера) как указано здесь :

(bt:make-thread (lambda () (swank:create-server :port swank-port ; consider it to be 8080
                                                :dont-close t)))

Я также делаю переадресацию портов на моей локальной машине:

ssh -L8080:127.0.0.1:8080 user@remote

Я могу slime-connect к нему, когда myapp запущен на моей локальной машине, когда я подключаюсь к нему с той же машины.


Однако, когда я пытаюсь slime-connect на localhost, 8080 на моей локальной машине, с myapp на удаленном компьютере, я получаю ошибку как

Can't locate module: SWANK-IO-PACKAGE::SWANK-TRACE-DIALOG
   [Condition of type SIMPLE-ERROR]

Restarts:
 0: [*ABORT] Return to SLIME's top level.
 1: [ABORT] abort thread (#<THREAD "worker" RUNNING {1005B6EB73}>)
  1. Если я выберу [*ABORT], emacs выдаст мне error in process filter: No catch for tag: slime-result-2-212, (error "Synchronous Lisp Evaluation aborted") (вминибуфер), без SLIME REPL.

  2. Выбор [ABORT] также дает почти то же самое error in process filter: Synchronous Lisp Evaluation aborted.

Кроме того, если я пытаюсь что-то оценить в кадре, я получаю error in process filter: Invalid message protocol.

PS: я использую AWS, в случае подробностейо группах безопасности актуальны.

...