hi, i get this error when i send a page that has a form on it that uses POST method, if i change the method to GET it works fine tho.
and the POST test on the hunchentoot's own test site gives me this too.
here is the stack trace:
#<SB-IMPL::STRING-INPUT-STREAM {F0BC191}> is not a binary input stream. [Condition of type SIMPLE-TYPE-ERROR]
Restarts: 0: [TERMINATE-THREAD] Terminate this thread (#<THREAD "hunchentoot-worker-3" RUNNING {ED3B5D1}>)
Backtrace: 0: ((FLET SWANK-BACKEND:CALL-WITH-DEBUGGING-ENVIRONMENT) #<FUNCTION (LAMBDA #) {B8F5345}>) 1: (SWANK::DEBUG-IN-EMACS #<SIMPLE-TYPE-ERROR expected-type: (SATISFIES INPUT-STREAM-P) datum: #<SB-IMPL::STRING-INPUT-STREAM {F0BC191}>>) Locals: SB-DEBUG::ARG-0 = #<SIMPLE-TYPE-ERROR expected-type: (SATISFIES INPUT-STREAM-P) ..> 2: (SWANK-BACKEND::CALL-WITH-BREAK-HOOK #<FUNCTION SWANK:SWANK-DEBUGGER-HOOK> #<CLOSURE (LAMBDA #) {F0BC495}>) 3: ((FLET SWANK-BACKEND:CALL-WITH-DEBUGGER-HOOK) #<FUNCTION SWANK:SWANK-DEBUGGER-HOOK> #<CLOSURE (LAMBDA #) {F0BC495}>) 4: (SWANK::CALL-WITH-BINDINGS ((*STANDARD-OUTPUT* . #) (*STANDARD-INPUT* . #) (*TRACE-OUTPUT* . #) (*ERROR-OUTPUT* . #) (*DEBUG-IO* . #) (*QUERY-IO* . #) ...) #<CLOSURE (LAMBDA #) {F0BC4A5}>) 5: (SWANK:INVOKE-SLIME-DEBUGGER #<SIMPLE-TYPE-ERROR expected-type: (SATISFIES INPUT-STREAM-P) datum: #SB-IMPL::STRING-INPUT-STREAM {F0BC191}>) 6: (SWANK-BACKEND::CALL-WITH-BREAK-HOOK #<FUNCTION SWANK:SWANK-DEBUGGER-HOOK> #<CLOSURE (LAMBDA #) {F0BC475}>) 7: ((FLET SWANK-BACKEND:CALL-WITH-DEBUGGER-HOOK) #<FUNCTION SWANK:SWANK-DEBUGGER-HOOK> #<CLOSURE (LAMBDA #) {F0BC475}>) 8: (SWANK:SWANK-DEBUGGER-HOOK #<SIMPLE-TYPE-ERROR expected-type: (SATISFIES INPUT-STREAM-P) datum: #<SB-IMPL::STRING-INPUT-STREAM {F0BC191}>> #<unavailable argument>) 9: (SB-DEBUG::RUN-HOOK *DEBUGGER-HOOK* #<SIMPLE-TYPE-ERROR expected-type: (SATISFIES INPUT-STREAM-P) datum: #SB-IMPL::STRING-INPUT-STREAM {F0BC191}>) 10: (INVOKE-DEBUGGER #<SIMPLE-TYPE-ERROR expected-type: (SATISFIES INPUT-STREAM-P) datum: #<SB-IMPL::STRING-INPUT-STREAM {F0BC191}>>) 11: ((SB-PCL::FAST-METHOD HUNCHENTOOT:MAYBE-INVOKE-DEBUGGER (T)) ..) 12: (SIGNAL #<SIMPLE-TYPE-ERROR expected-type: (SATISFIES INPUT-STREAM-P) datum: #<SB-IMPL::STRING-INPUT-STREAM {F0BC191}>>) 13: (ERROR ..) 14: (SB-KERNEL:ILL-BIN #<SB-IMPL::STRING-INPUT-STREAM {F0BC191}>) 15: (READ-BYTE #<SB-IMPL::STRING-INPUT-STREAM {F0BC191}> NIL NIL) 16: (CHUNGA:READ-CHAR* #<SB-IMPL::STRING-INPUT-STREAM {F0BC191}> NIL NIL) 17: (CHUNGA:PEEK-CHAR* #<SB-IMPL::STRING-INPUT-STREAM {F0BC191}> NIL NIL) 18: (CHUNGA:READ-TOKEN #<SB-IMPL::STRING-INPUT-STREAM {F0BC191}>) 19: (HUNCHENTOOT::PARSE-CONTENT-TYPE "application/x-www-form-urlencoded" T) 20: ((SB-PCL::FAST-METHOD INITIALIZE-INSTANCE :AFTER (HUNCHENTOOT::REQUEST)) #<unused argument> #<unused argument> #<HUNCHENTOOT::REQUEST {F0BBF91}>) 21: ((LAMBDA (SB-PCL::|.P0.| SB-PCL::|.P1.| SB-PCL::|.P2.| SB-PCL::|.P3.| SB-PCL::|.P4.|)) ..) 22: (HUNCHENTOOT::PROCESS-REQUEST ..) 23: (HUNCHENTOOT::PROCESS-CONNECTION #<HUNCHENTOOT::SERVER {D03A0F1}> #<SB-BSD-SOCKETS:INET-SOCKET 127.0.0.1:4242, peer: 127.0.0.1:35690, fd: 7 {ED3B089}>) 24: ((FLET #:WITHOUT-INTERRUPTS-BODY-[BLOCK405]410)) 25: ((FLET SB-THREAD::WITH-MUTEX-THUNK)) 26: ((FLET #:WITHOUT-INTERRUPTS-BODY-[CALL-WITH-MUTEX]309)) 27: (SB-THREAD::CALL-WITH-MUTEX ..) 28: (SB-THREAD::INITIAL-THREAD-FUNCTION) 29: ("foreign function: call_into_lisp") 30: ("foreign function: funcall0") 31: ("foreign function: new_thread_trampoline") 32: ("foreign function: #xB7FB6E99")
Hi Farzad,
I have just verified that the POST test passes for me on Linux with hunchentoot-1.1.1 on SBCL 1.0.51, installed with quicklisp. What operating system, Hunchentoot version and SBCL version do you use? Does the problem show when you evaluate
(HUNCHENTOOT::PARSE-CONTENT-TYPE "application/x-www-form-urlencoded")
in your repl? In fact, this part of the backtrace makes me wonder a bit:
On Sat, Oct 29, 2011 at 11:10 PM, Farzad Bekran farzadbekran@gmail.com wrote:
19: (HUNCHENTOOT::PARSE-CONTENT-TYPE "application/x-www-form-urlencoded" T)
There is an extra argument (T) which I can't relate to the argument list of PARSE-CONTENT-TYPE.
Did you install Hunchentoot with quicklisp? If not, I'd suggest that you try that to make sure that you have a set of libraries that work together.
Cheers, Hans
Hi Hans
Thanks for the quick reply. it sums up to this: somehow when I used quicklisp to load hunchentoot it used a really old version of the hunchentoot that was picked up by asdf and didn't update to the latest. it was fixed by deleting all the old packages and installing freshly using quicklisp.
Cheers, Farzad