[hunchentoot-devel] hunchentoot-1.2.2 throw a Recursive lock attempt error in sbcl 1.0.55

Hans Hübner hans.huebner at gmail.com
Sat Mar 3 13:34:13 UTC 2012


On Sat, Mar 3, 2012 at 8:16 AM, Jingtao Xu <jingtaozf at gmail.com> wrote:
> This is some output of my sbcl 1.0.55 on debian 6.0(i686):
> ===========================================
> error error in FORMAT: unknown format directive (character: Return)
>   This sequence can't be decoded ~
> using ~A as it is too short.  ~A octet~:P missing at then end.
>                                   ^
> while processing indirect format string:
>   [~A~@[ [~A]~]] ~?~%
>                   ^ while writing to error log, error not logged
> error error in FORMAT: unknown format directive (character: Return)

This seems to be a nasty one.  How did you get your copy of
flexi-streams?  It seems that it has been extracted with DOS line
endings, and SBCL does not support that.  While it will treat the
#\Return characters as white space in source code and skip it, it will
read it into string literals.  In this case, the #\Return ended up in
a format string in flexi-streams' length.lisp file and caused an
error, as ~#\Return is not a valid format control sequence.

One could debate whether SBCL is buggy here or not, but in any case,
you can solve the problem by making sure that your Lisp source files
have only Linefeeds as line endings under Linux.

Thank you for reporting the bug in Hunchentoot!  The fix will be part
of the next release.

-Hans




More information about the Tbnl-devel mailing list