[armedbear-devel] Threading issue with ERROR (?)
Erik Huelsmann
ehuels at gmail.com
Sat Jul 4 08:46:56 UTC 2009
I have an application which uses a combination of DEFINE-CONDITION,
ERROR and HANDLER-CASE to handle certain exceptional situations. The
call sequence basically looks like this:
(when loading the file:)
(define-condition model-error (error) ())
(defun foo1 (arg)
(if arg (error 'model-error)
3))
(defun foo2 (arg)
(handler-case
(foo1 arg)
(model-error () 0.0d0))
and then, from different threads:
(foo2 <some value or NIL>)
When I do this in a single-threaded application all goes well.
When I do this in a multi threaded application with a single
calculation (lisp) thread, all goes well as well.
When I do this in a multi threaded application with multiple
calculation threads (lisp), I get a NullPointerException somewhere
deep in our CLOS code...
Has anybody experienced the same?
Bye,
Erik.
More information about the armedbear-devel
mailing list