[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