[elephant-devel] Opening new database in unstable

Robert L. Read read at robertlread.net
Sat Jun 14 20:24:36 UTC 2008


The Elephant-unstable branch is currently broken for all non-bdb builds.

I suspect this is some confusion in the way things have been checked in.

I am trying to reconstruct what happened.  I find it a lot harder to
figure things like this out in darcs than in subversion or cvs.

In all probability, Ian or I made relatively simple error that should be
easy to fix once we have identified it.

Since it is broken for postmodern, I suspect that when we fix it, we
will have fixed it for SQLite3, but I have not actually run those tests
in a while --- my previous statement that it worked for me was with an
erroneous version.



On Fri, 2008-06-13 at 19:58 -0500, Sebastian Georges wrote:
> With pleasure!
> The file store2328.db gets created with open-store, and I run SBCL
> 1.0.11.debian under ubuntu.
> 
> (require 'elephant)
> (defparameter *CONNECTION-SPEC*'(:clsql (:sqlite3
> "/home/seb/projects/timetracker-all/store2328.db")))
> (elephant:open-store *CONNECTION-SPEC*)
> 
> 
> When attempting to
> set the slot's value to #<SQL-BTREE oid:1> (SETF of SLOT-VALUE), the
> slot DB-CLSQL::CLASS-ROOT is missing from the object
> #<SQL-STORE-CONTROLLER (SQLITE3
>                         /home/seb/projects/timetracker-all/store2328.db)>.
>    [Condition of type SIMPLE-ERROR]
> 
> Restarts:
>  0: [ABORT] Return to SLIME's top level.
>  1: [TERMINATE-THREAD] Terminate this thread (#<THREAD
> "repl-thread" {B025FA1}>)
> 
> Backtrace:
>   0: ((SB-PCL::FAST-METHOD SLOT-MISSING (T #1="#<...>" . #1#))
>       #<unused argument>
>       #<unused argument>
>       #<unused argument>
>       #<SQL-STORE-CONTROLLER (SQLITE3
>                               /home/seb/projects/timetracker-all/store2328.db)>
>       DB-CLSQL::CLASS-ROOT
>       SETF
>       #<SQL-BTREE oid:1>)
>   1: ((SB-PCL::FAST-METHOD SLOT-MISSING (T #1="#<...>" . #1#))
>       #<unavailable argument>
>       #<unavailable argument>
>       #<unavailable argument>
>       #<SQL-STORE-CONTROLLER (SQLITE3
>                               /home/seb/projects/timetracker-all/store2328.db)>
>       DB-CLSQL::CLASS-ROOT
>       SETF
>       #<SQL-BTREE oid:1>)
>   2: (SB-PCL::SET-SLOT-VALUE
>       #<SQL-STORE-CONTROLLER (SQLITE3
>                               /home/seb/projects/timetracker-all/store2328.db)>
>       DB-CLSQL::CLASS-ROOT
>       #<SQL-BTREE oid:1>)
>   3: ((SB-PCL::FAST-METHOD ELEPHANT::OPEN-CONTROLLER
>        (DB-CLSQL::SQL-STORE-CONTROLLER))
>       #(NIL NIL 1 NIL)
>       #<unavailable argument>
>       #<SQL-STORE-CONTROLLER (SQLITE3
>                               /home/seb/projects/timetracker-all/store2328.db)>)
>   4: ((LAMBDA (SB-PCL::.PV. SB-PCL::.NEXT-METHOD-CALL. #1="#<...>" .
> #1#))
>       #<unused argument>
>       #<unused argument>
>       #<SQL-STORE-CONTROLLER (SQLITE3
>                               /home/seb/projects/timetracker-all/store2328.db)>
>       -309242147
>       0)
>   5: (ELEPHANT:OPEN-STORE
>       (:CLSQL
>        (:SQLITE3 "/home/seb/projects/timetracker-all/store2328.db")))
>   6: (SB-INT:SIMPLE-EVAL-IN-LEXENV
>       (ELEPHANT:OPEN-STORE *CONNECTION-SPEC*)
>       #<NULL-LEXENV>)
>       Locals:
>         SB-DEBUG::ARG-0 = (ELEPHANT:OPEN-STORE *CONNECTION-SPEC*)
>         SB-DEBUG::ARG-1 = #<NULL-LEXENV>
>   7: (SWANK::EVAL-REGION
>       "(elephant:open-store *CONNECTION-SPEC*)
>      ")
>   8: ((LAMBDA ()))
>   9: (SWANK::TRACK-PACKAGE #<CLOSURE (LAMBDA #) {B05E9FD}>)
>  10: ((LAMBDA (SWANK-BACKEND::FN)) #<CLOSURE (LAMBDA #) {B05E9E5}>)
>  11: (SWANK::CALL-WITH-BUFFER-SYNTAX #<CLOSURE (LAMBDA #) {B05E9E5}>)
>  12: (SWANK::REPL-EVAL
>       "(elephant:open-store *CONNECTION-SPEC*)
>      ")
>  13: (SB-INT:SIMPLE-EVAL-IN-LEXENV
>       (SWANK:LISTENER-EVAL "(elephant:open-store *CONNECTION-SPEC*)
>      ")
>       #<NULL-LEXENV>)
>  14: ((LAMBDA ()))
>  15: ((LAMBDA (SWANK-BACKEND::HOOK SWANK-BACKEND::FUN))
>       #<FUNCTION SWANK:SWANK-DEBUGGER-HOOK>
>       #<CLOSURE (LAMBDA #) {B05E8B5}>)
>  16: ((LAMBDA ()))
>  17: ((LAMBDA (SWANK-BACKEND::HOOK SWANK-BACKEND::FUN))
>       #<FUNCTION SWANK:SWANK-DEBUGGER-HOOK>
>       #<FUNCTION (LAMBDA #) {BDC8855}>)
>  18: (SWANK::CALL-WITH-REDIRECTED-IO
>       #<SWANK::CONNECTION {AF36EA1}>
>       #<CLOSURE (LAMBDA #) {B05E80D}>)
>  19: (SWANK::CALL-WITH-CONNECTION
>       #<SWANK::CONNECTION {AF36EA1}>
>       #<FUNCTION (LAMBDA #) {BDC8855}>)
>  20: (SWANK::HANDLE-REQUEST #<SWANK::CONNECTION {AF36EA1}>)
>  21: (SWANK::REPL-LOOP #<SWANK::CONNECTION {AF36EA1}>)
>  22: (SWANK::REPL-LOOP #<SWANK::CONNECTION {AF36EA1}>)
>  23: (SWANK::CALL-WITH-BINDINGS NIL #<CLOSURE (LAMBDA #) {B0480A5}>)
>  24: ((FLET SB-THREAD::WITH-MUTEX-THUNK))
>  25: (SB-UNIX::CALL-WITH-LOCAL-INTERRUPTS
>       #<CLOSURE (FLET SB-UNIX::WITH-LOCAL-INTERRUPTS-THUNK)
> {B645609D}>
>       T)
>  26: ((FLET SB-UNIX::WITHOUT-INTERRUPTS-THUNK) T)
>  27: ((FLET SB-UNIX::RUN-WITHOUT-INTERRUPTS))
>  28: (SB-UNIX::CALL-WITHOUT-INTERRUPTS
>       #<CLOSURE (FLET SB-UNIX::WITHOUT-INTERRUPTS-THUNK) {B645618D}>)
>  29: (SB-THREAD::CALL-WITH-MUTEX
>       #<CLOSURE (FLET SB-THREAD::WITH-MUTEX-THUNK) {B6456215}>
>       #S(SB-THREAD:MUTEX
>          :NAME "thread result lock"
>          :%OWNER #<SB-THREAD:THREAD "repl-thread" {B025FA1}>
>          :STATE 1)
>       #<SB-THREAD:THREAD "repl-thread" {B025FA1}>
>       T)
>  30: ((LAMBDA ()))
>  31: ("foreign function: #x806398C")
>  32: ("foreign function: #x8051E61")
>  33: ("foreign function: #x805B44D")
>  34: ("foreign function: #xB7FB94FB")
> 
> Hope this helps.




More information about the elephant-devel mailing list