Lisp HUG Maillist Archive

Possible stack limit in LispWorks Personal with regards to C callbacks to Lisp?

I'm getting the following error from Lispworks:

  0: CONDITIONS::CONDITIONS-ERROR (:INVISIBLEP T "** Processor Fault #x~X at 
#x~X~@[ (~s)~]." (3221225725 24570807 NIL))
  1: IO::FAULT-HANDLER-AUX (#<Raw value #x0176EBB7 (24570807)> #<Raw value 
#xC00000FD (3221225725)>)
  2: (SUBFUNCTION SYSTEM::|%FOREIGN-CALLABLE/fault_handler_on_c_stack_aux| (FLI:
DEFINE-FOREIGN-CALLABLE "fault_handler_on_c_stack_aux")) (#<Raw value #x016131CC 
(23146956)>)
  3: SYSTEM::%FUNCALL1-ON-LISP-STACK NIL
  4: FLI::FOREIGN-CALLABLE-ENTRY-POINT-AUX-NESTED NIL
  5: ODE::D-WORLD-STEP (#<Pointer: ODE::D-WORLD-ID = #x00B00AF0> 0.03)

Immediately after the call to (D-WORLD-STEP), the C library performs several 
hundred callbacks into the Lisp process (object collision calculations). When 
there are no more collisions the callbacks cease and the Lisp process continues. 
Is there a limitation in Lispworks personal that will cause several hundred (or 
thousand) sequential callbacks to fail? Will Lispworks perform garbage 
collection in a callback? I'm trying to track this down.

Thanks,
-Luke


Re: Possible stack limit in LispWorks Personal with regards to C callbacks to Lisp?

Sorry, pilot error. I was blowing the stack of the external physics library by 
attempting to smash too many objects together.

-Luke


Updated at: 2020-12-10 08:49 UTC