[closer-devel] slot-value-using-class stack overflow

Jeff Caldwell jdcal at yahoo.com
Thu Apr 14 13:26:07 UTC 2005


Hello,

I am working in LWL 4.3.

In closer-mop.lisp's cl:defmethod
slot-value-using-class (class standard-class), the
code

(if slotd
   (if (default-reader slotd)
      (slot-value-using-class class object slotd)
....

causes recursion and stack overflow when my code,
which uses c2mop, specializes slot-value-using-class
with a class inheriting from
standard-effective-slot-definition. My
slot-value-using-class is called first. When I
call-next-method, c2mop's slot-value-using-class is
called. The recursive call above reinvokes my code. A
first stab at a work around for the code above fixes
the recursion:

       (slot-value-using-class 
         (find-class 'standard-class) object slotd)

Also, I tried to implement slot attributes as
definined in AMOP pp.83-90 (or close to those pages,
that's from memory). I ended up with a condition where
code somewhere was trying to access the attributes
slot defined in attributes-mixin. However, the code
was trying to get the slot from another slot instance,
which caused the condition to be signaled. Changing my
code's package file to use CLOS instead of CLOSER-MOP,
i.e. going back to the straight LW MOP, fixed
everything. I didn't have time to nail that problem
down any further.

Jeff Caldwell


		
__________________________________ 
Do you Yahoo!? 
Make Yahoo! your home page 
http://www.yahoo.com/r/hs



More information about the closer-devel mailing list