2011-08-30 90 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新鲜出炉......我建议升级!