Lisp stack overflow



Am Samstag, den 05.06.2010, 11:32 -0600 schrieb Robert Dodier:
> On 6/4/10, Barton Willis <willisb at unk.edu> wrote:
> 
> > This is a bug; here is a related example:
> >
> >  (%i1) dpart(sin(a+b),1);
> >  Maxima encountered a Lisp error:
> 
> Seems to be a bug of recent origin; works OK in Maxima 5.20.0,
> not in 5.21.0.
> 
> The problem might or might not be in dpart, I can't tell;
> I can't get a useful stack trace out of GCL (no relevant info),
> Clisp (crash), or Clozure CL (crash).

The error seems to be triggered only with trigonometric functions.

(%i31) dpart(gamma(a+b),1);
(%o31) gamma(box(b+a))

(%i32) dpart(expintegral_ei(a+b),1);
(%o32) expintegral_ei(box(b+a))

(%i33) dpart(cot(a+b),1);
INFO: Control stack guard page unprotected
Control stack guard page temporarily disabled: proceed with caution

(%i34) dpart(tan(a+b),1);
INFO: Control stack guard page unprotected
Control stack guard page temporarily disabled: proceed with caution

It is interesting that for an atom as an argument we get the following:

(%i35) dpart(sin(a),1);
(%o35) -sin(-box(a))

(%i36) dpart(cos(a),1);
(%o36) cos(-box(a))

(%i37) dpart(tan(a),1);
(%o37) -tan(-box(a))

Dieter Kaiser