Closed
Description
As reported on this ask question:
sage: x, y = var('x, y')
sage: assume(x>0)
sage: assume(y>0)
sage: bool(y*(x-y)==0)
leads to (on my computer 8.9.rc1) a sequence of:
;;;
;;; Detected access to protected memory, also kwown as 'bus or segmentation fault'.
;;; Jumping to the outermost toplevel prompt
;;;
followed by a Segmentation fault
crash of Sage.
Or (as reported, on 8.8):
RuntimeError: ECL says: C-STACK overflow at size 1048576. Stack can probably be resized. Proceed with caution.
Exchanging x
and y
works correctly:
sage: x, y = var('x, y')
sage: assume(x>0)
sage: assume(y>0)
sage: bool(x*(y-x)==0)
False
Upstream ticket: https://sourceforge.net/p/maxima/bugs/3583/
Depends on #30063
Upstream: Fixed upstream, in a later stable release.
Component: symbolics
Author: Thierry Monteil
Branch/Commit: cb70171
Reviewer: Matthias Koeppe
Issue created by migration from https://trac.sagemath.org/ticket/28538