[Openmcl-devel] Fault during read of memory address

Gary Byers gb at clozure.com
Thu Dec 6 08:56:30 PST 2007



On Thu, 6 Dec 2007, Taylor, Joshua wrote:

> On Dec 5, 2007 8:57 PM, Gary Byers <gb at clozure.com> wrote:
>> This is the same bug reported in
>>
>> <http://www.clozure.com/pipermail/bug-openmcl/2007-November/000519.html>
>>
>> It was fixed in the change described in
>>
>> <http://trac.clozure.com/openmcl/changeset/7615>
>>
>>
>> <http://trac.clozure.com/openmcl/wiki/UpdatingFromSource> explains how
>> to update from CVS (to apply bug fixes and other changes.)
>>
>> This bug was never entered as a Trac "ticket"; had it been, you might
>> have been able to find this information more easily.
>>
>
> Thanks for the quick reply! I updated from source (I was /very/
> pleased at how painless it was. I can't remember the last time
> updating something from source was quite so smooth.) and rebuilt and
> that took care of that bug.

Part of the idea of using of the Trac site is to use it to report
bugs; open bugs will still be there long after mail messages have
scrolled out of the flood of mail, and there's less chance that a
bug report gets lost in that flood.

So please report bugs in Trac, instead of/as well as here or
bug-openmcl.

