[Openmcl-devel] ARM runtime stability problem (in %NANOSLEEP ?)

Gary Byers gb at clozure.com
Fri Sep 16 12:27:52 PDT 2011


? (dotimes (i 10) (run))
NIL
? (dotimes (i 10) (run))
NIL
? (dotimes (i 10) (run))
NIL
? (dotimes (i 10) (run))
NIL
? (dotimes (i 10) (run))
NIL
? (dotimes (i 10) (run))
NIL
? (dotimes (i 10) (run))
NIL
? (dotimes (i 10) (run))
NIL
? (dotimes (i 10) (run))
NIL
? (dotimes (i 10) (run))
NIL

I can't reproduce a problem.  That doesn't mean that there's no problem
there, but it doesn't seem to be easily reproducible for me.

Note that there was a bug in r14982.  The changes in r14982 would themselves
bootstrap cleanly, but the compiler in the resulting image would sometimes
try to do fixnum arithmetic on things that weren't necessarily fixnums (and
generally weren't on 32-bit lisps.)  I sent mail to this list a few hours
after committing r14982 and committed a fix a few hours later.  If you (or
anyone else) had already built an image from r14982, you probably want to
do:

$ svn revert armcl.image

and rebuild with that older image.

The address where the fault happened for you was likely in the GC.
Beyond that it's hard to say much of anything besides "I can't reproduce
it" and "be sure that you're running the latest kernel."

On Fri, 16 Sep 2011, Eric Marsden wrote:

> The following bug is reproducible, and seems to be triggered by code
> involving a lot of floating point arithmetic.
>
> ,----
> | Welcome to Clozure Common Lisp Version 1.8-dev-r14982M-trunk  (LinuxARM32)!
> | ? (defun mset-level/complex (c)
> |   (declare (type complex c))
> |   (loop :for z = #c(0 0) :then (+ (* z z) c)
> |         :for iter :from 1 :to 300
> |         :until (> (abs z) 4.0)
> |         :finally (return iter)))
> |
> | (defun run ()
> |   (let ((n 800)
> | 	(sum 0))
> |     (dotimes (i n)
> |       (incf sum (mset-level/complex (complex 0.0001d0 (/ i n 0.25d0)))))))
> |
> | ? (dotimes (i 10) (run))
> | Unhandled exception 11 at 0x24bac, context->regs at #x4053f700
> | received signal 11; faulting address: (nil)
> | address not mapped to object
> | ? for help
> | [30555] Clozure CL kernel debugger: B
> | current thread: tcr = 0x3fcf8, native thread ID = 0x775c, interrupts enabled
> | Bad frame! (0x4053f9c8)
> | TCR = 0x3a478, cstack area #x3c638,  native thread ID = 0x775b, interrupts enabled
> |
> | (#xBEB725E0) #x5038B85C : #<Function %NANOSLEEP #x54169386> + 360
> | (#xBEB72640) #x5039836C : #<Function HOUSEKEEPING-LOOP #x5417107e> + 280
> | (#xBEB72670) #x5039833C : #<Function HOUSEKEEPING-LOOP #x5417107e> + 232
> | (#xBEB726E8) #x50398330 : #<Function HOUSEKEEPING-LOOP #x5417107e> + 220
> | (#xBEB72770) #x50398300 : #<Function HOUSEKEEPING-LOOP #x5417107e> + 172
> | (#xBEB72830) #x0000B444 : (subprimitive ret1valn)
> | (#xBEB72840) #x50398760 : #<Function (:INTERNAL (TOPLEVEL-FUNCTION (LISP-DEVELOPMENT-SYSTEM T))) #x54171286> + 124
> | (#xBEB72870) #x50398748 : #<Function (:INTERNAL (TOPLEVEL-FUNCTION (LISP-DEVELOPMENT-SYSTEM T))) #x54171286> + 100
> | (#xBEB72B50) #x00015224 : (subprimitive (null))
> | (#xBEB72B80) #x00015214 : (subprimitive (null))
> | (#xBEB72BD8) #x000152A4 : (subprimitive (null))
> `----
>
> -- 
> Eric Marsden
>
> _______________________________________________
> Openmcl-devel mailing list
> Openmcl-devel at clozure.com
> http://clozure.com/mailman/listinfo/openmcl-devel
>
>



More information about the Openmcl-devel mailing list