[Ecls-list] regressions between ecl-12.7.1-ce653d88 and ecl-12.7.1-e90b2f12

Juan Jose Garcia-Ripoll juanjose.garciaripoll at gmail.com
Tue Oct 9 20:51:13 UTC 2012


On Mon, Oct 8, 2012 at 10:51 PM, Anton Vodonosov <avodonosov at yandex.ru>wrote:

> What deserve attention here are problems of loading cl-json.test and clem
> ASFD systems.
> Probably they are caused by the same error.
>
> I reproduced them in REPL like this:
>
>   #rm ~/.cache/common-lisp/
>
>    (require :cmp)
>    (ql:quickload :cl-json)
>    (ql:quickload :cl-json.test)
>

>    => stack overflow
>

This is due to something strange: SLOT-VALUE tries to go through the fast
route using a cache which is created for all standard classes. Otherwise it
calls slot-value-using-class which, for standard classes, is defined as
using slot-value. The weird thing is that in :cl-json.test this enters an
infinite loop because of a standard class for which the cache is not
defined, which leads me to think that finalize-instance is overriden (not
extended) by :cl-json, which is not legal.

In any case, we cannot allow that bogus code brings ECL down, so I have
coded a different version of those methods that leads to no infinite
recursion.


>    ;;;; the second problem
>    (ql:quickload :clem)
>
>     => stack overvlow (the first time you run this)
>          or "The function CLEM:ARRAY->SB8-MATRIX is undefined."
>          (if you restart ECL and run it again).
>

This problem is also gone now.

Juanjo

-- 
Instituto de Física Fundamental, CSIC
c/ Serrano, 113b, Madrid 28006 (Spain)
http://juanjose.garciaripoll.googlepages.com
-------------- next part --------------
An HTML attachment was scrubbed...
URL: <https://mailman.common-lisp.net/pipermail/ecl-devel/attachments/20121009/603bb980/attachment.html>


More information about the ecl-devel mailing list