find_root() in 10.4 vs 10.7
[EDIT TO ADD: This issue is now reported in Issues at the Github repository]
I just upgraded my Sage from 10.4 to 10.7 using the 3-manifolds package, but I have kept the old version for comparisons during the first days of the upgrade.
In the jupyter notebook running the 10.4 kernel the following code for value of an annuity runs without a hitch:
find_root(7000 == 5000*(1+0.045/12)^x, 0, 10000)
However in another notebook running the 10.7 kernel, the same code fails with no output and a message that the kernel has died and is restarting. The hardware/software platform is an old MacPro (ca. 2008) running MacOS 10.13 (High Sierra). I've had no trouble finding roots of ordinary polynomial functions on suitable intervals using either kernel.
My guess is confirmed when I run the same code in the REPL and get back:
------------------------------------------------------------------------
(no backtrace available)
------------------------------------------------------------------------
Unhandled SIGILL: An illegal instruction occurred.
This probably occurred because a *compiled* module has a bug
in it and is not properly wrapped with sig_on(), sig_off().
Python will now terminate.
------------------------------------------------------------------------
/usr/local/bin/sage: line 39: 88268 Illegal instruction: 4 /usr/bin/env PYTHONUSERBASE="$USERBASE" SSL_CERT_FILE="$SSL_CERT_FILE" "$SYMLINK"/venv/bin/sage "$@"
I learned from this asksage thread that reporting to trac.sagemath.org (that is, the equivalent at the Github repository) could be helpful.
By the way, I tried doctesting a few of the sage sources, and picked up many similar messages. Some tests completed successfully, some did not, but many failed with this SIGILL error. In light of that fact, it would seem these bugs can be fixed (albeit laboriously).
Many thanks, as usual to the folks of the 3-manifolds project!