[Ecls-list] [Maxima] segmentation fault with Maxima/ECL

Juan Jose Garcia-Ripoll juanjose.garciaripoll at googlemail.com
Sun Sep 21 09:32:58 UTC 2008


On Sun, Sep 21, 2008 at 12:38 AM, Robert Dodier <robert.dodier at gmail.com> wrote:
> I suspect the problem is something like an undetected stack overflow.
> One of the functions is max_min_var_degree_def_rec which is a
> memoizing function (as shown by its definition
> max_min_var_degree_def_rec[k] := ... instead of with parentheses).
> max_min_var_degree_def_rec is a recursive function so for large k
> it puts a lot of frames on a call stack (not sure if it is the Lisp stack
> or a stack managed by Maxima or what).

It does not seem this is the real problem from your gdb log. I have
seen much deeper recursion stacks before ECL barfs. The problem seems
to be deeper in the lisp code of either Maxima or ECL, because the
function that caused the error is ecl_current_readtable(). This
function detected that *readtable* has an invalid value and tried thus
to enter the debugger, but only after copying the default readtable,
which is corrupt. Both things, the fact that the lisp variable
*readtable* does not contain a valid readtable and the fact that the
fundamental readtable got corrupt are symptoms of something different,
I would say.

Juanjo

-- 
Instituto de Física Fundamental, CSIC
c/ Serrano, 113b, Madrid 28009 (Spain)
http://juanjose.garciaripoll.googlepages.com


More information about the ecl-devel mailing list