I did so; the bug (<http://trac.clozure.com/openmcl/ticket/209>)
involve the fact that COMPILE-FILE doesn't really support
saving constant vectors of element-type FIXNUM (even though
the specialized element-type FIXNUM has been supported for
over a year.)

Until that's fixed, you can work around it by either (a)
using an element-type other than FIXNUM - (UNSIGNED-BYTE 16)
would work in your example - or (b) not using DEFCONSTANT
in cases like this.



>
> I've still got another bug though, illustrated by the following
> code/backtrace. In it, I've got a length 80 array with random values,
> and a function that reads a value from the array. When the index is in
> a lexical variable, I can't compile the file. When the index is
> constant number in the text, the file can be compiled. The machine/OS
> is the same as before: iBook G4, OS X 10.4.10, and I updated from
> source and rebuilt so that:
> ? (lisp-implementation-type) => "OpenMCL"
> ? (lisp-implementation-version) => "Version 1.1-r7829 (DarwinPPC32)"
>
> (Now that I know about bug-openmcl too, I searched there and on trac,
> but nothing popped out at me. Maybe it's something someone else has
> seen before, though.)
>
> Thanks in advance!
>
> ^_^ tayloj at hobbang:~$ cat foo.lisp
> (defconstant *matrix*
>  (let ((matrix (make-array '(80) :element-type 'fixnum)))
>    (dotimes (i 80 matrix)
>      (setf (aref matrix i) (random 1000)))))
>
> (defun problem81 ()
>  (let ((j 50))
>    ;;(aref *matrix* 50) ; no problem
>    (aref *matrix* j)   ; bad
>    ))
> ^_^ tayloj at hobbang:~$ openmcl
> Welcome to OpenMCL Version 1.1-r7829 (DarwinPPC32)!
> ? (compile-file "foo.lisp")
>> Error: Fault during read of memory address #x10
>> While executing: CCL::FASL-DUMP-LIST, in process listener(1).
>> Type :POP to abort, :R for a list of available restarts.
>> Type :? for other options.
> 1> :b :show-frame-contents t
> (F0199AA0) : 0 (FASL-DUMP-LIST #<BOGUS object @ #xD>) 76
>  (LIST)
>   LIST: #<BOGUS object @ #xD>
>
>
>
> (F0199AA0) : 1 (FASL-DUMP-GVECTOR #(13 46 81 669 48 ...) 55) 124
>  (CCL::V CCL::OP)
>   CCL::V: #(13 46 81 669 48 ...)
>   CCL::OP: 55
>
>  CCL::N: 80
>  CCL::I: #<BOGUS object @ #xD>
>
> (F0199AB0) : 2 (FASL-DUMP-FUNCTION #<Compiled-function PROBLEM81
> (Non-Global)  #x854199E>) 380
>  (CCL::F)
>   CCL::F: #<Compiled-function PROBLEM81 (Non-Global)  #x854199E>
>
>  CCL::N: 5
>  CCL::I: 1
>
> (F0199AC0) : 3 (FASL-DUMP NIL NIL '(# # # #) #<HASH-TABLE :TEST EQ
> size 4/30 #x85415A6>) 268
>  (CCL::GNAMES CCL::GOFFSETS CCL::FORMS CCL::HASH)
>   CCL::GNAMES: NIL
>   CCL::GOFFSETS: NIL
>   CCL::FORMS: ((23 3) (47 "foo.lisp") (4 #) (35 # NIL))
>   CCL::HASH: #<HASH-TABLE :TEST EQ size 4/30 #x85415A6>
>
>  CCL::*FASDUMP-HASH*: #<HASH-TABLE :TEST EQ size 4/30 #x85415A6>
>  CCL::*FASDUMP-READ-PACKAGE*: NIL
>  CCL::*FASDUMP-EPUSH*: NIL
>  CCL::*FASDUMP-EREF*: 3
>  CCL::*FASDUMP-GLOBAL-OFFSETS*: NIL
>  #:G23991: NIL
>  CCL::OP: (35 #<Compiled-function PROBLEM81 (Non-Global)  #x854199E> NIL)
>  #:G23994: (NIL)
>  CCL::ARG: #<Compiled-function PROBLEM81 (Non-Global)  #x854199E>
>
> (F0199AD0) : 4 (FASL-DUMP-BLOCK NIL NIL '(# # # #) #<HASH-TABLE :TEST
> EQ size 4/30 #x85415A6>) 244
>  (CCL::GNAMES CCL::GOFFSETS CCL::FORMS CCL::HASH)
>   CCL::GNAMES: NIL
>   CCL::GOFFSETS: NIL
>   CCL::FORMS: ((23 3) (47 "foo.lisp") (4 #) (35 # NIL))
>   CCL::HASH: #<HASH-TABLE :TEST EQ size 4/30 #x85415A6>
>
>  CCL::ETAB-SIZE: 4
>
> (F0199AE0) : 5 (FASL-DUMP-FILE NIL NIL '(# # # #) #<HASH-TABLE :TEST
> EQ size 4/30 #x85415A6> "foo.dfsl") 472
>  (CCL::GNAMES CCL::GOFFSETS CCL::FORMS CCL::HASH CCL::FILENAME)
>   CCL::GNAMES: NIL
>   CCL::GOFFSETS: NIL
>   CCL::FORMS: ((23 3) (47 "foo.lisp") (4 #) (35 # NIL))
>   CCL::HASH: #<HASH-TABLE :TEST EQ size 4/30 #x85415A6>
>   CCL::FILENAME: "foo.dfsl"
>
>  CCL::OPENED?: T
>  CCL::FINISHED?: NIL
>  #:G23987: #<BASIC-FILE-BINARY-OUTPUT-STREAM ("foo.dfsl"/4
> ISO-8859-1) #x85406DE>
>  #:G23988: NIL
>  CCL::*FASDUMP-STREAM*: #<BASIC-FILE-BINARY-OUTPUT-STREAM
> ("foo.dfsl"/4 ISO-8859-1) #x85406DE>
>
> (F0199B20) : 7 (FASL-SCAN-FORMS-AND-DUMP-FILE '(# # # #) "foo.dfsl" [...]) 212
>  (CCL::FORMS CCL::OUTPUT-FILE &OPTIONAL CCL::ENV)
>   CCL::FORMS: ((23 3) (47 "foo.lisp") (4 #) (35 # NIL))
>   CCL::OUTPUT-FILE: "foo.dfsl"
>   CCL::ENV: #<CCL::LEXICAL-ENVIRONMENT #x854D656>
>
>  CCL::*FCOMP-LOCKED-HASH-TABLES*: NIL
>  CCL::*FCOMP-LOAD-FORMS-ENVIRONMENT*: #<CCL::LEXICAL-ENVIRONMENT #x854D656>
>  CCL::HASH: #<HASH-TABLE :TEST EQ size 4/30 #x85415A6>
>  CCL::GNAMES: NIL
>  CCL::GOFFSETS: NIL
>
> (F0199B40) : 8 (%COMPILE-FILE "/Users/tayloj/foo.lisp" "foo.dfsl" NIL
> NIL NIL NIL T T NIL NIL #<BACKEND DARWINPPC32 #x82E2A0E> :DEFAULT)
> 1484
>  (CCL::SRC CCL::OUTPUT-FILE CCL::VERBOSE PRINT LOAD CCL::FEATURES
> CCL::SAVE-LOCAL-SYMBOLS CCL::SAVE-DOC-STRINGS CCL::SAVE-DEFINITIONS
> CCL::FORCE CCL::TARGET-BACKEND EXTERNAL-FORMAT)
>   CCL::SRC: "/Users/tayloj/foo.lisp"
>   CCL::OUTPUT-FILE: "foo.dfsl"
>   CCL::VERBOSE: NIL
>   PRINT: NIL
>   LOAD: NIL
>   CCL::FEATURES: NIL
>   CCL::SAVE-LOCAL-SYMBOLS: T
>   CCL::SAVE-DOC-STRINGS: T
>   CCL::SAVE-DEFINITIONS: NIL
>   CCL::FORCE: NIL
>   CCL::TARGET-BACKEND: #<BACKEND DARWINPPC32 #x82E2A0E>
>   EXTERNAL-FORMAT: :DEFAULT
>
>  CCL::ORIG-SRC: #P"foo.lisp"
>  CCL::OUTPUT-DEFAULT-TYPE: #P".dfsl"
>  CCL::*FASL-NON-STYLE-WARNINGS-SIGNALLED-P*: NIL
>  CCL::*FASL-WARNINGS-SIGNALLED-P*: NIL
>  *FEATURES*: (:PRIMARY-CLASSES :COMMON-LISP :OPENMCL :CLOZURE
> :CLOZURE-COMMON-LISP ...)
>  CCL::*FASL-DEFERRED-WARNINGS*: NIL
>  *FASL-SAVE-LOCAL-SYMBOLS*: T
>  *FASL-SAVE-DOC-STRINGS*: T
>  *FASL-SAVE-DEFINITIONS*: NIL
>  CCL::*FCOMP-WARNINGS-HEADER*: NIL
>  *COMPILE-FILE-PATHNAME*: #P"foo.lisp"
>  *COMPILE-FILE-TRUENAME*: #P"/Users/tayloj/foo.lisp"
>  *PACKAGE*: #<Package "COMMON-LISP-USER">
>  *READTABLE*: #<READTABLE #x81C5E0E>
>  *COMPILE-PRINT*: NIL
>  *COMPILE-VERBOSE*: NIL
>  CCL::*FASL-TARGET*: :DARWINPPC32
>  CCL::*FASL-BACKEND*: #<BACKEND DARWINPPC32 #x82E2A0E>
>  CCL::*FASL-TARGET-BIG-ENDIAN*: T
>  CCL::*TARGET-FTD*: #S(CCL::FOREIGN-TYPE-DATA :TRANSLATORS
> #<HASH-TABLE :TEST EQ size 16/60 #x840F9F6> :KIND-INFO #<HASH-TABLE
> :TEST EQ size 30/60 #x840F716> ...)
>  CCL::DEFENV: #<CCL::DEFINITION-ENVIRONMENT #x854D67E>
>  CCL::LEXENV: #<CCL::LEXICAL-ENVIRONMENT #x854D656>
>  CCL::*FCOMP-EXTERNAL-FORMAT*: :DEFAULT
>  CCL::FORMS: ((23 3) (47 "foo.lisp") (4 #) (35 # NIL))
>
> (F0199B60) : 10 (COMPILE-FILE "foo.lisp" [...]) 756
>  (CCL::SRC &KEY :OUTPUT-FILE :VERBOSE :PRINT :LOAD :FEATURES :TARGET
> :SAVE-LOCAL-SYMBOLS :SAVE-DOC-STRINGS :SAVE-DEFINITIONS
> :EXTERNAL-FORMAT :FORCE)
>   CCL::SRC: "foo.lisp"
>   CCL::OUTPUT-FILE: NIL
>   CCL::VERBOSE: NIL
>   PRINT: NIL
>   LOAD: NIL
>   CCL::FEATURES: NIL
>   CCL::TARGET: :DARWINPPC32
>   CCL::TARGET-P: NIL
>   CCL::SAVE-LOCAL-SYMBOLS: T
>   CCL::SAVE-DOC-STRINGS: T
>   CCL::SAVE-DEFINITIONS: NIL
>   EXTERNAL-FORMAT: :DEFAULT
>
>  CCL::FORCE: NIL
>  CCL::BACKEND: #<BACKEND DARWINPPC32 #x82E2A0E>
>  #:SKIP-COMPILE-FILE: #<RESTART CCL::SKIP-COMPILE-FILE #x76AAAE>
>  #:RETRY-COMPILE-FILE: #<RESTART CCL::RETRY-COMPILE-FILE #x76AA86>
>  #:G23803: (#<RESTART CCL::RETRY-COMPILE-FILE #x76AA86> #<RESTART
> CCL::SKIP-COMPILE-FILE #x76AAAE>)
>  CCL::%RESTARTS%: ((#<# # #x76AA86> #<# # #x76AAAE>) (#<# # #x76AC2E>
> #<# # #x76AC56>) (#<# # #x76AD8E> #<# # #x76ADB6>))
>
> (F0199B90) : 12 (CALL-CHECK-REGS 'COMPILE-FILE [...]) 72
>  (CCL::FN &REST CCL::ARGS)
>   CCL::FN: COMPILE-FILE
>   CCL::ARGS: ("foo.lisp")
>
>  CCL::OLD-REGS: (*PACKAGE* #<SYNONYM-STREAM to *TERMINAL-IO*
> #x853BE26> (NIL) ("Version 1.1-r7829 (DarwinPPC32)") 0 ...)
>
> (F0199BB0) : 14 (TOPLEVEL-EVAL '(COMPILE-FILE "foo.lisp") [...]) 152
>  (CCL::FORM &OPTIONAL *LOADING-FILE-SOURCE-FILE*)
>   CCL::FORM: (COMPILE-FILE "foo.lisp")
>   *LOADING-FILE-SOURCE-FILE*: NIL
>
>  PACKAGE: #<Package "COMMON-LISP-USER">
>
> (F0199BC0) : 15 (READ-LOOP [...]) 888
>  (&KEY :INPUT-STREAM :OUTPUT-STREAM :BREAK-LEVEL :PROMPT-FUNCTION)
>   INPUT-STREAM: #<SYNONYM-STREAM to *TERMINAL-IO* #x853BE26>
>   OUTPUT-STREAM: #<SYNONYM-STREAM to *TERMINAL-IO* #x853BC2E>
>   CCL::BREAK-LEVEL: 0
>   CCL::PROMPT-FUNCTION: #<Anonymous Function #x81DE41E>
>
>  CCL::*BREAK-LEVEL*: 0
>  CCL::*LAST-BREAK-LEVEL*: 0
>  *LOADING-FILE-SOURCE-FILE*: NIL
>  CCL::*IN-READ-LOOP*: NIL
>  ***: NIL
>  **: "OpenMCL"
>  *: "Version 1.1-r7829 (DarwinPPC32)"
>  +++: NIL
>  ++: (LISP-IMPLEMENTATION-TYPE)
>  +: (LISP-IMPLEMENTATION-VERSION)
>  ///: NIL
>  //: ("OpenMCL")
>  /: ("Version 1.1-r7829 (DarwinPPC32)")
>  -: (COMPILE-FILE "foo.lisp")
>  CCL::EOF-VALUE: (NIL)
>  #:ABORT-BREAK: #<RESTART ABORT-BREAK #x76AC56>
>  #:ABORT: #<RESTART ABORT #x76AC2E>
>  #:G28434: (#<RESTART ABORT #x76AC2E> #<RESTART ABORT-BREAK #x76AC56>)
>  CCL::%RESTARTS%: ((#<# # #x76AC2E> #<# # #x76AC56>) (#<# # #x76AD8E>
> #<# # #x76ADB6>))
>  CCL::FORM: (COMPILE-FILE "foo.lisp")
>  CCL::PATH: NIL
>  CCL::PRINT-RESULT: T
>
> (F0199C00) : 16 (TOPLEVEL-LOOP) 72
>  NIL
>
>
>
> (F0199C20) : 17 (FUNCALL #'#<Anonymous Function #x817447E>) 68
>  NIL
>
>  CCL::INIT-FILE: "home:openmcl-init"
>
> (F0199C40) : 19 (FUNCALL #'#<Anonymous Function #x8219FDE>) 336
>  NIL
>
>  CCL::CLOSE-STREAMS: NIL
>  CCL::CLEANUP-FUNCTION: #<COMPILED-LEXICAL-CLOSURE #x853BAAE>
>  CCL::INITIAL-FUNCTION: #<COMPILED-LEXICAL-CLOSURE #x853BA96>
>  OUTPUT-STREAM: #<BASIC-CHARACTER-OUTPUT-STREAM ISO-8859-1 (TTY/1) #x853C9CE>
>  INPUT-STREAM: #<BASIC-CHARACTER-INPUT-STREAM ISO-8859-1 (TTY/0) #x853CF7E>
>  *TERMINAL-IO*: #<ECHOING-TWO-WAY-STREAM input
> #<BASIC-CHARACTER-INPUT-STREAM ISO-8859-1 (TTY/0) #x853CF7E>, output
> #<BASIC-CHARACTER-OUTPUT-STREAM ISO-8859-1 (TTY/1) #x853C9CE>
> #x854FDCE>
>
> (F0199C70) : 21 (RUN-PROCESS-INITIAL-FORM #<TTY-LISTENER listener(1)
> [Active] #x853B6DE> '(#)) 404
>  (PROCESS CCL::INITIAL-FORM)
>   PROCESS: #<TTY-LISTENER listener(1) [Active] #x853B6DE>
>   CCL::INITIAL-FORM: (#<COMPILED-LEXICAL-CLOSURE #x853B326>)
>
>  CCL::EXITED: NIL
>  #:G28742: (PROCESS-RESET)
>  CCL::%HANDLERS%: ((PROCESS-RESET))
>  #:ABORT: #<RESTART ABORT #x76ADB6>
>  #:ABORT-BREAK: #<RESTART ABORT-BREAK #x76AD8E>
>  #:G28743: (#<RESTART ABORT-BREAK #x76AD8E> #<RESTART ABORT #x76ADB6>)
>  CCL::%RESTARTS%: ((#<# # #x76AD8E> #<# # #x76ADB6>))
>
> (F0199CB0) : 23 (FUNCALL #'#<Anonymous Function #x817ABAE>
> #<TTY-LISTENER listener(1) [Active] #x853B6DE> '(#)) 152
>  (PROCESS CCL::INITIAL-FORM)
>   PROCESS: #<TTY-LISTENER listener(1) [Active] #x853B6DE>
>   CCL::INITIAL-FORM: (#<COMPILED-LEXICAL-CLOSURE #x853B326>)
>
>  *CURRENT-PROCESS*: #<TTY-LISTENER listener(1) [Active] #x853B6DE>
>  CCL::SYMS: (CCL::*FREE-XPS* CCL::*FREE-CIRCULARITY-HASH-TABLES*
> CCL::*FAKE-STACK-FRAMES* CCL::*VINSN-VARPARTS*
> CCL::*VINSN-LABEL-FREELIST* ...)
>  VALUES: (NIL NIL NIL #<POOL  #x854FFAE> #<POOL  #x854FF96> ...)
>
> (F0199CD0) : 24 (FUNCALL #'#<Anonymous Function #x817236E>) 172
>  NIL
>
>  CCL::TCR: 787548
>  CCL::THREAD: #<LISP-THREAD listener [tcr @ #x301170] #x853B9DE>
>  CCL::*CURRENT-LISP-THREAD*: #<LISP-THREAD listener [tcr @ #x301170] #x853B9DE>
>  CCL::INITIAL-FUNCTION: (#<Anonymous Function #x817ABAE>
> #<TTY-LISTENER listener(1) [Active] #x853B6DE> (#))
>
> 1>
>
>
> -- 
> =====================
> Joshua Taylor
> jtaylor at alum.rpi.edu
>
> "A lot of good things went down one time,
>     back in the goodle days."
>               John Hartford
> _______________________________________________
> Openmcl-devel mailing list
> Openmcl-devel at clozure.com
> http://clozure.com/mailman/listinfo/openmcl-devel
>
>



More information about the Openmcl-devel mailing list