[elephant-devel] trouble getting going (with open-store, ...)

Ian Eslick eslick at csail.mit.edu
Thu Oct 5 22:39:22 UTC 2006


Could be some odd case in asdf.  When you open a store, the appropriate
asdf file is called to load the backend code if it isn't loaded.  Try
loading the :elephant system instead of :ele-bdb, then doing open-store
and see what happens.

I'll test this on SBCL later tonight.

Ian

Red Daly wrote:
> Thank you for the quick and helpful response :).
>
> With your corrections, all tests passed and I seem to be able to open a
> functioning store!  However, life is not perfect yet.  The main problem
> I seem to be facing right now is when I attempt to load elephant using
> my slime environment (when calling (asdf:operate
> 'asdf:load-op :ele-bdb)).  For some reason, I lose my lisp connection.
> A sample transcript of a common slime session can be found here:
> http://paste.lisp.org/display/27406
>
> This is the point of failure of a similar session:
> (let ((store-spec '(:BDB "store")))
>    (ele:open-store store-spec))
> ; loading system definition from
> ; /home/red/code/edufacebook/elephant-0.6.0/ele-bdb.asd into
> ; #<PACKAGE "ASDF1189">
> ; registering #<SYSTEM ELE-BDB {B6DF6B9}> as ELE-BDB
> ---
> Lisp connection closed unexpectedly: exited abnormally with code 256
>
> This is perhaps a slime/sbcl/other bug, but so far I haven't seen
> anything like it, and since slime is so popular (and useful) perhaps
> others have seen this bug or know what to do about it.
>
> In the raw sbcl REPL I do not seem to have a problem, but only when I
> attempt to load ele-bdb.
>
> If you would like, I can post the problems I had with CMUCL when I have
> more time.  (off the top of my head, I remember package locking problems
> and also a problem loading cl-base64).  at the moment I am more
> concerned with getting a working system in SBCL with Slime, but I would
> like to help make elephant better however I can.
>
> -red daly
>
>
> On Thu, 2006-10-05 at 09:01 -0400, Ian Eslick wrote:
>   
>> I'm sorry if the website hasn't been updated (Robert, can you check
>> this?), but the tutorial should be updated to reflect the new (as of
>> 0.6.0) open-store protocol, which requires specification of the type of
>> backend you'll be using.  A specification is a list of two elements; a
>> backend type specification [:bdb, :clsql] and backend-specific store
>> information:
>>
>> (open-store '(:bdb "/home/user/db/testdb"))
>> (open-store '(:clsql (:sqlite3 "sqlite3-test.db"))
>> (open-store '(:clsql (:postgresql "localhost.localdomain" "test"
>> "postgres" "")))
>>
>> The tests should print a long list of test names, then return T.
>> To run the tests you need to follow the comments in elephant-tests.lisp:
>>
>> ;;
>> ;; GUIDE TO TESTING
>> ;;
>> ;; 1) Set *default-spec* to the above spec of your choice
>> ;; 2) Call (do-backend-tests) to test the standard API
>> ;; 3) To test migration: (do-migration-tests *default-spec*
>> <second-spec>) inserting a second
>> ;;    spec, typically a bdb spec or create another instance of a sql db
>> depending on
>> ;;    your configuration
>> ;; 4) A backend is green if it passes do-backend-tests and can
>> succesfully be
>> ;;    used as spec1 or spec2 argument in the migration test
>> ;;
>>
>> To set *default-spec* you need to do something like:
>>
>> (setq *default-spec* *testbdb-spec*)
>>
>> or
>>
>> (setq *default-spec* *testsqlite3-spec*)
>>
>> Can you list the various problems you had trying to get the system to
>> run?  We're working on useability for the next release and want to fix
>> as many of the inconveniences as possible.
>>
>> Thank you,
>> Ian
>>
>> Red Daly wrote:
>>     
>>> I have been trying to get Elephant up and running for a few days with
>>> little luck.  I have tried CMUCL and SBCL, with different unsuccessful
>>> outcomes.  During my latest attempt on SBCL, I seem to be able to call
>>> the following two lines without errors:
>>> (asdf:operate 'asdf:load-op :elephant)
>>> (asdf:operate 'asdf:load-op :ele-bdb)
>>>
>>> I then run the tests...
>>> (asdf:operate 'asdf:load-op :elephant-tests)
>>> (in-package :ele-tests)
>>> (setf *default-spec* "bdb")
>>> (do-backend-tests)
>>>
>>> do-backend-tests returns NIL.. which I interpret to be success?
>>>
>>>
>>> however, I am unable to open a store according to the instructions in
>>> the two tutorials on the common-lisp.net project site.  Here is an
>>> example attempt:
>>>
>>> * (open-store "store")
>>>
>>> debugger invoked on a SIMPLE-ERROR in thread
>>> #<THREAD "initial thread" {A7B93E1}>:
>>>   The assertion (CONSP ELEPHANT::SPEC) failed.
>>>
>>> Type HELP for debugger help, or (SB-EXT:QUIT) to exit from SBCL.
>>>
>>> restarts (invokable by number or by possibly-abbreviated name):
>>>   0: [CONTINUE] Retry assertion.
>>>   1: [ABORT   ] Exit debugger, returning to top level.
>>>
>>> (SB-KERNEL:ASSERT-ERROR (CONSP ELEPHANT::SPEC) NIL NIL)
>>> 0] backtrace
>>>
>>> 0: (SB-KERNEL:ASSERT-ERROR (CONSP ELEPHANT::SPEC) NIL NIL)
>>> 1: (OPEN-STORE "store" :RECOVER NIL :RECOVER-FATAL NIL :THREAD T)
>>> 2: (SB-INT:EVAL-IN-LEXENV (OPEN-STORE "store") #<NULL-LEXENV>)
>>> 3: (SB-EXT:INTERACTIVE-EVAL (OPEN-STORE "store"))
>>> 4: (SB-IMPL::REPL-FUN NIL)
>>> 5: ((LAMBDA ()))
>>> 6: ((LAMBDA ()))
>>> 7: (SB-IMPL::%WITH-REBOUND-IO-SYNTAX #<CLOSURE (LAMBDA #) {A7F28FD}>)
>>> 8: (SB-IMPL::TOPLEVEL-REPL NIL)
>>> 9: (SB-IMPL::TOPLEVEL-INIT)
>>> 10: ((LABELS SB-IMPL::RESTART-LISP))
>>>
>>>
>>> I would appreciate any help in getting elephant up and running.  I am
>>> running SBCL 0.9.8, ubuntu dapper, and bdb 4.3 (apt-installable
>>> version).  I will gladly supply more information to help determine the
>>> error of my ways.  I can't wait to try out elephant!
>>>
>>> Thanks sincerely,
>>> red daly
>>>
>>> _______________________________________________
>>> 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