[elephant-devel] SQLite locking error / BDB multi-image support

Leslie P. Polzer leslie.polzer at gmx.net
Mon Feb 25 07:32:00 UTC 2008


> Why don't you send over stack traces and a more in-depth description
> of your setup.

Here's the BDB case.

Underlying setup is the same as in the SQLite scenario. Backtrace inline
at the bottom of this message (irrelevant parts cut).

I have a game engine and an administration backend, which are running
in a separate SBCL image each. Each one works fine in isolation, but
as soon as another opens the databases, the process started earlier
throws the backtrace below when it sends the next database request.
The new process can access the database without problems, though...

  Leslie


Berkeley DB error: DB_RUNRECOVERY: Fatal error, run database recovery

0: (BACKTRACE 536870911 #<SB-IMPL::STRING-OUTPUT-STREAM {D62E311}>)
1: (HUNCHENTOOT:GET-BACKTRACE #<unavailable argument>)
2: ((LAMBDA (COND)) #<ELEPHANT:BDB-DB-ERROR {D629509}>)
3: ((LAMBDA (COND)) #<ELEPHANT:BDB-DB-ERROR {D629509}>)
4: (SIGNAL #<ELEPHANT:BDB-DB-ERROR {D629509}>)
5: (ERROR ELEPHANT:BDB-DB-ERROR)
6: ((SB-PCL::FAST-METHOD ELEPHANT::EXECUTE-TRANSACTION
     (DB-BDB::BDB-STORE-CONTROLLER T))
    #<unavailable argument>
    #<unavailable argument>
    #<BDB-STORE-CONTROLLER /home/sky/mystic/db/world/>
    #<CLOSURE (LAMBDA #) {D629405}>)
7: ((SB-PCL::FAST-METHOD ELEPHANT:MAP-BTREE (T ELEPHANT:BTREE))
    #<unavailable argument>
    #<unavailable argument>
    #<unavailable argument>
    #<unavailable argument>)
8: (MYSTIC:MAP-CLASS* #<CLOSURE (LAMBDA #) {D6291C5}> MYSTIC:PLAYER)


Note: MAP-CLASS* is defined as

(defun map-class* (fn class)
  (loop for class in (cons class (moptilities:subclasses class))
        do (map-class fn class)))





More information about the elephant-devel mailing list