2011-08-30 22 views
2

這是一個最近的錯誤,我找不到任何文檔。它可能不是具體cl-smtp,但每次我試圖從REPL評估與cl-smtp SBCL錯誤

(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,並通過quicklisp安裝cl-smtp。通過telnet接口發送電子郵件與相同的源,服務器,目標,主題和正文(無論是來自同一個Unix用戶還是使用root)都可以正常工作。這種設置也可以在運行相同軟件堆棧的其他機器上正常工作(即使是來自REPL)。

任何人都可以看到我在做什麼錯?

+1

那麼,那個標誌不在cl-smtp中。我懷疑這是cl-smtp正在使用的線程庫中的一個錯誤。你有沒有嘗試更新到SBCL 51? –

+0

@Paul Nathan - 切換到51並重新安裝相應的庫文件似乎可行(儘管錯誤仍然是個謎)。想把它作爲答案來折騰嗎? – Inaimathi

回答

2

該特定錯誤不是來自cl-smtp。雜誌用Google搜索暗示它是一個內部API mimatch。看看可用的標誌,看起來好像它是一個套接字錯誤(輸入,輸出,緩衝,超時)。

SBCL 40差不多一歲了,SBCL 51新鮮出爐......我建議升級!