cmucl not liking :allocation :alien
Sean Champ <[email protected]>
| Newsgroups | gmane.lisp.clg.devel |
|---|---|
| Message-ID | <[email protected]> |
Hello,
While compiling clg, my CMUCL isn't liking ":allocation :alien"; it said:
:ALIEN fell through ECASE expression. Wanted one of (:CLASS :INSTANCE).
I've included a backtrace for it, at the end of this email.
I'm not sure what to do, for trying to debug this, to see why it's not
working out. But, I hope that it might be helpful, at least, if I can
offer notes, about what seems that it might be pertinent.
* The error is
- happening about the evaluation of
(defclass type-query (struct)
((type-number :allocation :alien :type type-number) ...)
(:metaclass proxy-class))
in gtype.lisp
- happening during
COMPUTE-SLOTS :AROUND (STANDARD-CLASS)
for the TYPE-QUERY class, which is defiend like so, as above.
* The STRUCT class is defined in proxy.lisp :
(defclass struct (proxy)
()
(:metaclass proxy-class)
(:copy %copy-struct)
(:free %free-struct))
and PROXY, PROXY-CLASS are also defined in proxy.lisp
* There is a DIRECT-SLOT-DEFINITION-CLASS method, specialized for
(PROXY-CLASS T) [defined in glib/proxy.lisp]
The method is made to return the DIRECT-ALIEN-SLOT-DEFINITION class,
when appropriate.
* The problematic 'allocation' slot is defined in that class,
DIRECT-ALIEN-SLOT-DEFINITION (in clg glib/proxy.lisp)
I have no idea why the MOP mechanisms, for that slot-definition
class, are maybe not taking effect.
* I've heard something about there being a PCL:COERCE-TO-PCL-CLASS
function, sometimes needed, for MOP-related stuff in PCL in CMUCL
* Someone in #lisp on freenode has mentioned that CMUCL's PCL has
been getting worked-on, somehow, lately; I'm not sure what the
working-on has entailed.
I hope this hasn't been "too much information" or too little;
regarding most of the notes, above, I'm hoping that they might, at
least, be of help, for "getting a fix" about stuff that may be related
to the problem
I'll short-cut my rambling, now, and get to the backtrace
Thanks,
--
Sean
Notes:
- this is happening with "CMU Common Lisp CVS release-18e-branch
+ minimal debian patches" current from Debian/Sid
- build.lisp is my own file (just containing the stuff to get the
pathnames right, and load clocc defsystem, then compile then load clg)
- this is happening while compiling clg glib/gtype.lisp
- this is happening about the definition of the clg TYPE-QUERY class
the error stuff follows:
:ALIEN fell through ECASE expression. Wanted one of (:CLASS :INSTANCE).
Restarts:
0: [CONTINUE] Return NIL from load of "../build.lisp".
1: [ABORT ] Return to Top-Level.
Debug (type H for help)
("DEFMETHOD COMPUTE-SLOTS :AROUND (STANDARD-CLASS)" #<unused-arg>
#S(PCL::FAST-METHOD-CALL
:FUNCTION #<Function "DEFMETHOD COMPUTE-SLOTS (PROXY-CLASS)" {485BA499}>
:PV-CELL (# . #)
:NEXT-METHOD-CALL #S(PCL::FAST-METHOD-CALL
:FUNCTION #
:PV-CELL NIL
:NEXT-METHOD-CALL #
:ARG-INFO #)
:ARG-INFO (1))
#<Proxy-Class TYPE-QUERY {48644BCD}>)
Source:
; File: target:pcl/std-class.lisp
(ECASE (SLOT-DEFINITION-ALLOCATION ESLOTD)
(:INSTANCE (INCF LOCATION))
(:CLASS
(LET* #
#
CELL)))
0] backtrace
0: ("DEFMETHOD COMPUTE-SLOTS :AROUND (STANDARD-CLASS)" #<unused-arg>
#S(PCL::FAST-METHOD-CALL
:FUNCTION #<Function "DEFMETHOD COMPUTE-SLOTS (PROXY-CLASS)"
{485BA499}>
:PV-CELL (# . #)
:NEXT-METHOD-CALL #S(PCL::FAST-METHOD-CALL
:FUNCTION #
:PV-CELL NIL
:NEXT-METHOD-CALL #
:ARG-INFO #)
:ARG-INFO (1))
#<Proxy-Class TYPE-QUERY {48644BCD}>)
1: (PCL::UPDATE-CLASS #<Proxy-Class TYPE-QUERY {48644BCD}> T)
2: (PCL::UPDATE-CLASS 2 #<Proxy-Class TYPE-QUERY {48644BCD}> T)[:EXTERNAL]
3: ("DEFMETHOD FINALIZE-INHERITANCE (PROXY-CLASS)" (#(NIL 18 17) . #())
#S(PCL::FAST-METHOD-CALL
:FUNCTION #<Function "DEFMETHOD FINALIZE-INHERITANCE (STD-CLASS)"
{10FAA709}>
:PV-CELL NIL
:NEXT-METHOD-CALL NIL
:ARG-INFO (1))
#<Proxy-Class TYPE-QUERY {48644BCD}>)
4: (PCL::UPDATE-CLASS #<Proxy-Class TYPE-QUERY {48644BCD}> NIL)
5: (PCL::UPDATE-CLASS 2 #<Proxy-Class TYPE-QUERY {48644BCD}> NIL)[:EXTERNAL]
6: ("DEFMETHOD SHARED-INITIALIZE :AFTER (STD-CLASS T)" (#(NIL 16 6 3) . #())
#<unused-arg> #<Proxy-Class TYPE-QUERY {48644BCD}> #<unused-arg> ...)
7: ("PRECOMPILE-RANDOM-CODE-SEGMENTS PCL" #<unused-arg> #<unused-arg>
#<Proxy-Class TYPE-QUERY {48644BCD}> T ...)
8: ("DEFMETHOD MAKE-INSTANCE (CLASS)" #<unused-arg> #<unused-arg>
#<Standard-Class PROXY-CLASS {48458EED}>
(:NAME TYPE-QUERY :DIRECT-SUPERCLASSES (#) :DIRECT-SLOTS ...))
9: ("DEFMETHOD ENSURE-CLASS-USING-CLASS (T NULL)" #<unused-arg> #<unused-arg>
TYPE-QUERY #<unavailable-arg> ...)
10: (PCL::REAL-LOAD-DEFCLASS TYPE-QUERY
PROXY-CLASS
(STRUCT)
((:NAME TYPE-NUMBER :READERS NIL :WRITERS ...)
(:NAME NAME :READERS NIL :WRITERS ...)
(:NAME CLASS-SIZE :READERS NIL :WRITERS ...)
(:NAME INSTANCE-SIZE :READERS NIL :WRITERS ...))
...)
11: (C::DO-EVAL-WHEN-STUFF (:COMPILE-TOPLEVEL :LOAD-TOPLEVEL :EXECUTE)
((DEFCLASS TYPE-QUERY # # #))
#<Closure Over Function "DEFUN PROCESS-FORM"
{4862D021}>
T)
12: (C::PROCESS-FORM
(EVAL-WHEN (:COMPILE-TOPLEVEL :LOAD-TOPLEVEL :EXECUTE)
(DEFCLASS TYPE-QUERY # # #))
(C::ORIGINAL-SOURCE-START 0 3))
13: (C::PROCESS-FORM 2
(EVAL-WHEN (:COMPILE-TOPLEVEL :LOAD-TOPLEVEL :EXECUTE)
(DEFCLASS TYPE-QUERY # # #))
(C::ORIGINAL-SOURCE-START 0 3))[:EXTERNAL]
14: (C::PROCESS-SOURCES #<Source-Info>)
15: (#:G0)
16: (C::SUB-COMPILE-FILE #<Source-Info> NIL)
17: (C::SUB-COMPILE-FILE 1 #<Source-Info> #<error printing object>)[:EXTERNAL]
18: (COMPILE-FILE "/usr/local/src/common-lisp/clg/clg-cvs-HEAD/glib/gtype.lisp"
:OUTPUT-FILE
"/usr/local/src/common-lisp/clg/clg-cvs-HEAD/glib/gtype.x86f"
:ERROR-FILE
...)
19: (MAKE::COMPILE-FILE-OPERATION #<FILE: gtype> :NEW-SOURCE-AND-DEPENDENTS)
20: (MAKE::COMPILE-AND-LOAD-OPERATION #<FILE: gtype> :NEW-SOURCE-AND-DEPENDENTS)
21: (MAKE::OPERATE-ON-COMPONENT #<FILE: gtype>
:COMPILE
:NEW-SOURCE-AND-DEPENDENTS)
22: (MAKE::OPERATE-ON-COMPONENT #<FILE: gtype>
:COMPILE
:NEW-SOURCE-AND-DEPENDENTS)
23: (MAKE::OPERATE-ON-COMPONENTS #<MODULE: glib>
:COMPILE
:NEW-SOURCE-AND-DEPENDENTS
NIL)
24: (MAKE::OPERATE-ON-COMPONENT #<MODULE: glib>
:COMPILE
:NEW-SOURCE-AND-DEPENDENTS)
25: (MAKE::OPERATE-ON-COMPONENT #<MODULE: glib>
:COMPILE
:NEW-SOURCE-AND-DEPENDENTS)
26: (MAKE::OPERATE-ON-COMPONENTS #<DEFSYSTEM: clg>
:COMPILE
:NEW-SOURCE-AND-DEPENDENTS
NIL)
27: (MAKE::OPERATE-ON-COMPONENT #<DEFSYSTEM: clg>
:COMPILE
:NEW-SOURCE-AND-DEPENDENTS)
28: (MAKE::OPERATE-ON-COMPONENT #<DEFSYSTEM: clg>
:COMPILE
:NEW-SOURCE-AND-DEPENDENTS)
29: (#:G17)
30: (MAKE:OPERATE-ON-SYSTEM :CLG :COMPILE :FORCE NIL ...)[:OPTIONAL]
31: (MAKE:OPERATE-ON-SYSTEM :CLG :COMPILE :FORCE NIL ...)[:OPTIONAL]
32: (MAKE:OPERATE-ON-SYSTEM :CLG :COMPILE :FORCE NIL ...)[:OPTIONAL]
33: (COMMON-LISP::SLOLOAD
#<Stream for file "/usr/local/src/common-lisp/clg/build.lisp">)
34: (COMMON-LISP::INTERNAL-LOAD #p"../build.lisp"
#p"/usr/local/src/common-lisp/clg/build.lisp"
:ERROR
:SOURCE)
35: (COMMON-LISP::INTERNAL-LOAD #p"../build.lisp"
#p"/usr/local/src/common-lisp/clg/build.lisp"
:ERROR
NIL)
36: (LOAD "../build.lisp" :VERBOSE NIL :PRINT ...)
37: (EXTENSIONS:INTERACTIVE-EVAL (LOAD "../build.lisp"))
38: (COMMON-LISP::%TOP-LEVEL)
39: (COMMON-LISP::RESTART-LISP)
-------------------------------------------------------
This SF.Net email is sponsored by BEA Weblogic Workshop
FREE Java Enterprise J2EE developer tools!
Get your free copy of BEA WebLogic Workshop 8.1 today.
http://ads.osdn.com/?ad_id=4721&alloc_id=10040&op=click