[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