[elephant-devel] elephant-1.0 on Lispworks+win32; bdb; postmodern

Ian Eslick eslick at media.mit.edu
Wed Jan 28 05:37:49 UTC 2009


Frank,

Thank you!  This is great feedback.

I was seeing a deserialization error recently as well and believed I  
had fixed it.  I made some optimizations to the serializer  
implementation (src/memutil) that may cause problems for Lispworks but  
were fixed for others like SBCL, Clozure, etc.

Did this happen on the first open-controller or somewhere in the  
middle of the tests?

You should post the fiveAM bug, if that is indeed what it is, to the  
appropriate list.

I'll try to get to this in the next few days.

Ian


On Jan 27, 2009, at 6:04 PM, Frank Schorr wrote:

> installed elephant-1.0 on Lispworks+win32;
> tested bdb and postmodern
>
> 1. in file gc.lisp defgeneric walk-heap defines a method on base- 
> string.
>   error: error base-string is not a class
>   I deleted this method.
>
> 2. arnesi must be loaded...
>   error: package lexical not found.
>   I replaced all occurences in file lexenv.lisp as follows (not  
> knowing exactly what I was doing)
>   lexical::environmet --> environment::environment
>   lexical::functions  --> compiler::functions
>   lexical::variables  --> compiler::variables
>
>   this makes fiveAM compile and load (and test itself ?)
>
> 3. test base-strings in testserializer.lisp generates this error  
> upon asdf:load-op:
>   Saw character U+0080 with syntax type invalid.
>   I deleted this test
>
>
>
> 4. BDB-tests
>
>   error in elephant-db-path
>   (ARRAY NIL) is an illegal type specifier.
>   arg directory comes in as a string.
>   I modified the code so that (merge-pathnames directory (make- 
> pathname :name "%ELEPHANT"))
>   is executed.
>
>   A new bdb is created in the directory
>
> 5. The condition #<ELEPHANT-DESERIALIZATION-ERROR 22141CE8> occurred
>
> Call to DESERIALIZE (offset 362)
>  ELEPHANT::BS       : #S(ELEPHANT-MEMUTIL:BUFFER-STREAM :BUFFER  
> #<Pointer to type (:UNSIGNED :CHAR) = #x00941F78> :SIZE 45 :POSITION  
> 2843 :LENGTH 80)
>  ELEPHANT::SC       : #<BDB-STORE-CONTROLLER c:\lisp\libraries 
> \elephant-1.0\tests\testdb\>
>  ELEPHANT::OID-ONLY : NIL
>  DBG::G             : #<WIN32::EXCEPTION 21667B6B>
>  ELEPHANT::E        : #<WIN32::EXCEPTION 21667B6B>
>
> Call to (METHOD ELEPHANT::PERSISTENT-SLOT-READER (DB-BDB::BDB-STORE- 
> CONTROLLER T T)) (offset 180)
>
> Call to CLOS::METHOD-COMBINATION-TEMPLATE (offset 45)
>
> Call to (METHOD CLOS::DYNAMIC-SLOT-VALUE-USING-SLOTD (T T)) (offset  
> 120)
>  CLOS::INSTANCE : #<BDB-INDEXED-BTREE oid:-3>
>  CLOS::SLOTD    : #<ELEPHANT::PERSISTENT-EFFECTIVE-SLOT-DEFINITION  
> DB-BDB::INDICES 2226987F>
>
> Call to (METHOD SHARED-INITIALIZE :AFTER (DB-BDB::BDB-INDEXED-BTREE  
> T)) (offset 14)
>
> Call to CLOS::METHOD-COMBINATION-TEMPLATE (offset 152)
>
> Call to (HARLEQUIN-COMMON-LISP:SUBFUNCTION CALL-NEXT-METHOD (METHOD  
> SHARED-INITIALIZE :AROUND (PERSISTENT-OBJECT T))) (offset 201)
>
> Call to (METHOD SHARED-INITIALIZE :AROUND (PERSISTENT-OBJECT T))  
> (offset 499)
>  ELEPHANT::INSTANCE                       : #<BDB-INDEXED-BTREE  
> oid:-3>
>  ELEPHANT::SLOT-NAMES                     : T
>  ELEPHANT::INITARGS                       : (:FROM-OID -3 :SC #<BDB- 
> STORE-CONTROLLER c:\lisp\libraries\elephant-1.0\tests\testdb 
> \> :INDICES #<EQL Hash Table{0} 21666587>)
>  ELEPHANT::FROM-OID                       : -3
>  CLOS::.ISL.                              : :DONT-KNOW
>  DBG::G                                   : (#<Closure CLOS::METHOD- 
> COMBINATION-TEMPLATE 2165B392>)
>  DBG::G                                   : #<PERSISTENT-METACLASS  
> DB-BDB::BDB-INDEXED-BTREE 222217A7>
>  ELEPHANT::TRANSIENT-SLOTS                : (ELEPHANT::OID  
> ELEPHANT::SPEC DB-BDB::INDICES-CACHE)
>  ELEPHANT::CACHED-SLOTS                   : NIL
>  ELEPHANT::INDEXED-SLOTS                  : NIL
>  ELEPHANT::DERIVED-SLOTS                  : NIL
>  ELEPHANT::ASSOCIATION-END-SLOTS          : NIL
>  ELEPHANT::PERSISTENT-SLOTS               : (DB-BDB::INDICES)
>  CLASS                                    : #<PERSISTENT-METACLASS  
> DB-BDB::BDB-INDEXED-BTREE 222217A7>
>  ELEPHANT::PERSISTENT-INITIALIZABLE-SLOTS : (DB-BDB::INDICES)
>  ELEPHANT::SET-SLOTS                      : NIL
>
> Call to CLOS::METHOD-COMBINATION-TEMPLATE (offset 45)
>
> Call to CLOS::METHOD-COMBINATION-TEMPLATE (offset 79)
>
> Call to CLOS::NEXT-METHOD-CALL-2 (offset 87)
>  CONS               : (METHOD INITIALIZE-INSTANCE :AROUND  
> (PERSISTENT-OBJECT))
>  CLOS::NEXT-METHODS : (#<Closure CLOS::METHOD-COMBINATION-TEMPLATE  
> 2165B3C2>)
>  #:G174431          : #<BDB-INDEXED-BTREE oid:-3>
>  #:G174432          : (:FROM-OID -3 :SC #<BDB-STORE-CONTROLLER c: 
> \lisp\libraries\elephant-1.0\tests\testdb\> :INDICES #<EQL Hash  
> Table{0} 21666587>)
>
> Call to CLOS::METHOD-COMBINATION-TEMPLATE (offset 42)
>
> Call to CLOS::MAKE-INSTANCE-FROM-CLASS-1 (offset 452)
>  CLASS          : #<PERSISTENT-METACLASS DB-BDB::BDB-INDEXED-BTREE  
> 222217A7>
>  CLOS::INITARGS : (:FROM-OID -3 :SC #<BDB-STORE-CONTROLLER c:\lisp 
> \libraries\elephant-1.0\tests\testdb\> :INDICES #<EQL Hash Table{0}  
> 21666587>)
>
> Call to (HARLEQUIN-COMMON-LISP:SUBFUNCTION 2 (METHOD ELEPHANT::OPEN- 
> CONTROLLER (DB-BDB::BDB-STORE-CONTROLLER))) (offset 175)
>
> Call to (METHOD ELEPHANT::EXECUTE-TRANSACTION (DB-BDB::BDB-STORE- 
> CONTROLLER T)) (offset 741)
>  DB-BDB::SC                      : #<BDB-STORE-CONTROLLER c:\lisp 
> \libraries\elephant-1.0\tests\testdb\>
>  DB-BDB::TXN-FN                  : #<Closure ((METHOD ELEPHANT::OPEN- 
> CONTROLLER (DB-BDB::BDB-STORE-CONTROLLER)) . 2) 2165B1FA>
>  DBG::G                          : :DONT-KNOW
>  DB-BDB::TRANSACTION             : :DONT-KNOW
>  DB-BDB::PARENT                  : NIL
>  DB-BDB::ENVIRONMENT             : NIL
>  DB-BDB::RETRIES                 : 200
>  DB-BDB::DEGREE-2                : NIL
>  DB-BDB::READ-UNCOMMITTED        : NIL
>  DB-BDB::TXN-NOSYNC              : NIL
>  DB-BDB::TXN-NOWAIT              : NIL
>  DB-BDB::TXN-SYNC                : NIL
>  DB-BDB::SNAPSHOT                : NIL
>  DB-BDB::INHIBIT-ROLLBACK-FN     : NIL
>  CLOS::.ISL.                     : :DONT-KNOW
>  DB-BDB::ENV                     : #<Pointer to type :VOID =  
> #x016C4500>
>  COUNT                           : 0
>  DB-BDB::SUCCESS                 : NIL
>  DB-BDB::TXN                     : #<Pointer to type :VOID =  
> #x016C6C90>
>  DB-BDB::RESULT                  : NIL
>  ELEPHANT::*CURRENT-TRANSACTION* : (#<BDB-STORE-CONTROLLER c:\lisp 
> \libraries\elephant-1.0\tests\testdb\> #<Pointer to type :VOID =  
> #x016C6C90> NIL)
>  *STORE-CONTROLLER*              : #<BDB-STORE-CONTROLLER c:\lisp 
> \libraries\elephant-1.0\tests\testdb\>
>  DBG::G                          : #<Closure ((METHOD  
> ELEPHANT::EXECUTE-TRANSACTION (DB-BDB::BDB-STORE-CONTROLLER T)) . 2)  
> 2187D8B2>
>  CONDITIONS::*HANDLER-CLUSTERS*  : (((CONDITION . #<Closure #  
> 2187D8B2>)) ((WARNING . EDITOR::EDITOR-EVALUATION-WARNING)) ((END-OF- 
> FILE . #<Closure # 2216AB22>) (READER-ERROR . #<Closure # 2187DD82>)))
>
> Call to (METHOD ELEPHANT::OPEN-CONTROLLER (DB-BDB::BDB-STORE- 
> CONTROLLER)) (offset 2211)
>
> Call to CLOS::METHOD-COMBINATION-TEMPLATE (offset 62)
>
> Call to OPEN-STORE (offset 66)
>
> Call to DO-BACKEND-TESTS (offset 106)
>  SPEC               : (:BDB "c:\\lisp\\libraries\\elephant-1.0\\tests 
> \\testdb\\")
>  *STORE-CONTROLLER* : NIL
>
> Call to EVAL (offset 113)
>  EXP : (DO-BACKEND-TESTS)
>
>
>
> 6. turning now to postmodern:
>
>
> The condition #<ELEPHANT-DESERIALIZATION-ERROR 2009F808> occurred
>  1 (continue) retry db-postmodern transaction
>  2 DB-POSTMODERN::ABORT-TRANSACTION
>  3 (abort) Abort job 8 :(BIND-STANDARD-STREAMS-AND-EXECUTE  
> #<EDITOR::EDITOR-OUTPUT-STREAM #<EDITOR:BUFFER Background Output>  
> 2190405F> (FUNCALL-BACKGROUND-JOB-AUX #<CAPI:EDITOR-PANE CAPI:EDITOR- 
> PANE  2198348B> BACKGROUND-REGION-EVAL (# # # # T NIL NIL)))
>
> Type :b for backtrace, :c <option number> to proceed,  or :? for  
> other options
>
> ELE-TESTS 1 : 1 > :b :verbose
> Call to DESERIALIZE (offset 362)
>  ELEPHANT::BS       : #S(ELEPHANT-MEMUTIL:BUFFER-STREAM :BUFFER  
> #<Pointer to type (:UNSIGNED :CHAR) = #x0039FBD8> :SIZE 45 :POSITION  
> 2844 :LENGTH 80)
>  ELEPHANT::SC       : #<POSTMODERN-STORE-CONTROLLER (POSTGRESQL  
> 127.0.0.1 elepm postgres )>
>  ELEPHANT::OID-ONLY : NIL
>  DBG::G             : #<CONDITIONS::COERCE-TO-CONDITION-ERROR  
> 2009C9F3>
>  ELEPHANT::E        : #<CONDITIONS::COERCE-TO-CONDITION-ERROR  
> 2009C9F3>
>
> Call to DB-POSTMODERN::DESERIALIZE-FROM-DATABASE (offset 63)
>  DB-POSTMODERN::X         : #(17 0 0 0 0 13 9 3 0 0 0 69 81 76 9 11  
> 0 0 0 67 79 77 77 79 78 45 76 73 83 80 4 0 0 0 64 4 0 0 128 63 ...)
>  DB-POSTMODERN::SC        : #<POSTMODERN-STORE-CONTROLLER  
> (POSTGRESQL 127.0.0.1 elepm postgres )>
>  DB-POSTMODERN::OIDS-ONLY : NIL
>  DB-POSTMODERN::OTHER     : #S(ELEPHANT-MEMUTIL:BUFFER- 
> STREAM :BUFFER #<Pointer to type (:UNSIGNED :CHAR) =  
> #x0039FBD8> :SIZE 45 :POSITION 2844 :LENGTH 80)
>
> Call to (METHOD DB-POSTMODERN::INTERNAL-GET-VALUE (T DB- 
> POSTMODERN::PM-BTREE)) (offset 369)
>  DB-POSTMODERN::KEY          : "3 INDICES"
>  DB-POSTMODERN::BT           : #<DB-POSTMODERN::PM-BTREE db- 
> table:slots 217BB097>
>  CLOS::.ISL.                 : :DONT-KNOW
>  DB-POSTMODERN::VALUE        : NIL
>  DB-POSTMODERN::EXISTS-P     : NIL
>  DB-POSTMODERN::*SC*         : #<POSTMODERN-STORE-CONTROLLER  
> (POSTGRESQL 127.0.0.1 elepm postgres )>
>  DB-POSTMODERN::*CONNECTION* : #<CL-POSTGRES:DATABASE-CONNECTION  
> 217BE883>
>  DB-POSTMODERN::RESULT       : #(17 0 0 0 0 13 9 3 0 0 0 69 81 76 9  
> 11 0 0 0 67 79 77 77 79 78 45 76 73 83 80 4 0 0 0 64 4 0 0 128 63 ...)
>
> Call to (METHOD GET-VALUE (T DB-POSTMODERN::PM-BTREE)) (offset 20)
>  DB-POSTMODERN::KEY : "3 INDICES"
>  DB-POSTMODERN::BT  : #<DB-POSTMODERN::PM-BTREE db-table:slots  
> 217BB097>
>  CLOS::.ISL.        : :DONT-KNOW
>
> Call to (METHOD ELEPHANT::PERSISTENT-SLOT-READER (DB- 
> POSTMODERN::POSTMODERN-STORE-CONTROLLER T T)) (offset 78)
>  DB-POSTMODERN::SC        : #<POSTMODERN-STORE-CONTROLLER  
> (POSTGRESQL 127.0.0.1 elepm postgres )>
>  DB-POSTMODERN::INSTANCE  : #<DB-POSTMODERN::PM-INDEXED-BTREE db- 
> table:schemas 217F8A77>
>  DB-POSTMODERN::NAME      : DB-POSTMODERN::INDICES
>  DB-POSTMODERN::OIDS-ONLY : :DONT-KNOW
>  CLOS::.ISL.              : :DONT-KNOW
>  DB-POSTMODERN::*SC*      : #<POSTMODERN-STORE-CONTROLLER  
> (POSTGRESQL 127.0.0.1 elepm postgres )>
>
> Call to CLOS::METHOD-COMBINATION-TEMPLATE (offset 45)
>
> Call to (METHOD CLOS::DYNAMIC-SLOT-VALUE-USING-SLOTD (T T)) (offset  
> 120)
>  CLOS::INSTANCE : #<DB-POSTMODERN::PM-INDEXED-BTREE db-table:schemas  
> 217F8A77>
>  CLOS::SLOTD    : #<ELEPHANT::PERSISTENT-EFFECTIVE-SLOT-DEFINITION  
> DB-POSTMODERN::INDICES 22346B0B>
>
> Call to (METHOD GET-INDEX (DB-POSTMODERN::PM-INDEXED-BTREE T))  
> (offset 16)
>  DB-POSTMODERN::BT         : #<DB-POSTMODERN::PM-INDEXED-BTREE db- 
> table:schemas 217F8A77>
>  DB-POSTMODERN::INDEX-NAME : ELEPHANT::BY-NAME
>  CLOS::.ISL.               : :DONT-KNOW
>
> Call to (METHOD ELEPHANT::ENSURE-INDEX (INDEXED-BTREE T)) (offset 27)
>
> Call to (HARLEQUIN-COMMON-LISP:SUBFUNCTION 2 (METHOD ELEPHANT::OPEN- 
> CONTROLLER :AFTER (STORE-CONTROLLER))) (offset 65)
>
> Call to DB-POSTMODERN::EXECUTE-TRANSACTION-ONE-TRY (offset 169)
>  DB-POSTMODERN::SC                : #<POSTMODERN-STORE-CONTROLLER  
> (POSTGRESQL 127.0.0.1 elepm postgres )>
>  DB-POSTMODERN::TXN-FN            : #<Closure ((METHOD  
> ELEPHANT::OPEN-CONTROLLER :AFTER (STORE-CONTROLLER)) . 2) 217F216A>
>  DB-POSTMODERN::ALWAYS-ROLLBACK   : NIL
>  DB-POSTMODERN::TRAN              : #<POSTMODERN::TRANSACTION-HANDLE  
> 217F70BB>
>  DB-POSTMODERN::COMMITED          : NIL
>  DB-POSTMODERN::*TXN-VALUE-CACHE* : NIL
>
> Call to (METHOD ELEPHANT::EXECUTE-TRANSACTION (DB- 
> POSTMODERN::POSTMODERN-STORE-CONTROLLER T)) (offset 889)
>  DB-POSTMODERN::SC               : #<POSTMODERN-STORE-CONTROLLER  
> (POSTGRESQL 127.0.0.1 elepm postgres )>
>  DB-POSTMODERN::TXN-FN           : #<Closure ((METHOD ELEPHANT::OPEN- 
> CONTROLLER :AFTER (STORE-CONTROLLER)) . 2) 217F216A>
>  DBG::G                          : :DONT-KNOW
>  DB-POSTMODERN::ALWAYS-ROLLBACK  : NIL
>  DB-POSTMODERN::RETRY-CLEANUP-FN : NIL
>  DB-POSTMODERN::RETRIES          : 200
>  CLOS::.ISL.                     : :DONT-KNOW
>  POSTMODERN:*DATABASE*           : #<CL-POSTGRES:DATABASE-CONNECTION  
> 217BE883>
>  DB-POSTMODERN::TRY              : 200
>  DBG::G                          : #<Closure ((METHOD  
> ELEPHANT::EXECUTE-TRANSACTION (DB-POSTMODERN::POSTMODERN-STORE- 
> CONTROLLER T)) . 5) 217F20AA>
>  DBG::G                          : #<Function ((METHOD  
> ELEPHANT::EXECUTE-TRANSACTION (DB-POSTMODERN::POSTMODERN-STORE- 
> CONTROLLER T)) . 4) 222D653A>
>  DBG::G                          : #<Closure ((METHOD  
> ELEPHANT::EXECUTE-TRANSACTION (DB-POSTMODERN::POSTMODERN-STORE- 
> CONTROLLER T)) . 3) 217F20C2>
>  CONDITIONS::*RESTART-CLUSTERS*  : ((#<RESTART ABORT 2188E04F>)  
> (#<RESTART ABORT 2188E2B7>) (#<RESTART DB-POSTMODERN::RETRY- 
> TRANSACTION 2009F7AB> #<RESTART DB-POSTMODERN::ABORT-TRANSACTION  
> 2009F77B>) (#<RESTART ABORT 2009F73F>) (#<RESTART ABORT 21E43D1F>))
>  DBG::G                          : #<Function ((METHOD  
> ELEPHANT::EXECUTE-TRANSACTION (DB-POSTMODERN::POSTMODERN-STORE- 
> CONTROLLER T)) . 8) 222D6E7A>
>  CONDITIONS::*HANDLER-CLUSTERS*  : (((CL-POSTGRES:DATABASE-ERROR .  
> #<Function # 222D6E7A>)) ((WARNING . EDITOR::EDITOR-EVALUATION- 
> WARNING)) ((END-OF-FILE . #<Closure # 217F2062>) (READER-ERROR .  
> #<Closure # 2188F032>)))
>
> Call to CLOS::METHOD-COMBINATION-TEMPLATE (offset 146)
>
> Call to CLOS::NEXT-METHOD-CALL-2 (offset 87)
>  CONS               : (METHOD ELEPHANT::OPEN-CONTROLLER :AROUND (DB- 
> POSTMODERN::POSTMODERN-STORE-CONTROLLER))
>  CLOS::NEXT-METHODS : (#<Closure CLOS::METHOD-COMBINATION-TEMPLATE  
> 217F14C2>)
>  #:G174431          : #<POSTMODERN-STORE-CONTROLLER (POSTGRESQL  
> 127.0.0.1 elepm postgres )>
>  #:G174432          : NIL
>
> Call to (METHOD ELEPHANT::OPEN-CONTROLLER :AROUND (DB- 
> POSTMODERN::POSTMODERN-STORE-CONTROLLER)) (offset 61)
>  DB-POSTMODERN::SC          : #<POSTMODERN-STORE-CONTROLLER  
> (POSTGRESQL 127.0.0.1 elepm postgres )>
>  DBG::G                     : NIL
>  CLOS::.ISL.                : :DONT-KNOW
>  DBG::G                     : (#<Closure CLOS::METHOD-COMBINATION- 
> TEMPLATE 217F14C2>)
>  DB-POSTMODERN:*CACHE-MODE* : NIL
>
> Call to CLOS::METHOD-COMBINATION-TEMPLATE (offset 42)
>
> Call to OPEN-STORE (offset 66)
>
> Call to DO-BACKEND-TESTS (offset 106)
>  SPEC               : (:POSTMODERN (:POSTGRESQL "127.0.0.1" "elepm"  
> "postgres" ""))
>  *STORE-CONTROLLER* : NIL
>
> Call to EVAL (offset 113)
>  EXP : (DO-BACKEND-TESTS)
>
> Call to EDITOR::EDITOR-EVAL (offset 177)
>  EDITOR:BUFFER  : :DONT-KNOW
>  EDITOR::SEXP   : (DO-BACKEND-TESTS)
>  EDITOR::ERRORP : T
>
> eof
> __________________________________________________________________
> Deutschlands größte Online-Videothek schenkt Ihnen 12.000 Videos!*
> http://entertainment.web.de/de/entertainment/maxdome/index.html
>
>
> _______________________________________________
> elephant-devel site list
> elephant-devel at common-lisp.net
> http://common-lisp.net/mailman/listinfo/elephant-devel





More information about the elephant-devel mailing list