[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