On Mon, May 12, 2008 at 11:30 PM, Edi Weitz edi@agharta.de wrote:
On Mon, 12 May 2008 21:53:51 +0100, "Thibault Langlois" tl@di.fc.ul.pt wrote:
A function with declared result type NIL returned: MD5:UPDATE-MD5-BLOCK.
[...]
I am using huchentoot (0.15.6) chunga (0.3.0) cl-base64 (3.3.2) cl-fad (0.6.2) and flexi-streams (0.14.0) with sbcl 1.0.9.
As MD5 is mentioned in your error message, the version of the MD5 library you're using might also be of interest. And, as Cyrus already said, a backtrace would help.
This was an oportunity to use hunchentoot debugging features :-)
The error comes from a call to HUNCHENTOOT::MD5-HEX -> MD5:MD5SUM-SEQUENCE -> MD5:UPDATE-MD5-STATE . I am using this md5.lisp : http://www.pmsf.de/pub/download/MD5/md5.lisp I get the same error when calling (hunchentoot::md5-hex "foo")
I am using sbcl 1.0.9:
CL-USER> (lisp-implementation-version) "1.0.9" CL-USER> (let ((*print-length* nil)) (print *features*))
(:HUNCHENTOOT :HUNCHENTOOT-SBCL-DEBUG-PRINT-VARIABLE-ALIST :URL-REWRITE CFFI-FEATURES:X86 CFFI-FEATURES:UNIX :CFFI :CL-PPCRE :CL-FAD :FLEXI-STREAMS :SB-BSD-SOCKETS-ADDRINFO :ASDF :SB-THREAD :ANSI-CL :COMMON-LISP :SBCL :UNIX :SB-DOC :SB-TEST :SB-LDB :SB-PACKAGE-LOCKS :SB-UNICODE :SB-EVAL :SB-SOURCE-LOCATIONS :IEEE-FLOATING-POINT :X86 :ELF :LINUX :LARGEFILE :GENCGC :STACK-GROWS-DOWNWARD-NOT-UPWARD :C-STACK-IS-CONTROL-STACK :COMPARE-AND-SWAP-VOP :UNWIND-TO-FRAME-AND-CALL-VOP :STACK-ALLOCATABLE-CLOSURES :ALIEN-CALLBACKS :LINKAGE-TABLE :OS-PROVIDES-DLOPEN :OS-PROVIDES-DLADDR :OS-PROVIDES-PUTWC)
Googling I found someone that met a similar situation back in 2004 using sbcl 0.8.14 and tbnl :-/
Does anyone have a similar setup (versions of sbcl and hunchentoot) and get the same error [just do (hunchentoot::md5-hex "foo") for checking] ?
The problem may be caused by the fact that I am using sb-unicode as indicated in http://www.cliki.net/MD5.
The problem can be fixed using sb-md5 instead but I not sure it is the right thing to do.