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