SV: [elephant-devel] Memory error with Elephant

Robert L. Read read at robertlread.net
Fri Aug 18 20:51:24 UTC 2006


Well, its good we know this ---- there is zero hope of getting Elephant
to work until
we solve this problem.

My hunch would be this has to do with the AMD64.

It is entirely possible that the serializer makes some assumption that
isn't true on AMD64;
the serializer gets into some byte-representation issues that could fail
there.

If you would like to debug it, I would be happy to answer your
questions.  I hope to use
a 64-bit processor in my own business soon, but I don't have one
available now.

Does anyone else have this working on a 64 bit processor?


On Fri, 2006-08-18 at 22:37 +0200, Petter Egesund wrote:

> Thanks for answering!
> 
> I did run one test, the not-so-good result was like below. Any clues?
> 
> Cheers,
> 
> Petter
> 
> 
> 
> 
> ------------
>  
> ; SLIME 2006-04-20
> CL-USER> (asdf:operate 'asdf:load-op :ele-bdb)
> ; loading system definition from /home/pe/.sbcl/systems/ele-bdb.asd into
> ; #<PACKAGE "ASDF0">
> ; loading system definition from /home/pe/.sbcl/systems/uffi.asd into
> ; #<PACKAGE "ASDF1">
> ; registering #<SYSTEM UFFI {1002EB0B41}> as UFFI
> ; registering #<SYSTEM ELE-BDB {10034A6441}> as ELE-BDB
> ; loading system definition from /home/pe/.sbcl/systems/elephant.asd into
> ; #<PACKAGE "ASDF0">
> ; registering #<SYSTEM ELEPHANT {100260E571}> as ELEPHANT
> STYLE-WARNING: implicitly creating new generic function PERSISTENT-SLOTS
> STYLE-WARNING:
>    implicitly creating new generic function OLD-PERSISTENT-SLOTS
> STYLE-WARNING:
>    implicitly creating new generic function UPDATE-PERSISTENT-SLOTS
> STYLE-WARNING: implicitly creating new generic function INDEXED-RECORD
> STYLE-WARNING: implicitly creating new generic function OLD-INDEXED-RECORD
> STYLE-WARNING:
>    implicitly creating new generic function UPDATE-INDEXED-RECORD
> STYLE-WARNING:
>    implicitly creating new generic function MAKE-NEW-INDEXED-RECORD
> STYLE-WARNING: implicitly creating new generic function REMOVED-INDEXING?
> STYLE-WARNING:
>    implicitly creating new generic function REGISTER-INDEXED-SLOT
> STYLE-WARNING:
>    implicitly creating new generic function UNREGISTER-INDEXED-SLOT
> STYLE-WARNING:
>    implicitly creating new generic function REGISTER-DERIVED-INDEX
> STYLE-WARNING:
>    implicitly creating new generic function UNREGISTER-DERIVED-INDEX
> STYLE-WARNING: implicitly creating new generic function PREVIOUSLY-INDEXED
> ; loading system definition from /home/pe/.sbcl/systems/cl-base64.asd into
> ; #<PACKAGE "ASDF0">
> ; registering #<SYSTEM CL-BASE64 {1003993E91}> as CL-BASE64
> ; registering #<SYSTEM CL-BASE64-TESTS {1003C546C1}> as CL-BASE64-TESTS
> ; loading system definition from /home/pe/.sbcl/systems/kmrcl.asd into
> ; #<PACKAGE "ASDF0">
> ; registering #<SYSTEM KMRCL {1003345D31}> as KMRCL
> STYLE-WARNING: implicitly creating new generic function GET-CON
> STYLE-WARNING:
>    implicitly creating new generic function CONTROLLER-PROPERTIES
> STYLE-WARNING: implicitly creating new generic function SET-ELE-PROPERTY
> STYLE-WARNING: implicitly creating new generic function GET-ELE-PROPERTY
> STYLE-WARNING:
>    implicitly creating new generic function ENSURE-MARKED-VERSION
> STYLE-WARNING: implicitly creating new generic function CONTROLLER-VERSION
> STYLE-WARNING: implicitly creating new generic function UP-TO-DATE-P
> STYLE-WARNING: implicitly creating new generic function UPGRADABLE-P
> STYLE-WARNING: implicitly creating new generic function UPGRADE
> STYLE-WARNING:
>    implicitly creating new generic function FLUSH-INSTANCE-CACHE
> STYLE-WARNING: implicitly creating new generic function DROP-POBJECT
> STYLE-WARNING: implicitly creating new generic function MAP-BTREE
> STYLE-WARNING: implicitly creating new generic function EMPTY-BTREE-P
> STYLE-WARNING: implicitly creating new generic function CLASS-INDEX-CACHED?
> STYLE-WARNING:
>    implicitly creating new generic function DETERMINE-SYNCH-METHOD
> STYLE-WARNING: implicitly creating new generic function SET-DB-SYNCH
> STYLE-WARNING: implicitly creating new generic function INDEXED-SLOT-WRITER
> STYLE-WARNING:
>    implicitly creating new generic function CLASS-INDEXEDP-BY-NAME
> STYLE-WARNING:
>    implicitly creating new generic function FIND-INVERTED-INDEX-NAMES
> STYLE-WARNING: implicitly creating new generic function WIPE-CLASS-INDEXING
> STYLE-WARNING: implicitly creating new generic function COPY-BTREE-CONTENTS
> STYLE-WARNING: implicitly creating new generic function BUILD-BTREE-INDEX
> NIL
> CL-USER> (asdf:operate 'asdf:load-op :elephant-tests)
> ; loading system definition from /home/pe/.sbcl/systems/elephant-tests.asd
> ; into #<PACKAGE "ASDF0">
> ; registering #<SYSTEM ELEPHANT-TESTS {10038A95E1}> as ELEPHANT-TESTS
> ; registering #<SYSTEM ELEPHANT-TESTS-BDB {1003B28C91}> as
> ; ELEPHANT-TESTS-BDB
> ; loading system definition from /home/pe/.sbcl/systems/rt.asd into
> ; #<PACKAGE "ASDF0">
> ; registering #<SYSTEM :RT {1003F11531}> as RT
> NIL
> CL-USER> (in-package "ELEPHANT-TESTS")
> #<PACKAGE "ELEPHANT-TESTS">
> ELE-TESTS> (setf *default-spec* *testbdb-spec*)
> (:BDB "/home/pe/.sbcl/site/elephant/tests/testdb/")
> ELE-TESTS> (do-backend-tests)
> ; compiling file "/home/pe/.sbcl/site/elephant/tests/testsleepycat.lisp" (written 19 FEB 2006 05:53:02 AM):
> ; compiling (IN-PACKAGE "ELE-TESTS")
> ; compiling (DEFVAR ENV)
> ; compiling (DEFVAR DB)
> ; compiling (DEFUN PREPARE-SLEEPYCAT ...)
> ; compiling (DEFTEST PREPARES-SLEEPYCAT ...)
> ; compiling (DEFUN TEST-SEQUENCE1 ...)
> ; compiling (DEFTEST TEST-SEQ1 ...)
> ; compiling (DEFUN TEST-SEQUENCE2 ...)
> ; compiling (DEFTEST TEST-SEQ2 ...)
> ; compiling (DEFUN CLEANUP-SLEEPYCAT ...)
> ; compiling (DEFTEST CLEANSUP-SLEEPYCAT ...)
>  
> ; /home/pe/.sbcl/site/elephant/tests/testsleepycat.fasl written
> ; compilation finished in 0:00:00
> Doing 115 pending tests of 115 tests total.
>  FIXNUMS FIXNUM-TYPE-1
> Test BIGNUMS failed
> Form: (ARE-NOT-NULL (IN-OUT-EQUAL 10000000000) (IN-OUT-EQUAL -10000000000)
>                     (LOOP FOR I FROM 0 TO 2000 ALWAYS
>                           (IN-OUT-EQUAL (EXPT 2 I)))
>                     (LOOP FOR I FROM 0 TO 2000 ALWAYS
>                           (IN-OUT-EQUAL (- (EXPT 2 I))))
>                     (LOOP FOR I FROM 0 TO 2000 ALWAYS
>                           (IN-OUT-EQUAL (- (EXPT 2 I) 1)))
>                     (LOOP FOR I FROM 0 TO 2000 ALWAYS
>                           (IN-OUT-EQUAL (- 1 (EXPT 2 I))))
>                     (LOOP FOR I FROM 0 TO 2000 ALWAYS
>                           (IN-OUT-EQUAL (EXPT 3 I)))
>                     (LOOP FOR I FROM 0 TO 2000 ALWAYS
>                           (IN-OUT-EQUAL (- (EXPT 3 I)))))
> Expected values: T
>                  T
>                  T
>                  T
>                  T
>                  T
>                  T
>                  T
> Actual value: #<SB-KERNEL::MEMORY-FAULT-ERROR {1002897E31}>.
>  FLOATS
> Test RATIONALS failed
> Form: (ARE-NOT-NULL (IN-OUT-EQUAL 1/2) (IN-OUT-EQUAL -1/2)
>                     (IN-OUT-EQUAL (/ 1 MOST-POSITIVE-FIXNUM))
>                     (IN-OUT-EQUAL (/ 1 MOST-NEGATIVE-FIXNUM))
>                     (IN-OUT-EQUAL
>                      (/ MOST-POSITIVE-FIXNUM MOST-NEGATIVE-FIXNUM))
>                     (IN-OUT-EQUAL (/ (EXPT 2 200) (EXPT 3 300)))
>                     (IN-OUT-EQUAL (/ (EXPT 2 200) (- (EXPT 3 300)))))
> Expected values: T
>                  T
>                  T
>                  T
>                  T
>                  T
>                  T
> Actual value: #<DIVISION-BY-ZERO {10028F0B41}>.
> Test BASE-STRINGS failed
> Form: (ARE-NOT-NULL
>        (IN-OUT-EQUAL (MAKE-STRING 0 :ELEMENT-TYPE 'BASE-CHAR))
>        (IN-OUT-EQUAL (COERCE "this is a test" 'BASE-STRING))
>        (IN-OUT-EQUAL
>         (MAKE-STRING 400 :INITIAL-ELEMENT (CODE-CHAR 127) :ELEMENT-TYPE
>                      'BASE-CHAR)))
> Expected values: T
>                  T
>                  T
> Actual value: #<SB-KERNEL::MEMORY-FAULT-ERROR {100291E3F1}>.
> Heap exhausted: 8517255168 bytes available, 498216206416 requested. PROCEED WITH CAUTION!
>    [Condition of type SB-KERNEL::HEAP-EXHAUSTED-ERROR]
>  
> Restarts:
>   0: [ABORT-REQUEST] Abort handling SLIME request.
>   1: [TERMINATE-THREAD] Terminate this thread (#<THREAD "repl-thread" {1003511531}>)
>  
> Backtrace:
>   0: (SB-KERNEL::HEAP-EXHAUSTED-ERROR 8517255168 498216206416)
>   1: ("foreign function: call_into_lisp")
>   2: ("foreign function: funcall2")
>   3: ("foreign function: gc_heap_exhausted_error_or_lose")
>   4: ("foreign function: gc_find_freeish_pages")
>   5: ("foreign function: gc_alloc_large")
>   6: ("foreign function: alloc_tramp")
>   7: ((LABELS ELEPHANT::%DESERIALIZE) #<unavailable argument>)
>   8: (IN-OUT-EQUAL "this is a test")
>   9: (SB-INT:EVAL-IN-LEXENV (IN-OUT-EQUAL "this is a test") #<NULL-LEXENV>)
>  10: (SB-INT:EVAL-IN-LEXENV (PROGN (IN-OUT-EQUAL "this is a test")) #<NULL-LEXENV>)
>  11: (SB-INT:EVAL-IN-LEXENV (NULL (PROGN (IN-OUT-EQUAL "this is a test"))) #<NULL-LEXENV>)
>  12: (SB-INT:EVAL-IN-LEXENV (IS-NOT-NULL (IN-OUT-EQUAL "this is a test")) #<NULL-LEXENV>)
>  13: (SB-INT:EVAL-IN-LEXENV (ARE-NOT-NULL (IN-OUT-EQUAL "") (IN-OUT-EQUAL "this is a test") (IN-OUT-EQUAL (MAKE-STRING 400 :INITIAL-ELEMENT #))) #<NULL-LEXENV>)
>  14: ((FLET REGRESSION-TEST::%DO))
>  15: (REGRESSION-TEST::DO-ENTRY #S(REGRESSION-TEST::ENTRY :PEND T :NAME STRINGS :PROPS NIL :FORM (ARE-NOT-NULL (IN-OUT-EQUAL "") (IN-OUT-EQUAL "this is a test") (IN-OUT-EQUAL #)) :VALS (T T T)) #<SWANK-BACKEND::SLIME-OUTPUT-STREAM {100337B2F1}>)
>  16: (REGRESSION-TEST::DO-ENTRIES* #<SWANK-BACKEND::SLIME-OUTPUT-STREAM {100337B2F1}>)
>  17: (REGRESSION-TEST::DO-ENTRIES #<SWANK-BACKEND::SLIME-OUTPUT-STREAM {100337B2F1}>)
>  18: (DO-BACKEND-TESTS (:BDB "/home/pe/.sbcl/site/elephant/tests/testdb/"))
>  19: (SB-INT:EVAL-IN-LEXENV (DO-BACKEND-TESTS) #<NULL-LEXENV>)
> 
> 
>  
> 
> 
> ________________________________
> 
> Fra: elephant-devel-bounces at common-lisp.net [mailto:elephant-devel-bounces at common-lisp.net] På vegne av Robert L. Read
> Sendt: 18. august 2006 22:04
> Til: Elephant bugs and development
> Emne: Re: [elephant-devel] Memory error with Elephant
> 
> 
> That mystifies me.  I can only conjecture that it is somehow related to your environment.
> 
> Even thought it may seem strange since that simplest of functionality doesn't work,
> you might wish to execute the test.  If, for example, there were an infinite loop in the 
> serializer when compiled in your environment, the larges suite of automated tests might 
> reveal that, as opposed to a problem with BDB, for example.
> 
> 
> 
-------------- next part --------------
An HTML attachment was scrubbed...
URL: <https://mailman.common-lisp.net/pipermail/elephant-devel/attachments/20060818/ee0a3570/attachment.html>


More information about the elephant-devel mailing list