Open gibsonf1 opened 3 years ago
I have the same problem
;error on sbcl
debugger invoked on a FAST-HTTP.ERROR:CB-MESSAGE-COMPLETE in thread
#<THREAD "woo-worker" RUNNING {10054C0313}>:
Callback Error: the message-complete callback failed
(A SIMPLE-ERROR was caught when trying to print *DEBUG-CONDITION* when entering
the debugger. Printing was aborted and the SIMPLE-ERROR was stored in
SB-DEBUG::*NESTED-DEBUG-CONDITION*.)
The current thread is not at the foreground,
SB-THREAD:RELEASE-FOREGROUND has to be called in #<SB-THREAD:THREAD "main thread" RUNNING {1001560253}>
for this thread to enter the debugger.
;error on ccl
> Error: Callback Error: the message-complete callback failed
> #<error printing INVALID-HTTP-VERSION #x302001FC565D>
> While executing: (:INTERNAL FAST-HTTP.PARSER::PARSE-BODY), in process woo-worker(4).
;;;
;;; #<PROCESS woo-worker(4) [Active] #x302001F5DA4D> requires access to Shared Terminal Input
;;; Type (:y 4) to yield control to this thread.
;;;
I'll do a pull request for this
i think maybe throw out the woo errors and use fast-http:invalid-version. the relevant error handling code only deals with fast-http:parsing-error conditions and even when you fix the format control report error for woo:simple-error, the server still crashes.
(import-from :fast-http
;;etc...
:invalid-version)
(defun http-version-keyword (major minor)
(unless (= major 1)
(error 'fast-http:invalid-version))
(case minor
(1 :HTTP/1.1)
(0 :HTTP/1.0)
(otherwise (error 'fast-http:invalid-version))))
Although I'm running top-level handlers, this simple-error took down the server:
I took a look at woo.lisp and see the code for this here:
Would simply changing woo-error definition to this solve the problem:?