[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