[tbnl-devel] tbnl, sbcl and binary uploads: still a problem?

Graham Fawcett graham.fawcett at gmail.com
Wed Oct 4 14:40:31 UTC 2006


Hi folks,

Is anyone still encountering problems with binary uploads using TBNL
with SBCL and the mod_lisp front-end? I've applied Travis Cross'
patches to KMRCL and RFC2388. But in spite of the patches, I'm seeing
errors when trying to upload a binary file to the tbnl-test demo
application. For example:

#<SB-SYS:FD-STREAM for "a constant string" {B7C2F69}>
(:EXTERNAL-FORMAT :UTF-8):
  the octet sequence
  (226 227 207) cannot be decoded.

I'm using SBCL 0.9.15 on Linux 2.6; TBNL 0.11.3, KMRCL-1.89, and a
fresh RFC2388, with the Cross patches applied. *features* and SLIME
backtrace are below. I'm happy to do more testing/debugging, but
perhaps someone could help point me in the right direction.

Thanks,
Graham

*features*
(:CL-WHO :TBNL :TBNL-SBCL-DEBUG-PRINT-VARIABLE-ALIST :TBNL-BIVALENT-STREAMS
 :URL-REWRITE :KMR-NORMAL-DSDC :KMR-NORMAL-CESD :CL-PPCRE :KMR-MOP :ASDF
 :SB-THREAD :ANSI-CL :COMMON-LISP :SBCL :UNIX :SB-DOC :SB-TEST :SB-LDB
 :SB-PACKAGE-LOCKS :SB-UNICODE :SB-SOURCE-LOCATIONS :IEEE-FLOATING-POINT :X86
 :ELF :LINUX :GENCGC :STACK-GROWS-DOWNWARD-NOT-UPWARD :C-STACK-IS-CONTROL-STACK
 :STACK-ALLOCATABLE-CLOSURES :ALIEN-CALLBACKS :LINKAGE-TABLE
 :OS-PROVIDES-DLOPEN :OS-PROVIDES-DLADDR :OS-PROVIDES-PUTWC)

Snipped backtrace:
  7: (TBNL::MAYBE-INVOKE-DEBUGGER #<SB-INT:STREAM-DECODING-ERROR {CFC3BC1}>)
  8: (SIGNAL #<SB-INT:STREAM-DECODING-ERROR {CFC3BC1}>)
  9: (ERROR SB-INT:STREAM-DECODING-ERROR)
 10: (SB-INT:STREAM-DECODING-ERROR #<SB-SYS:FD-STREAM for "a constant
string" {C6F56C1}> (226 227 207))
 11: (SB-IMPL::STREAM-DECODING-ERROR-AND-HANDLE #<SB-SYS:FD-STREAM for
"a constant string" {C6F56C1}> 3)
 12: (SB-IMPL::INPUT-CHAR/UTF-8 #<SB-SYS:FD-STREAM for "a constant
string" {C6F56C1}> NIL NIL)
 13: (READ-CHAR #<SB-SYS:FD-STREAM for "a constant string" {C6F56C1}>
NIL NIL #<unused argument>)
 14: ((FLET RFC2388::RUN) #<SB-SYS:FD-STREAM for "file
/tmp/tbnl/tbnl-16" {CFC39B1}>)
 15: (RFC2388::READ-UNTIL-NEXT-BOUNDARY #<SB-SYS:FD-STREAM for "a
constant string" {C6F56C1}> "--------------------$
 16: ((SB-PCL::FAST-METHOD RFC2388:PARSE-MIME (STREAM T))
#<unavailable argument> #<unavailable argument> #<SB-SYS:$
 17: (TBNL::PARSE-RFC2388-FORM-DATA #<SB-SYS:FD-STREAM for "a constant
string" {C6F56C1}> "multipart/form-data; bou$
 18: ((SB-PCL::FAST-METHOD INITIALIZE-INSTANCE :AFTER (TBNL::REQUEST))
(#(NIL 1 2 0 3 5 8 4 6) . #()) #<unavailable$
 19: ((LAMBDA (SB-PCL::|.P0.|)) #<unavailable argument>)
 20: (TBNL::PROCESS-REQUEST (("content-stream" . #<SB-SYS:FD-STREAM
for "a constant string" {C6F56C1}>) ("server-pr$
 21: (TBNL::LISTEN-FOR-REQUEST #<SB-SYS:FD-STREAM for "a constant
string" {C6F56C1}> TBNL::PROCESS-REQUEST)
 22: ((LAMBDA NIL))



More information about the Tbnl-devel mailing list