[Openmcl-devel] compiler bug on AMD64 (problem in error printing?)

Gary Byers gb at clozure.com
Sat Jul 15 14:04:47 PDT 2006


I'm slowing down, but this seems to now be fixed in CVS.

On Fri, 14 Jul 2006, Eric Marsden wrote:

>>>>>> "gb" == Gary Byers <gb at clozure.com> writes:
>
>  gb> Thanks for all of these reports.
>
>  thanks for all the fast fixes!
>
>
>  gb> It's fixed in CVS; I don't think that the fix broke anything else
>  gb> and can't see any other instances of the same bug, but it's
>  gb> scary enough that I'd want to keep looking.
>
>  here's another bug that seems to be related to the problem that
>  afflicts SBCL building.
>
> ,----
> | (defvar *adjustable-vectors* nil)
> |
> | (defmacro with-adjustable-vector ((var) &rest body)
> |   `(let ((,var (or (pop *adjustable-vectors*)
> |                    (make-array 17
> |                                :element-type '(unsigned-byte 8)
> |                                :fill-pointer 0
> |                                :adjustable t))))
> |      (declare (type (vector (unsigned-byte 8) 17) ,var))
> |      (setf (fill-pointer ,var) 0)
> |      (unwind-protect
> |          (progn
> |            , at body)
> |        (push ,var *adjustable-vectors*))))
> |
> | (defun foo ()
> |   (dotimes (i 1000)
> |     (with-adjustable-vector (v)
> |       (loop :for i :below 16
> |             :do (setf (aref v i) (random 10)))
> |       (loop :for i :below 16
> |             :sum (aref v i)))))
> `----
>
>  If I add other code to the file, the error sometimes manifests itself as:
>
> Error: Array index 5 out of bounds for #<VECTOR 17 fill-pointer #<error printing (VECTOR (UNSIGNED-BYTE 8) 17) #x300004C58D5D> .
>
>  and as above it triggers the following:
>
> ? (foo)
> Unhandled exception 11 at 0x30000406648c, context->regs at #x4022fd98
> ? for help
> [9538] OpenMCL kernel debugger: B
> current thread: tcr = 0x40231800, native thread ID = 0x2542, interrupts enabled
> (#x00002AAAAACBB110) #x000030000437491C : #<Anonymous Function #x00003000043746ef> + 557
> (#x00002AAAAACBB1B0) #x000030000438043C : #<Function %PRINT-UNREADABLE-OBJECT #x00003000043802bf> + 381
> (#x00002AAAAACBB1F8) #x0000300004375B24 : #<Function WRITE-AN-ARRAY #x000030000437502f> + 2805
> (#x00002AAAAACBB2A0) #x0000300004381FD4 : #<Method-Function PRINT-OBJECT (T T) #x00003000043816ff> + 2261
> (#x00002AAAAACBB2D8) #x00003000043824EC : #<Function WRITE-A-FROB #x000030000438243f> + 173
> (#x00002AAAAACBB358) #x0000300004383B94 : #<Function WRITE-INTERNAL #x000030000438383f> + 853
> (#x00002AAAAACBB3B8) #x000030000436DC4C : #<Function WRITE-1 #x000030000436da0f> + 573
> (#x00002AAAAACBB3E0) #x000030000436B174 : #<Function PRIN1 #x000030000436b0df> + 149
> (#x00002AAAAACBB420) #x000030000482418C : #<Anonymous Function #x00003000048240bf> + 205
> (#x00002AAAAACBB470) #x0000300004418584 : #<Function SUB-FORMAT #x0000300004417b0f> + 2677
> (#x00002AAAAACBB528) #x00003000047FF20C : #<Function DO-SUB-FORMAT #x00003000047ff13f> + 205
> (#x00002AAAAACBB548) #x0000300004A387B4 : #<Function DO-SUB-FORMAT-1 #x0000300004a386df> + 213
> (#x00002AAAAACBB5C8) #x0000300004A3D17C : #<Function DO-XP-PRINTING #x0000300004a3cfef> + 397
> (#x00002AAAAACBB650) #x0000300004A0A824 : #<Function DO-IT #x0000300004a0a7df> + 69
> (#x00002AAAAACBB678) #x0000300004A0AE6C : #<Function MAYBE-INITIATE-XP-PRINTING #x0000300004a0abef> + 637
> (#x00002AAAAACBB6F8) #x00003000047FFDEC : #<Function FORMAT #x00003000047ff6df> + 1805
> (#x00002AAAAACBB7B8) #x00003000043BE1D4 : #<Function %BREAK-MESSAGE #x00003000043bde7f> + 853
> (#x00002AAAAACBB970) #x00003000043BFDBC : #<Function BREAK-LOOP-HANDLE-ERROR #x00003000043bfb6f> + 589
> (#x00002AAAAACBB9C8) #x0000300004426A0C : #<Function %ERROR #x000030000442694f> + 189
> (#x00002AAAAACBB9F0) #x000030000442A32C : #<Function %XERR-DISP #x00003000044294af> + 3709
> (#x00002AAAAACBBA58) #x00003000041191BC : #<Function %PASCAL-FUNCTIONS% #x000030000411905f> + 349
> (#x00002AAAAACBBAC0) #x0000000000000000 : #<Function FOO #x0000300004c8ba3f> + ??
> (#x00002AAAAACBBB50) #x00003000043A9F64 : #<Function CALL-CHECK-REGS #x00003000043a9e7f> + 229
> (#x00002AAAAACBBB88) #x00003000043C15CC : #<Function TOPLEVEL-EVAL #x00003000043c141f> + 429
> (#x00002AAAAACBBBD8) #x00003000043C33EC : #<Function READ-LOOP #x00003000043c2c9f> + 1869
> (#x00002AAAAACBBDE0) #x00003000043A990C : #<Function TOPLEVEL-LOOP #x00003000043a983f> + 205
> (#x00002AAAAACBBE10) #x0000300004361BD4 : #<Anonymous Function #x0000300004361b4f> + 133
> (#x00002AAAAACBBE28) #x000030000442ED34 : #<Anonymous Function #x000030000442e66f> + 1733
> (#x00002AAAAACBBEC8) #x00003000043919D4 : #<Function RUN-PROCESS-INITIAL-FORM #x000030000439170f> + 709
> (#x00002AAAAACBBF48) #x000030000439237C : #<Anonymous Function #x00003000043921ef> + 397
> (#x00002AAAAACBBF98) #x0000300004351EFC : #<Anonymous Function #x0000300004351d8f> + 365
>
> -- 
> Eric Marsden
>
>



More information about the Openmcl-devel mailing list