[armedbear-devel] CLOS / D-M-C tests failure DMC-TEST-MC.1 help requested

Erik Huelsmann ehuels at gmail.com
Sat Aug 4 09:31:52 UTC 2012


Hi all,

In an attempt to solve ticket 201 and everything related (now that I'm into
it anyway), I've been staring at the failure of one of ABCL's own tests and
can't seem to understand what's going on.

So, DMC-TEST-MC.1 is failing because it uses a non-standard
METHOD-QUALIFIER. STD-COMPUTE-EFFECTIVE-METHOD throws an error when
matching the qualifiers of the defined methods with the method groups and
finds that the method combination isn't one of type long-form. However, the
problem is: it really *is* of type long form. However, this seems to happen
*only* in the compiled case....s

So, I inserted a trace:

(eval-when (:compile-toplevel)
   (trace mop::STD-COMPUTE-EFFECTIVE-METHOD))

and extracted the test form from outside the test case, in order to be able
to see the error triggered (RT just prints #<simple-error >):

(dmc-test-mc.1 :k 1)

The result is this backtrace:

     [java]   0: (MOP::STD-COMPUTE-EFFECTIVE-METHOD
#<STANDARD-GENERIC-FUNCTION DMC-TEST-MC.1 {10D3D99}>
                          #<METHOD-COMBINATION {69B861}> (#<STANDARD-METHOD
{C821EF}>))

which clearly shows the method combination is of type METHOD-COMBINATION
and not of type LONG-METHOD-COMBINATION.

I do understand that this is the error, but I can't for the life of me
figure out how we get into the situation that the method combination being
instantiated is of the resulting type METHOD-COMBINATION...

Any help on debugging or additional insights would be extremely appreciated!


Bye,

Erik.
-------------- next part --------------
An HTML attachment was scrubbed...
URL: <https://mailman.common-lisp.net/pipermail/armedbear-devel/attachments/20120804/af5c1cca/attachment.html>


More information about the armedbear-devel mailing list