Opened 2 years ago

Closed 2 years ago

#30353 closed defect (fixed)

Stack overflow during symbolic manipulations

Reported by: Thierry Monteil Owned by:
Priority: major Milestone: sage-9.2
Component: symbolics Keywords:
Cc: Merged in:
Authors: Thierry Monteil Reviewers: Marc Mezzarobba
Report Upstream: N/A Work issues:
Branch: dc46127 (Commits, GitHub, GitLab) Commit: dc4612747fca011a4d8abcf2fbc118e7be78f672
Dependencies: #30063 Stopgaps:

Status badges

Description

As reported on this ask question:

sage: a = var('a')
sage: assume(a>0)
sage: assume(a<1)
sage: f = integrate(x*log(1/(a*x+(1-x)^2)), x, 0, 1)

RuntimeError: ECL says: C-STACK overflow at size 1048576. Stack can probably be resized. Proceed with caution.
sage: f = integrate(x*log(1/(a*x+(1-x)*(1-x))), x, 0, 1, algorithm='sympy')
sage: f.simplify_full()

RuntimeError: ECL says: C-STACK overflow at size 1048576. Stack can probably be resized. Proceed with caution.
sage: f.limit(a=0)

RuntimeError: ECL says: C-STACK overflow at size 1048576. Stack can probably be resized. Proceed with caution.

Those errors are fixed in latest Maxima release, hence the goal of this ticket is mainly to ensure that the example will be included as a doctest to avoid further regression.

Change History (5)

comment:1 Changed 2 years ago by Thierry Monteil

Once #30063 is merged, i will make a patch to doctest that ticket.

comment:2 Changed 2 years ago by Thierry Monteil

Branch: u/tmonteil/stack_overflow_during_symbolic_manipulations

comment:3 Changed 2 years ago by Thierry Monteil

Authors: Thierry Monteil
Commit: dc4612747fca011a4d8abcf2fbc118e7be78f672
Status: newneeds_review

New commits:

dc46127#30353 : doctest for #30353

comment:4 Changed 2 years ago by Marc Mezzarobba

Reviewers: Marc Mezzarobba
Status: needs_reviewpositive_review

comment:5 Changed 2 years ago by Volker Braun

Branch: u/tmonteil/stack_overflow_during_symbolic_manipulationsdc4612747fca011a4d8abcf2fbc118e7be78f672
Resolution: fixed
Status: positive_reviewclosed
Note: See TracTickets for help on using tickets.