[elephant-devel] upgrade from 0.9 to 1.0

Frank Schorr franks-muc at web.de
Sun Jan 3 12:51:27 UTC 2010


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





More information about the elephant-devel mailing list