Ошибка SBCL с cl-smtp

Это недавняя ошибка, для которой я не могу найти никакой документации. Это может быть не cl-smtp специфично, но это происходит каждый раз, когда я пытаюсь оценить

 (cl-smtp:send-email "localhost" "[email protected]" "[email protected]" "TEST" "Testing email from Common Lisp")

из РЕПЛ. Вывод ошибки

debugger invoked on a SB-INT:SIMPLE-PROGRAM-ERROR in thread #<THREAD
                                                              "initial thread" RUNNING
                                                              {AAE38D1}>:
  invalid keyword argument: :SERVE-EVENTS (valid keys are :AUTO-CLOSE, :INPUT,
  :OUTPUT, :ELEMENT-TYPE, :EXTERNAL-FORMAT, :BUFFERING, :TIMEOUT).

Type HELP for debugger help, or (SB-EXT:QUIT) to exit from SBCL.

restarts (invokable by number or by possibly-abbreviated name):
  0: [ABORT] Exit debugger, returning to top level.

(SB-PCL::CHECK-APPLICABLE-KEYWORDS
 0
 (:AUTO-CLOSE :INPUT :OUTPUT :ELEMENT-TYPE :EXTERNAL-FORMAT :BUFFERING
  :TIMEOUT)
 -303677905
 10)
0] 0

Я использую Debian 6 с постфиксом и SBCL 1.0.40, и cl-smtp установлен через quicklisp. Отправка электронной почты через интерфейс telnet с тем же источником, сервером, целью, темой и телом (будь то от того же пользователя unix или с правами root) работает нормально. Эта настройка также отлично работает (даже из REPL) на других машинах, на которых работает тот же программный стек.

Может ли кто-нибудь увидеть, что я делаю неправильно?


person Inaimathi    schedule 30.08.2011    source источник
comment
Ну, этого флага нет в cl-smtp. Я подозреваю, что это ошибка в потоковой библиотеке, которую использует cl-smtp. Вы пробовали обновиться до SBCL 51?   -  person Paul Nathan    schedule 31.08.2011
comment
@Paul Nathan - переключение на 51 и переустановка соответствующих библиотек, похоже, сработало (хотя в чем была ошибка, до сих пор остается загадкой). Хочешь подбросить это как ответ?   -  person Inaimathi    schedule 01.09.2011


Ответы (1)


Эта конкретная ошибка не исходит от cl-smtp. Различные поиски в Google предполагают, что это внутреннее несоответствие API. Глядя на доступные флаги, кажется, что это ошибка сокета (ввод, вывод, буферизация, тайм-аут).

SBCL 40 почти год, SBCL 51 только что вышел из печати... Предлагаю обновиться!

person Paul Nathan    schedule 01.09.2011