[elephant-devel] Defining a persistent class with a slot with an accessor invokes an error like "There is no class named CLASS-NAME."

Tomo Matsumoto tomoyuki28jp at gmail.com
Fri May 8 17:24:43 UTC 2009


Thanks for your time and effort.
Please let me know if you need further info or I can help you anything.

Tomo

On Fri, May 8, 2009 at 11:31 PM, Ian Eslick <eslick at media.mit.edu> wrote:
> We have been running into these problems off and on.  It must be
> related to code for the new schema evolution mechanism introduced in
> the 1.0 candidate branch.  I thought we had fixed these pathways, but
> I will endeavor to reproduce this problem.
>
> Thanks,
> Ian
>
> On May 7, 2009, at 8:51 AM, Tomo Matsumoto wrote:
>
>> With the latest codes from darcs, defining a persistent class with a
>> slot with an accessor invokes an error like "There is no class named
>> CLASS-NAME.".
>>
>> Here is an example.
>>
>> (open-store '(:BDB "/path/to/db"))
>> (defpclass new-class () ((slot1 :accessor slot1)))
>>
>> ; There is no class named NEW-CLASS.
>> ;    [Condition of type SIMPLE-ERROR]
>> ;
>> ; Restarts:
>> ;  0: [ABORT] Return to SLIME's top level.
>> ;  1: [TERMINATE-THREAD] Terminate this thread (#<THREAD "worker"
>> RUNNING {A99C9E9}>)
>> ;
>> ; Backtrace:
>> ;   0: (SB-PCL::REAL-ADD-METHOD #<STANDARD-GENERIC-FUNCTION SLOT1 (1)>
>> #<SB-MOP:STANDARD-READER-METHOD SLOT1, slot:SLOT1, ((CLASS
>> #<PERSISTENT-METACLASS NEW-CLASS>)) {A9A2B31}> NIL)
>> ;   1: (SB-PCL::FIX-SLOT-ACCESSORS #<PERSISTENT-METACLASS NEW-CLASS>
>> (#<ELEPHANT::PERSISTENT-DIRECT-SLOT-DEFINITION SLOT1>) SB-PCL::ADD
>> NIL)
>> ;   2: ((SB-PCL::FAST-METHOD SHARED-INITIALIZE :AFTER
>> (SB-PCL::STD-CLASS T)) #(17 NIL 5 NIL) #<unavailable argument>
>> #<PERSISTENT-METACLASS NEW-CLASS> T)[:EXTERNAL]
>> ;   3: ((LAMBDA (SB-PCL::.PV. SB-PCL::.NEXT-METHOD-CALL.
>> SB-PCL::.ARG0. SB-PCL::.ARG1. SB-INT:&MORE SB-PCL::.DFUN-MORE-CONTEXT.
>> SB-PCL::.DFUN-MORE-COUNT.)) #<unused argument> #<unused argument>
>> #<PERSISTENT-METACLASS NEW-CLASS> T -304735685 10)
>> ;   4: ((SB-PCL::FAST-METHOD SHARED-INITIALIZE :AROUND
>> (PERSISTENT-METACLASS T)) #<unavailable argument> #<unavailable
>> argument> #<unavailable argument> #<unavailable argument>)[:EXTERNAL]
>> ;   5: ((SB-PCL::FAST-METHOD MAKE-INSTANCE (CLASS)) #<unavailable
>> argument> #<unavailable argument> #<STANDARD-CLASS
>> PERSISTENT-METACLASS>)[:EXTERNAL]
>> ;   6: ((SB-PCL::FAST-METHOD SB-MOP:ENSURE-CLASS-USING-CLASS (NULL T))
>> #<unavailable argument> #<unavailable argument> NIL
>> NEW-CLASS)[:EXTERNAL]
>> ;   7: (SB-PCL::REAL-LOAD-DEFCLASS NEW-CLASS PERSISTENT-METACLASS NIL
>> ((:NAME SLOT1 :READERS (SLOT1) :WRITERS (#) ...)) NIL (SLOT1) ((SETF
>> SLOT1)) (SLOT1) NIL NIL)
>> ;   8: (SB-INT:SIMPLE-EVAL-IN-LEXENV (SB-PCL::LOAD-DEFCLASS (QUOTE
>> NEW-CLASS) (QUOTE PERSISTENT-METACLASS) (QUOTE NIL) (LIST (LIST* :NAME
>> # :READERS # :WRITERS ...)) (LIST) ...) #<NULL-LEXENV>)
>> ;   9: (SB-INT:SIMPLE-EVAL-IN-LEXENV (LET NIL (SB-PCL::LOAD-DEFCLASS
>> (QUOTE NEW-CLASS) (QUOTE PERSISTENT-METACLASS) (QUOTE NIL) (LIST #)
>> (LIST) ...)) #<NULL-LEXENV>)
>> ;  10: (SB-INT:SIMPLE-EVAL-IN-LEXENV (EVAL-WHEN (:LOAD-TOPLEVEL
>> :EXECUTE) (LET NIL (SB-PCL::LOAD-DEFCLASS # # # # # ...)))
>> #<NULL-LEXENV>)
>> ;  11: (SB-INT:SIMPLE-EVAL-IN-LEXENV (DEFPCLASS NEW-CLASS NIL ((SLOT1
>> :ACCESSOR SLOT1))) #<NULL-LEXENV>)
>>
>> Is that a bug in elephant?
>> I use SBCL 1.0.18 on Ubuntu Linux 9.04 32bit.
>>
>> Tomo
>>
>> _______________________________________________
>> 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