[hunchentoot-devel] Hard to catch errors below process-request

Phil Marneweck haragx at gmail.com
Fri Jan 21 09:48:51 UTC 2011


On Fri, 2011-01-21 at 06:40 +0100, Hans Hübner wrote:

> On Fri, Jan 21, 2011 at 4:29 AM, AVS <lispercat at 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))
     , at body))

(defclass xxx ()
  ((ccc)) )


(defmethod handle-request :before ((*acceptor* hunchentoot::acceptor)
(*request* hunchentoot::request))
 
 ; (with-debugging   
   (slot-value (make-instance 'xxx) 'xxx) 
 ;)
)

Harag
-------------- next part --------------
An HTML attachment was scrubbed...
URL: <https://mailman.common-lisp.net/pipermail/tbnl-devel/attachments/20110121/be4de58c/attachment.html>


More information about the Tbnl-devel mailing list