[elephant-devel] linux-sbcl-64 report

Henrik Hjelte henrik at evahjelte.com
Thu Feb 8 13:40:44 UTC 2007


I checked elephant latest (2007-02-07 22:54:12) cvs on sbcl 64 bit
linux: I still need to do two changes I reported earlier to serializer2
to make the bignum, float and array tests work (I'm only running the
BerkeleyDB backend tests)

Remove the %bignum-ref code for sbcl (line 336) for two reasons, it
doesn't work and it doesn't cons so it is probably unnecessary.

Change line 177 to this: (if (< (abs frob) +2^31+) rather than check
against 2 hat 32. This is because the last bit gives a negative number,
since buffer-read-fixnum32 reads ints rather than uint.

There are still some errors (see below), I haven't looked into yet. Does
current cvs work on any other platform now, or are these just
sbcl/linux/64 problems?

Another change I needed to make, compiler options for gcc (line 112 of
elephant.asd) needs to be like this for me on linux.
   #+(or :X86-64) "-march=x86-64"

On the good side, I've finally been able to try elephant quite
successfully for my app!

/Henrik Hjelte


Current errors
--------------

Test INDEXING-WIPE-INDEX failed
Form: (PROGN
       (WHEN (CLASS-INDEXEDP-BY-NAME 'IDX-FIVE-DEL)
         (DISABLE-CLASS-INDEXING 'IDX-FIVE-DEL :ERRORP NIL)
         (SETF (FIND-CLASS 'IDX-FIVE-DEL) NIL))
       (DEFCLASS IDX-FIVE-DEL NIL
                 ((SLOT1 :INITARG :SLOT1 :INITFORM 1 :ACCESSOR SLOT1
                         :INDEX T))
                 (:METACLASS PERSISTENT-METACLASS))
       (WITH-TRANSACTION (:STORE-CONTROLLER *STORE-CONTROLLER*)
                         (MAKE-INSTANCE 'IDX-FIVE-DEL))
       (LET ((R1 (GET-INSTANCES-BY-VALUE 'IDX-FIVE-DEL 'SLOT1 1)))
         (DEFCLASS IDX-FIVE-DEL NIL
                   ((SLOT1 :INITARG :SLOT1 :INITFORM 1 :ACCESSOR SLOT1))
                   (:METACLASS PERSISTENT-METACLASS))
         (FORMAT T "r1 = ~A~%" R1)
         (FORMAT T "r1 = ~A~%"
                 (GET-INDEX
                  (GET-VALUE 'IDX-FIVE-DEL
                             (CONTROLLER-CLASS-ROOT *STORE-CONTROLLER*))
                  'SLOT1))
         (VALUES (EQ (LENGTH R1) 1)
                 (SIGNALS-ERROR
                  (GET-INSTANCES-BY-VALUE 'IDX-FIVE-DEL 'SLOT1 1))
                 (NULL
                  (GET-INDEX
                   (GET-VALUE 'IDX-FIVE-DEL
                              (CONTROLLER-CLASS-ROOT
*STORE-CONTROLLER*))
                   'SLOT1)))))
Expected values: T
                 T
                 T
Actual values: NIL
               T
               NIL.

Test PREPARES-BDB failed
Form: (PROGN
       (SETQ DB NIL)
       (IF
        (AND (FIND-PACKAGE :DB-BDB)
             (EQ (FIRST (ELEPHANT::CONTROLLER-SPEC *STORE-CONTROLLER*))
                 :BDB))
        (FINISHES (PREPARE-BDB))
        (PROGN
         (FORMAT T
                 "Berkeley DB not loaded, so not runnning test
prepares-bdb~%")
         T)))
Expected value: T
Actual value: NIL.
Berkeley db not loaded, so not runnning test test-seq1
 TEST-SEQ1BDB db not valid, so not runnning test test-seq2
 TEST-SEQ2Berkeley DB not open, so not runnning test cleanup-bdb
 CLEANSUP-BDB
2 out of 119 total tests failed: INDEXING-WIPE-INDEX, PREPARES-BDB.



-------------------------------------------------------------------------------
Errors BEFORE my patches:

Test BIGNUMS failed
Form: (ARE-NOT-NULL (IN-OUT-EQUAL (+ MOST-POSITIVE-FIXNUM 100))
                    (IN-OUT-EQUAL (- MOST-NEGATIVE-FIXNUM 100))
                    (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: #<TYPE-ERROR {10039B8E11}>.
 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: #<TYPE-ERROR {10039F14F1}>.
 BASE-STRINGS STRINGS SYMBOLS CHARS PATHNAMES CONSES HASH-TABLES-1
 HASH-TABLES-2 ARRAYS-1
Test ARRAYS-2 failed
Form: (LET ((ARR (MAKE-ARRAY '(3 4 5)))
            (VEC (MAKE-ARRAY 100 :ADJUSTABLE T :FILL-POINTER T))
            (SVEC (MAKE-ARRAY 100 :ADJUSTABLE NIL :FILL-POINTER NIL)))
        (SETF (AREF ARR 0 0 0) 'SYMB)
        (SETF (AREF ARR 1 2 3) 123132)
        (SETF (AREF ARR 2 3 4) "this is a longish string")
        (VECTOR-PUSH-EXTEND 123456789101112 VEC)
        (VECTOR-PUSH-EXTEND "mr t" VEC)
        (VECTOR-PUSH-EXTEND 'SYMBOLIC VEC)
        (LOOP FOR I FROM 0 TO 99 DO (SETF (SVREF SVEC I) (EXPT 2 I)))
        (ARE-NOT-NULL (IN-OUT-EQUALP ARR) (IN-OUT-EQUALP VEC)
                      (IN-OUT-EQUALP SVEC)
                      (TYPEP (IN-OUT-VALUE SVEC) 'SIMPLE-VECTOR)))
Expected values: T
                 T
                 T
                 T
Actual value: #<TYPE-ERROR {100341CF71}>.





More information about the elephant-devel mailing list