[elephant-devel] upgrade from 0.9 to 1.0

Ian Eslick eslick at media.mit.edu
Sun Jan 3 22:36:06 UTC 2010


Hi Frank,

Have you tested with BDB?  I'm curious if it's a backend issue (the serialized byte-stream seems to be at fault; it's what's causing the condition to be asserted which itself fails).  

The other sanity check is to confirming no stale fasls and appropriate settings in my-config.sexp

I can probably take a look at this in depth this coming weekend, but I'm probably too busy this week.

Thank you,
Ian

On Jan 3, 2010, at 4:51 AM, Frank Schorr wrote:

> Hi Ian:
> 
> I'm currently revising my software and thought I should also upgrade my elephant from 0.9 to 1.0 
> using lispworks on win32.
> 
> Compiling was easy, apart from two problems related to base-string:
> 
> Error: BASE-STRING is not the name of a class
> when compiling walk-heap in in elephant-1.0/src/elephant/gc.lisp
> I commented out the method for base-string
> 
> Error while reading: Saw character U+0080 with syntax type invalid. 
> when compiling  deftest base-strings in elephant-1.0/tests/testserializer.lisp
> I commented out the deftest form
> 
> But calling open-store on a fresh postgres database does not work.
> 
> I removed the handler-case in (defun deserialize ... in serializer.lisp to let the debuger go down and compiled serializer2.lisp with (debug 3) to produce the backtrace below.
> There seems to be one issue with the initarg for the condition. 
> But the problem is that error is called at the t clause of the big cond, and I have no idea how to track this down any further .
> 
> What can I do to improve elephant 1.0 for Lispworks/win ?
> 
> Best regards
> Frank
> 
> 
> 
> 
> Error: The error 'MAKE-INSTANCE is called with keyword :TAG among the arguments (ELEPHANT-TYPE-DESERIALIZATION-ERROR :TAG 0) which is not one of (:CONDITION ELEPHANT::TYPE-TAG).'
> was raised while coercing (ELEPHANT-TYPE-DESERIALIZATION-ERROR :TAG 0) to a condition.
>  1 (continue) retry db-postmodern transaction
>  2 DB-POSTMODERN::ABORT-TRANSACTION
>  3 (abort) Abort job 5 :(BIND-STANDARD-STREAMS-AND-EXECUTE #<EDITOR::EDITOR-OUTPUT-STREAM #<EDITOR:BUFFER Background Output> 21863E3F> (FUNCALL-BACKGROUND-JOB-AUX #<CAPI:EDITOR-PANE CAPI:EDITOR-PANE  21AF8C8B> BACKGROUND-REGION-EVAL (# # # # T NIL NIL)))
> 
> Type :b for backtrace, :c <option number> to proceed,  or :? for other options
> 
> CL-USER 1 : 1 > :b :verbose
> Call to (SUBFUNCTION (LABELS ELEPHANT-SERIALIZER2::%DESERIALIZE) ELEPHANT-SERIALIZER2::DESERIALIZE) (offset 2164)
>  ELEPHANT-SERIALIZER2::BS                   : #S(ELEPHANT-MEMUTIL:BUFFER-STREAM :BUFFER #<Pointer to type (:UNSIGNED :CHAR) = #x0039FFB0> :SIZE 45 :POSITION 2844 :LENGTH 80)
>  ELEPHANT-SERIALIZER2::BS                   : #S(ELEPHANT-MEMUTIL:BUFFER-STREAM :BUFFER #<Pointer to type (:UNSIGNED :CHAR) = #x0039FFB0> :SIZE 45 :POSITION 2844 :LENGTH 80)
>  ELEPHANT-SERIALIZER2::TAG                  : 17
>  ELEPHANT-SERIALIZER2::ID                   : 0
>  ELEPHANT-SERIALIZER2::MAYBE-HASH           : NIL
>  DBG::|internal-flet-name-for-LOOKUP-ID|    : #<Closure (ELEPHANT-SERIALIZER2::DESERIALIZE LABELS ELEPHANT-SERIALIZER2::LOOKUP-ID) 218FE0FA>
>  DBG::|internal-flet-name-for-ADD-OBJECT|   : #<Closure (ELEPHANT-SERIALIZER2::DESERIALIZE LABELS ELEPHANT-SERIALIZER2::ADD-OBJECT) 218FE112>
>  DBG::|internal-flet-name-for-%DESERIALIZE| : #<Closure (ELEPHANT-SERIALIZER2::DESERIALIZE LABELS ELEPHANT-SERIALIZER2::%DESERIALIZE) 218FE0CA>
>  ELEPHANT-SERIALIZER2::SC                   : #<POSTMODERN-STORE-CONTROLLER (POSTGRESQL 127.0.0.1 testdb postgres %postgres%)>
>  ELEPHANT-SERIALIZER2::OID-ONLY             : NIL
> 
> Call to ELEPHANT-SERIALIZER2::DESERIALIZE (offset 375)
>  ELEPHANT-SERIALIZER2::BUF-STR              : #S(ELEPHANT-MEMUTIL:BUFFER-STREAM :BUFFER #<Pointer to type (:UNSIGNED :CHAR) = #x0039FFB0> :SIZE 45 :POSITION 2844 :LENGTH 80)
>  ELEPHANT-SERIALIZER2::SC                   : #<POSTMODERN-STORE-CONTROLLER (POSTGRESQL 127.0.0.1 testdb postgres %postgres%)>
>  ELEPHANT-SERIALIZER2::OID-ONLY             : NIL
>  DBG::OID-ONLY                              : T
>  ELEPHANT-SERIALIZER2::BUF-STR              : #S(ELEPHANT-MEMUTIL:BUFFER-STREAM :BUFFER #<Pointer to type (:UNSIGNED :CHAR) = #x0039FFB0> :SIZE 45 :POSITION 2844 :LENGTH 80)
>  ELEPHANT-SERIALIZER2::OID-ONLY             : NIL
>  ELEPHANT-SERIALIZER2::CIRCULARITY-VECTOR   : #()
>  DBG::|internal-flet-name-for-%DESERIALIZE| : #<Closure (ELEPHANT-SERIALIZER2::DESERIALIZE LABELS ELEPHANT-SERIALIZER2::%DESERIALIZE) 218FE0CA>
>  DBG::|internal-flet-name-for-ADD-OBJECT|   : #<Closure (ELEPHANT-SERIALIZER2::DESERIALIZE LABELS ELEPHANT-SERIALIZER2::ADD-OBJECT) 218FE112>
>  DBG::|internal-flet-name-for-LOOKUP-ID|    : #<Closure (ELEPHANT-SERIALIZER2::DESERIALIZE LABELS ELEPHANT-SERIALIZER2::LOOKUP-ID) 218FE0FA>
> 
> 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 testdb postgres %postgres%)>
>  DB-POSTMODERN::OIDS-ONLY : NIL
>  DB-POSTMODERN::OTHER     : #S(ELEPHANT-MEMUTIL:BUFFER-STREAM :BUFFER #<Pointer to type (:UNSIGNED :CHAR) = #x0039FFB0> :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 2133F92F>
>  CLOS::.ISL.                 : :DONT-KNOW
>  DB-POSTMODERN::VALUE        : NIL
>  DB-POSTMODERN::EXISTS-P     : NIL
>  DB-POSTMODERN::*SC*         : #<POSTMODERN-STORE-CONTROLLER (POSTGRESQL 127.0.0.1 testdb postgres %postgres%)>
>  DB-POSTMODERN::*CONNECTION* : #<CL-POSTGRES:DATABASE-CONNECTION 2134C41F>
>  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 2133F92F>
>  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 testdb postgres %postgres%)>
>  DB-POSTMODERN::INSTANCE  : #<DB-POSTMODERN::PM-INDEXED-BTREE db-table:schemas 2138F01B>
>  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 testdb postgres %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 2138F01B>
>  CLOS::SLOTD    : #<ELEPHANT::PERSISTENT-EFFECTIVE-SLOT-DEFINITION DB-POSTMODERN::INDICES 21369C9B>
> 
> Call to (METHOD GET-INDEX (DB-POSTMODERN::PM-INDEXED-BTREE T)) (offset 16)
>  DB-POSTMODERN::BT         : #<DB-POSTMODERN::PM-INDEXED-BTREE db-table:schemas 2138F01B>
>  DB-POSTMODERN::INDEX-NAME : ELEPHANT::BY-NAME
>  CLOS::.ISL.               : :DONT-KNOW
> 
> Call to (METHOD ELEPHANT::ENSURE-INDEX (INDEXED-BTREE T)) (offset 27)
> 
> Call to (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 testdb postgres %postgres%)>
>  DB-POSTMODERN::TXN-FN            : #<Closure ((METHOD ELEPHANT::OPEN-CONTROLLER :AFTER (STORE-CONTROLLER)) . 2) 21378012>
>  DB-POSTMODERN::ALWAYS-ROLLBACK   : NIL
>  DB-POSTMODERN::TRAN              : #<POSTMODERN::TRANSACTION-HANDLE 21382FE3>
>  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 testdb postgres %postgres%)>
>  DB-POSTMODERN::TXN-FN           : #<Closure ((METHOD ELEPHANT::OPEN-CONTROLLER :AFTER (STORE-CONTROLLER)) . 2) 21378012>
>  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 2134C41F>
>  DB-POSTMODERN::TRY              : 200
>  DBG::G                          : #<Closure ((METHOD ELEPHANT::EXECUTE-TRANSACTION (DB-POSTMODERN::POSTMODERN-STORE-CONTROLLER T)) . 5) 2137802A>
>  DBG::G                          : #<Function ((METHOD ELEPHANT::EXECUTE-TRANSACTION (DB-POSTMODERN::POSTMODERN-STORE-CONTROLLER T)) . 4) 213026A2>
>  DBG::G                          : #<Closure ((METHOD ELEPHANT::EXECUTE-TRANSACTION (DB-POSTMODERN::POSTMODERN-STORE-CONTROLLER T)) . 3) 21378042>
>  CONDITIONS::*RESTART-CLUSTERS*  : ((#<RESTART ABORT 218FD567>) (#<RESTART ABORT 218FD7CF>) (#<RESTART DB-POSTMODERN::RETRY-TRANSACTION 21345197> #<RESTART DB-POSTMODERN::ABORT-TRANSACTION 213451BB>) (#<RESTART ABORT 213451DF>) (#<RESTART ABORT 21B1398B>))
>  DBG::G                          : #<Function ((METHOD ELEPHANT::EXECUTE-TRANSACTION (DB-POSTMODERN::POSTMODERN-STORE-CONTROLLER T)) . 8) 2130275A>
>  CONDITIONS::*HANDLER-CLUSTERS*  : (((CL-POSTGRES:DATABASE-ERROR . #<Function # 2130275A>)) ((WARNING . EDITOR::EDITOR-EVALUATION-WARNING)) ((END-OF-FILE . #<Closure # 2135380A>) (READER-ERROR . #<Closure # 218FEA32>)))
> 
> 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 2133B46A>)
>  #:G174431          : #<POSTMODERN-STORE-CONTROLLER (POSTGRESQL 127.0.0.1 testdb postgres %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 testdb postgres %postgres%)>
>  DBG::G                     : NIL
>  CLOS::.ISL.                : :DONT-KNOW
>  DBG::G                     : (#<Closure CLOS::METHOD-COMBINATION-TEMPLATE 2133B46A>)
>  DB-POSTMODERN:*CACHE-MODE* : NIL
> 
> Call to CLOS::METHOD-COMBINATION-TEMPLATE (offset 42)
> 
> Call to OPEN-STORE (offset 66)
> 
> Call to EVAL (offset 113)
>  EXP : (OPEN-STORE *DB-SPEC*)
> 
> Call to EDITOR::EDITOR-EVAL (offset 177)
>  EDITOR:BUFFER  : :DONT-KNOW
>  EDITOR::SEXP   : (OPEN-STORE *DB-SPEC*)
>  EDITOR::ERRORP : T
> 
> ______________________________________________________
> GRATIS für alle WEB.DE-Nutzer: Die maxdome Movie-FLAT!
> Jetzt freischalten unter http://movieflat.web.de
> 
> 
> _______________________________________________
> 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