In fact I don't understand alarm(...) at all. Maybe it works better on linux or older OS X releases, but on the OS X machines to which I have access, it feels broken. If I do:
sage: alarm(0.3) then after 0.3 seconds I see a message KeyboardInterrupt escaped interact() That's fine. But then the next command I issue tends to get interrupted: ┌────────────────────────────────────────────────────────────────────┐ │ SageMath version 10.3.beta2, Release Date: 2023-12-13 │ │ Using Python 3.11.6. Type "help()" for help. │ └────────────────────────────────────────────────────────────────────┘ ┏━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━┓ ┃ Warning: this is a prerelease version, and it may be unstable. ┃ ┗━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━┛ sage: alarm(0.3) sage: KeyboardInterrupt escaped interact() sage: identity_matrix(10) --------------------------------------------------------------------------- AlarmInterrupt Traceback (most recent call last) Cell In[2], line 1 ----> 1 identity_matrix(Integer(10)) ... Why? The alarm should have already happened. As I said before, if I exit Sage, then it does not do so gracefully. Furthermore, if instead of exiting I issue a second alarm, Sage crashes: ┌────────────────────────────────────────────────────────────────────┐ │ SageMath version 10.3.beta2, Release Date: 2023-12-13 │ │ Using Python 3.11.6. Type "help()" for help. │ └────────────────────────────────────────────────────────────────────┘ ┏━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━┓ ┃ Warning: this is a prerelease version, and it may be unstable. ┃ ┗━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━┛ sage: alarm(0.3) sage: KeyboardInterrupt escaped interact() sage: alarm(0.3) sage: KeyboardInterrupt escaped interact() Error in sys.excepthook: Traceback (most recent call last): File "/usr/local/Cellar/python@3.11/3.11.6_1/Frameworks/Python.framework/Versions/3.11/lib/python3.11/pathlib.py", line 1250, in is_dir return S_ISDIR(self.stat().st_mode) ^^^^^^^^^ AttributeError: 'str' object has no attribute 'stat' Original exception was: Traceback (most recent call last): File "/Users/palmieri/Sage/TESTING/sage-10.3.beta2/src/bin/sage-ipython", line 16, in <module> app.start() File "/Users/palmieri/Sage/TESTING/sage-10.3.beta2/local/var/lib/sage/venv-python3.11/lib/python3.11/site-packages/IPython/terminal/ipapp.py", line 317, in start self.shell.mainloop() File "/Users/palmieri/Sage/TESTING/sage-10.3.beta2/local/var/lib/sage/venv-python3.11/lib/python3.11/site-packages/IPython/terminal/interactiveshell.py", line 899, in mainloop self.restore_term_title() File "/Users/palmieri/Sage/TESTING/sage-10.3.beta2/local/var/lib/sage/venv-python3.11/lib/python3.11/site-packages/IPython/terminal/interactiveshell.py", line 602, in restore_term_title restore_term_title() File "/Users/palmieri/Sage/TESTING/sage-10.3.beta2/local/var/lib/sage/venv-python3.11/lib/python3.11/site-packages/IPython/utils/terminal.py", line 115, in restore_term_title _restore_term_title() File "/Users/palmieri/Sage/TESTING/sage-10.3.beta2/local/var/lib/sage/venv-python3.11/lib/python3.11/site-packages/IPython/utils/terminal.py", line 83, in _restore_term_title_xterm assert _xterm_term_title_saved AssertionError Something seems to be pretty broken. On Friday, December 15, 2023 at 10:52:41 AM UTC-8 John H Palmieri wrote: > Perhaps related, and I also see this with 10.3.beta1: after using > alarm(...), Sage does not exit gracefully. > > % ./sage > ┌────────────────────────────────────────────────────────────────────┐ > │ SageMath version 10.3.beta2, Release Date: 2023-12-13 │ > │ Using Python 3.11.6. Type "help()" for help. │ > └────────────────────────────────────────────────────────────────────┘ > ┏━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━┓ > ┃ Warning: this is a prerelease version, and it may be unstable. ┃ > ┗━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━┛ > sage: alarm(0.3) > sage: > > > KeyboardInterrupt escaped interact() > > sage: exit() > > Error in sys.excepthook: > Traceback (most recent call last): > File > "/usr/local/Cellar/pyt...@3.11/3.11.6_1/Frameworks/Python.framework/Versions/3.11/lib/python3.11/pathlib.py", > > line 1250, in is_dir > return S_ISDIR(self.stat().st_mode) > ^^^^^^^^^ > AttributeError: 'str' object has no attribute 'stat' > > Original exception was: > Traceback (most recent call last): > File > "/Users/palmieri/Sage/TESTING/sage-10.3.beta2/src/bin/sage-ipython", line > 16, in <module> > app.start() > File > "/Users/palmieri/Sage/TESTING/sage-10.3.beta2/local/var/lib/sage/venv-python3.11/lib/python3.11/site-packages/IPython/terminal/ipapp.py", > > line 317, in start > self.shell.mainloop() > File > "/Users/palmieri/Sage/TESTING/sage-10.3.beta2/local/var/lib/sage/venv-python3.11/lib/python3.11/site-packages/IPython/terminal/interactiveshell.py", > > line 899, in mainloop > self.restore_term_title() > File > "/Users/palmieri/Sage/TESTING/sage-10.3.beta2/local/var/lib/sage/venv-python3.11/lib/python3.11/site-packages/IPython/terminal/interactiveshell.py", > > line 602, in restore_term_title > restore_term_title() > File > "/Users/palmieri/Sage/TESTING/sage-10.3.beta2/local/var/lib/sage/venv-python3.11/lib/python3.11/site-packages/IPython/utils/terminal.py", > > line 115, in restore_term_title > _restore_term_title() > File > "/Users/palmieri/Sage/TESTING/sage-10.3.beta2/local/var/lib/sage/venv-python3.11/lib/python3.11/site-packages/IPython/utils/terminal.py", > > line 83, in _restore_term_title_xterm > assert _xterm_term_title_saved > AssertionError > > > > The same happens if I execute several commands between the alarm and > exit(). > > On Friday, December 15, 2023 at 7:07:53 AM UTC-8 Dima Pasechnik wrote: > >> On Thursday, December 14, 2023 at 4:05:31 PM UTC John H Palmieri wrote: >> >> On OS X (both Intel and Apple Silicon) I'm getting a lot of new failures, >> many of the form "Killed due to alarm": >> >> sage -t --long --random-seed=144845266083009760424007645487960076680 >> src/sage/libs/flint/nmod_poly_linkage.pxi # Killed due to alarm >> sage -t --long --random-seed=144845266083009760424007645487960076680 >> src/sage/data_structures/bounded_integer_sequences.pyx # Killed due to >> alarm >> sage -t --long --random-seed=144845266083009760424007645487960076680 >> src/sage/libs/gap/element.pyx # Killed due to alarm >> sage -t --long --random-seed=144845266083009760424007645487960076680 >> src/sage/interfaces/gap.py # Killed due to alarm >> sage -t --long --random-seed=144845266083009760424007645487960076680 >> src/sage/geometry/integral_points.pxi # Killed due to alarm >> sage -t --long --random-seed=144845266083009760424007645487960076680 >> src/sage/libs/libecm.pyx # Killed due to alarm >> sage -t --long --random-seed=144845266083009760424007645487960076680 >> src/sage/coding/linear_code.py # Killed due to alarm >> sage -t --long --random-seed=144845266083009760424007645487960076680 >> src/sage/rings/factorint_pari.pyx # Killed due to alarm >> sage -t --long --random-seed=144845266083009760424007645487960076680 >> src/sage/rings/integer.pyx # Killed due to alarm >> sage -t --long --random-seed=144845266083009760424007645487960076680 >> src/sage/rings/complex_arb.pyx # Killed due to alarm >> sage -t --long --random-seed=144845266083009760424007645487960076680 >> src/sage/parallel/decorate.py # Killed due to alarm >> sage -t --long --random-seed=144845266083009760424007645487960076680 >> src/sage/rings/polynomial/polynomial_element.pyx # Killed due to alarm >> sage -t --long --random-seed=144845266083009760424007645487960076680 >> src/sage/rings/polynomial/polynomial_zmod_flint.pyx # Killed due to alarm >> sage -t --long --random-seed=144845266083009760424007645487960076680 >> src/sage/sets/recursively_enumerated_set.pyx # Killed due to alarm >> sage -t --long --random-seed=144845266083009760424007645487960076680 >> src/sage/structure/coerce_actions.pyx # Killed due to alarm >> sage -t --long --random-seed=144845266083009760424007645487960076680 >> src/sage/matrix/matrix_integer_dense.pyx # Killed due to alarm >> sage -t --long --random-seed=144845266083009760424007645487960076680 >> src/sage/schemes/elliptic_curves/descent_two_isogeny.pyx # Killed due to >> alarm >> sage -t --long --random-seed=144845266083009760424007645487960076680 >> src/sage/doctest/forker.py # 5 doctests failed >> sage -t --long --random-seed=144845266083009760424007645487960076680 >> src/sage/doctest/control.py # 8 doctests failed >> >> Plus some doctests that have been failing for a while: >> >> sage -t --long --random-seed=144845266083009760424007645487960076680 >> src/sage/rings/polynomial/multi_polynomial_ideal.py # Killed due to >> segmentation fault >> sage -t --long --random-seed=144845266083009760424007645487960076680 >> src/sage/libs/giac/__init__.py # Timed out >> sage -t --long --random-seed=144845266083009760424007645487960076680 >> src/sage/tests/books/computational-mathematics-with-sagemath/mpoly_doctest.py >> >> # 1 doctest failed >> >> >> yes, I also see quite a few # Killed due to alarm on Apple M1 Studio box >> (hosted by William). >> This is with quite a few Homebrew packages. >> >> However, it's a Heisenbug: running these tests separately works. >> >> Darwin studio.local 23.1.0 Darwin Kernel Version 23.1.0: Mon Oct 9 >> 21:27:24 PDT 2023; root:xnu-10002.41.9~6/RELEASE_ARM64_T6000 arm64 >> ---------------------------------------------------------------------- >> sage -t --random-seed=216456570840224251681732656912784587240 >> src/sage/libs/flint/nmod_poly_linkage.pxi # Killed due to alarm >> sage -t --random-seed=216456570840224251681732656912784587240 >> src/sage/libs/gap/element.pyx # Killed due to alarm >> sage -t --random-seed=216456570840224251681732656912784587240 >> src/sage/libs/libecm.pyx # Killed due to alarm >> sage -t --random-seed=216456570840224251681732656912784587240 >> src/sage/geometry/integral_points.pxi # Killed due to alarm >> sage -t --random-seed=216456570840224251681732656912784587240 >> src/sage/rings/factorint_pari.pyx # Killed due to alarm >> sage -t --random-seed=216456570840224251681732656912784587240 >> src/sage/rings/complex_arb.pyx # Killed due to alarm >> sage -t --random-seed=216456570840224251681732656912784587240 >> src/sage/coding/linear_code.py # Killed due to alarm >> sage -t --random-seed=216456570840224251681732656912784587240 >> src/sage/rings/polynomial/polynomial_element.pyx # Killed due to alarm >> sage -t --random-seed=216456570840224251681732656912784587240 >> src/sage/sets/recursively_enumerated_set.pyx # Killed due to alarm >> sage -t --random-seed=216456570840224251681732656912784587240 >> src/sage/structure/coerce_actions.pyx # Killed due to alarm >> sage -t --random-seed=216456570840224251681732656912784587240 >> src/sage/rings/integer.pyx # Killed due to alarm >> sage -t --random-seed=216456570840224251681732656912784587240 >> src/sage/schemes/elliptic_curves/descent_two_isogeny.pyx # Killed due to >> alarm >> sage -t --random-seed=216456570840224251681732656912784587240 >> src/sage/rings/polynomial/polynomial_zmod_flint.pyx # Killed due to alarm >> sage -t --random-seed=216456570840224251681732656912784587240 >> src/sage/parallel/decorate.py # Killed due to alarm >> sage -t --random-seed=216456570840224251681732656912784587240 >> src/sage/interfaces/gap.py # Killed due to alarm >> sage -t --random-seed=216456570840224251681732656912784587240 >> src/sage/doctest/forker.py # 5 doctests failed >> sage -t --random-seed=216456570840224251681732656912784587240 >> src/sage/doctest/control.py # 8 doctests failed >> sage -t --random-seed=216456570840224251681732656912784587240 >> src/sage/tests/books/computational-mathematics-with-sagemath/mpoly_doctest.py >> >> # 1 doctest failed >> sage -t --random-seed=216456570840224251681732656912784587240 >> src/sage/interfaces/qepcad.py # 1 doctest failed >> sage -t --random-seed=216456570840224251681732656912784587240 >> src/sage/libs/giac/__init__.py # Timed out >> ---------------------------------------------------------------------- >> >> >> On Wednesday, December 13, 2023 at 4:42:36 PM UTC-8 Volker Braun wrote: >> >> As always, you can get the latest beta version from the "develop" git >> branch. Alternatively, the self-contained source tarball is at >> http://www.sagemath.org/download-latest.html >> >> >> e2e0f8db21e (github/develop, tag: 10.3.beta2) Updated SageMath version to >> 10.3.beta2 >> 2395f7bb45f gh-36862: Fix one doctest for giac 1.9.0-73 >> c85cb61919a gh-36859: src/sage/libs/pari/convert_sage_matrix.pyx: Remove >> `sage_setup: distribution` >> 69d5801de36 gh-36856: various details in modules folder (ruff, >> cython-lint, roles) >> 3d9dc8d3daa gh-36855: some ruff details in modular (unicode) >> c4bebb1988a gh-36854: various details in categories (ruff C4 and UP02) >> dd54b42ad4e gh-36853: various details in algebras (ruff mostly) >> 033d95a9500 gh-36852: `failing doctest on Apple M1`: corrected the test >> case by sorting the result >> 49e6c9f99c4 gh-36851: various details in group (ruff and pycodestyle) >> 1abf5c643ff gh-36846: Resolve nice tree decomp bug in #36843, and allow >> `label_nice_tree_decomposition` to return a digraph >> f98a4c5176d gh-36837: update qepcad to B 1.74 >> 31541b6b79a gh-36828: README.md: Update section on macOS arm64 >> 4f34f9226af gh-36823: `ipython` 8.18 and related upgrades, remove >> `backcall` >> f2be9758869 gh-36822: Fix linter failure in 10.3.beta0 >> 0121df0e205 gh-36818: Corrected the typo in documentation - Permutation >> Groups >> c7443b1a9cd gh-36815: Add badges to README.md >> 2ec492a4c57 gh-36812: made changes to the documentaiton of developer in >> python3 print >> 27a07dad385 gh-36802: Python toolchain as wheel packages >> 990525bcbe7 gh-36799: Create index-pdf.html in html build >> 1c19a98dbc0 gh-36794: `sage --package create --pypi`: Create a wheel >> package by default if possible >> 74122cc0704 gh-36785: `build/pkgs/cython`: Update to 3.0.6 >> 1bbdb3e8339 gh-36778: Remove Cygwin distro support >> 5d6ca008b98 gh-36769: Do not fail when `java` is available but `jmol` is >> not. >> eba2cf9f708 gh-36767: Reduce execution time of conda workflow >> dfdd7da660b gh-36765: Update to new conway-polynomials python package >> 2ab6da5e95c gh-36764: Improve performance of __getitem__ of >> CFiniteSequence >> 3d335fa4e73 gh-36758: Details in interfaces >> 71bcb097360 gh-36756: Improve headers of the number field section in toc >> a1642b17162 gh-36754: Relativize more header imports >> 35d8f8ca475 gh-36752: `numpy` 1.26.2, `scipy` 1.11.4 >> 11c5766665f gh-36749: Choice of the name of primitive elements for >> subfields of QQbar >> 6cadd8410aa gh-36747: `build/bin/sage-spkg`: Add support for installing >> script packages >> 07a5b275228 gh-36719: rectify docs around Tkinter >> 77fbf9ac064 gh-36640: Use GNU make tokenpool protocol to manage >> parallelism of doctesting >> 2fd122b767b gh-36439: CVXpy 1.4.1, SCS 3.2.3, osqp_python 0.6.3, CVXOPT >> 1.3.2, CyLP 0.92.2, add `clarabel` solver >> ab24b1c3113 (tag: 10.3.beta1) Updated SageMath version to 10.3.beta1 >> >> -- You received this message because you are subscribed to the Google Groups "sage-release" group. To unsubscribe from this group and stop receiving emails from it, send an email to sage-release+unsubscr...@googlegroups.com. To view this discussion on the web visit https://groups.google.com/d/msgid/sage-release/93beed42-007d-4e96-b909-0cc7e8d1a1e5n%40googlegroups.com.