Harak, Andrei,
I had a look at the relevant positions in the Hunchentoot source and would be interested in solving the problem so that errors are reported, rather than swallowed, without requiring the user to set up special handlers. My time is limited, though, so if you could help me by providing an executable test case that exposes the problem, it´d be greatly appreciated.
Thanks, Hans
On Fri, Jan 21, 2011 at 10:48 AM, Phil Marneweck haragx@gmail.com wrote:
On Fri, 2011-01-21 at 06:40 +0100, Hans Hübner wrote:
On Fri, Jan 21, 2011 at 4:29 AM, AVS lispercat@gmail.com wrote:
Thank you for the suggestion, Hans. In the mean time could you try one thing? Put some bad code inside start-output that will cause an exception (for instance (list a b) without a, b defined, or (/ 1 0)). Also (setf *catch-errors-p* nil). If things are as they should be it'll trigger the debugger. In my case it doesn't which is the cause of the whole issue. If it triggers the debugger break for you, it means there is something related to sbcl I am using.
The debugger is not triggered, so the bug is real. Having a way to reproduce it by user code would be helpful nevertheless.
-Hans
Like following?
(defpackage :test (:nicknames :test ) (:use :cl :hunchentoot :cl-who) )
(in-package :test)
;;(hunchentoot:start (make-instance 'hunchentoot:acceptor :port 1111 ))
(hunchentoot::define-easy-handler (eish :uri "/eish.html" :default-request-type :both) () (cl-who::with-html-output-to-string (*standard-output* nil :indent t) (cl-who::str "Hello World XXX")))
(defmacro with-debugging (&body body) ;; Using this as debugging tool because hunchentoot ;; swallows all errors here. `(handler-bind ((error #'invoke-debugger)) ,@body))
(defclass xxx () ((ccc)) )
(defmethod handle-request :before ((*acceptor* hunchentoot::acceptor) (*request* hunchentoot::request))
; (with-debugging (slot-value (make-instance 'xxx) 'xxx) ;) )
Harag _______________________________________________ tbnl-devel site list tbnl-devel@common-lisp.net http://common-lisp.net/mailman/listinfo/tbnl-devel