Ask Your Question
3

Stack overflow in boolean test

asked 2019-09-25 11:42:43 -0600

Florentin Jaffredo gravatar image

updated 2019-09-25 14:49:04 -0600

Using SageMath 8.8, I encountered a strange error involving boolean tests. The following code reproduces the issue:

x, y = var('x, y')
assume(x>0)
assume(y>0)
bool(y*(x-y)==0)

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

This code should obviously return False. Changing y*(x-y) to x*(y-x) indeed returns False, which means x and y cannot be exchanged. Without the assumptions, the code works as expected.

I initially thought it was due to my Sage installation, but running this code on https://sagecell.sagemath.org/ also produces asymmetric behavior, though no error comes out (just a blank answer).

Is this a known issue ? Can someone reproduce this ?

edit retag flag offensive close merge delete

Comments

Gives me a "core dumped" with 8.9.rc0. This is a bug.

FrédéricC gravatar imageFrédéricC ( 2019-09-25 12:55:02 -0600 )edit

Confirmed with Sage 8.9.rc0, as well as with Sage 8.3. So the bug has been there for a while...

eric_g gravatar imageeric_g ( 2019-09-25 15:02:41 -0600 )edit

With 8.9.rc1+Trac#28534, I get a Sage crash ("Segmentation error").

Nice one...

Emmanuel Charpentier gravatar imageEmmanuel Charpentier ( 2019-09-25 23:05:30 -0600 )edit

1 answer

Sort by » oldest newest most voted
2

answered 2019-09-25 17:12:01 -0600

tmonteil gravatar image

This is clearly a bug, thanks for reporting, it is now trac ticket 28538

edit flag offensive delete link more

Your Answer

Please start posting anonymously - your entry will be published after you log in or create a new account.

Add Answer

Question Tools

1 follower

Stats

Asked: 2019-09-25 11:42:43 -0600

Seen: 55 times

Last updated: Sep 25