#14677: Limit computation causes Sage to crash
-----------------------------+------------------------
       Reporter:  tmonteil   |        Owner:  burcin
           Type:  defect     |       Status:  new
       Priority:  major      |    Milestone:  sage-6.3
      Component:  symbolics  |   Resolution:
       Keywords:  maxima     |    Merged in:
        Authors:             |    Reviewers:
Report Upstream:  N/A        |  Work issues:
         Branch:             |       Commit:
   Dependencies:             |     Stopgaps:
-----------------------------+------------------------

Comment (by pbruin):

 Unfortunately not fixed by #13973, despite comment:5.  The crash appears
 to be related to the `domain: complex` setting used by Sage.  GDB shows
 that it is still the same infinite recursion as in comment:4.  This is
 possibly caused by the fact that Maxima uses Gruntz's algorithm, which was
 designed only for real functions.

 With a patched Sage version of Maxima (5.33.0.p1, see #15033) using ECL:
 {{{
 (%i1) f: (x^x-sin(x)^sin(x))/(x^3*log(x));
                                 x         sin(x)
                                x  - sin(x)
 (%o1)                          -----------------
                                     3
                                    x  log(x)
 (%i2) limit(f, x, 0);
 (%o2)                                 und
 (%i3) domain: complex;
 (%o3)                               complex
 (%i4) limit(f, x, 0);

 Maxima encountered a Lisp error:

  BINDING-STACK overflow at size 10240. Stack can probably be resized.

 Automatically continuing.
 To enable the Lisp debugger set *debugger-hook* to nil.
 Maxima encountered a Lisp error:

  Detected access to an invalid or protected memory address.

 Automatically continuing.
 To enable the Lisp debugger set *debugger-hook* to nil.

 ;;;
 ;;; Detected access to protected memory, also kwown as 'bus or
 segmentation fault'.
 ;;; Jumping to the outermost toplevel prompt
 ;;;
 }}}
 (repeated many times, then a core dump).

 Just for comparison, in a recent development version of Maxima (after
 5.33.0) using GCL:
 {{{
 (%i4) limit(f, x, 0);

 }}}
 (no error message, the answer is an empty line).  Finally, using SBCL:
 {{{
 (%i4) limit(f, x, 0);
 INFO: Binding stack guard page unprotected
 Binding stack guard page temporarily disabled: proceed with caution
 INFO: Binding stack guard page reprotected
 }}}
 (just once, then returns to prompt).

--
Ticket URL: <http://trac.sagemath.org/ticket/14677#comment:9>
Sage <http://www.sagemath.org>
Sage: Creating a Viable Open Source Alternative to Magma, Maple, Mathematica, 
and MATLAB

-- 
You received this message because you are subscribed to the Google Groups 
"sage-trac" group.
To unsubscribe from this group and stop receiving emails from it, send an email 
to [email protected].
To post to this group, send email to [email protected].
Visit this group at http://groups.google.com/group/sage-trac.
For more options, visit https://groups.google.com/d/optout.

Reply via email to