[elephant-devel] upgrade from 0.9 to 1.0

Plamen . plamen.usenet at gmail.com
Tue Jan 5 15:49:55 UTC 2010


Hello Frank, if you get Elephant & BDB running under LWW, I would be
interested in the result - see the LispWorks/Berkley post from last
month for details.

Regards
Plamen

On Sun, Jan 3, 2010 at 11:36 PM, Ian Eslick <eslick at media.mit.edu> wrote:
> 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
>
>
> _______________________________________________
> 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