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

Red Daly reddaly at gmail.com
Thu Oct 5 23:52:11 UTC 2006


I am not sure if I follow entirely.  perhaps you can elaborate if I seem
to have misunderstood.  I think the following program just loads
the :elephant system and then calls open-store.  Is this what you mean?

(asdf:operate 'asdf:load-op :elephant)
(let ((store-spec '(:BDB "store")))
  (elephant:open-store store-spec))

This code causes a the same sort of SBCL disconnect (and exit code 256).
Strangely I only see these errors in Slime.  Since I am a lisp novice, I
do not know much about how to debug these problems myself.

thanks again,
red daly

P.S.  I have also posted this problem on the slime-devel mailing list in
case they have any insights/resolutions.



On Thu, 2006-10-05 at 18:39 -0400, Ian Eslick wrote:
> 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