Sage 9.8.beta6 released

102 views
Skip to first unread message

Volker Braun

unread,
Dec 21, 2022, 2:01:12 PM12/21/22
to sage-release
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


2114066f877 (tag: 9.8.beta6, trac/develop) Updated SageMath version to 9.8.beta6
7819a59980b Trac #34825: Uniformize headline: noncommutative polynomials
b9234de9321 Trac #34815: pep cleanup in parallel/
eff11ab368f Trac #34813: src/doc/en/installation/source.rst gives CRITICAL sphinx warnings
6925a6da0dd Trac #34797: some formatting for NOTE:: blocks
446b6209127 Trac #34787: streamline .set_order() methods for elliptic curves and points
59cbf53abe5 Trac #34785: fix and activate W291 in py files
a7bb36ed0c8 Trac #34784: some care for E275
50549d91ff1 Trac #34781: fixing the linter, once again
20bcc1e3d83 Trac #34755: add _repr_svg_ for Dyck words
eae8219187e Trac #34743: modernize super in root_systems
eaff61b545e Trac #34835: openblas: Remove python from dependencies
8fe834dbcaf Trac #34823: deprecate is_GapElement
84246cc579f Trac #34819: Numerical separators behave inconsistently
3c5d4082ca1 Trac #34812: decompose identity into generators with coxeter3
d85aee63b4e Trac #34802: fix some compilation warnings
a45a9d1bbea Trac #34799: fix order of multiplication in coxeter_groups
8ba7eda1dcc Trac #34798: less use of type "long" in cython files
c90d203d7d9 Trac #34770: fix coercion from libgap's finite fields, use libgap in sage/rings/finite_rings
253edd915ba Trac #34582: Commutative graded algebras: remove sorting restriction
03afc37a201 Trac #34515: factorization of symmetric functions
939e0a119b8 Trac #34444: Implement Groebner cover
7a376389e18 Trac #33875: an_element for statistics and maps
d2a2415104c Trac #32841: zn_poly removal
f3e9113e874 Trac #32390: Make "./configure --enable-download-from-upstream-url" the default
ec1ef75e11e Trac #34795: Upgrade pybind11, docutils and other packages
bb7ee856390 (tag: 9.8.beta5) Updated SageMath version to 9.8.beta5

G. M.-S.

unread,
Dec 21, 2022, 3:42:19 PM12/21/22
to sage-r...@googlegroups.com

This is on Apple Silicon Macs ("M" series) with Homebrew up to date (make and make pytest and  make ptestlong).

On macOS 11.7.2 (Big Sur) with Xcode 13.2.1:  make ptestlong gives the usual
----------------------------------------------------------------------
sage -t --long --warn-long 51.4 --random-seed=… src/sage/matrix/matrix_gf2e_dense.pyx  # 1 doctest failed
----------------------------------------------------------------------

There is also
----------------------------------------------------------------------
sage -t --long --warn-long 52.1 --random-seed=… src/sage/categories/category.py  # 1 doctest failed
----------------------------------------------------------------------
but it succeeds when run alone.

Guillermo

G. M.-S.

unread,
Dec 21, 2022, 4:51:55 PM12/21/22
to sage-r...@googlegroups.com

This is on Apple Silicon Macs ("M" series) with Homebrew up to date  (make and make pytest and  make ptestlong).

On macOS 12.6.2 (Monterey) with Xcode 14.2:  No problems.

Guillermo

On Wed, 21 Dec 2022 at 20:01, Volker Braun <vbrau...@gmail.com> wrote:

G. M.-S.

unread,
Dec 21, 2022, 6:13:10 PM12/21/22
to sage-r...@googlegroups.com

Help needed.

This is on Apple Silicon Macs ("M" series) with Homebrew up to date.

On macOS 13.1 (Ventura) with Xcode 14.2:  make fails:

make --no-print-directory sagemath_doc_html-SAGE_DOCS-no-deps
[sagemath_doc_html-none] installing. Log file: /Users/admin/SageMath/Git/sage/logs/pkgs/sagemath_doc_html-none.log
  [sagemath_doc_html-none] error installing, exit status 2. End of log file:

with

------------------------------------------------------------------------
(no backtrace available)
------------------------------------------------------------------------
Unhandled SIGSEGV: A segmentation fault 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.
------------------------------------------------------------------------

Logs attached.

Guillermo

On Wed, 21 Dec 2022 at 20:01, Volker Braun <vbrau...@gmail.com> wrote:
config.log
install.log
sagemath_doc_html-none.log

John H Palmieri

unread,
Dec 22, 2022, 12:37:48 AM12/22/22
to sage-release
I've seen this before, and I haven't been able to figure out what triggers it. It seems random: try "make doc-clean doc-uninstall && make" and it might succeed after a few attempts.

John H Palmieri

unread,
Dec 22, 2022, 1:05:59 AM12/22/22
to sage-release
And it would be great if we could fix it, but I don't know what the problem is. I've seen it on both Apple Silicon and on Apple Intel. On the Intel machine, when running "make doc-clean doc-uninstall && make" about half a dozen times, I hit the problem about half the time when using homebrew's Python, and I didn't hit it at all when forcing Sage to build its own Python. On the M2 machine, I ran into the problem no matter which Python I used.

Both are using Venture 13.1 with the most recent command-line tools and a fair number of homebrew packages.

Dima Pasechnik

unread,
Dec 22, 2022, 4:57:10 AM12/22/22
to sage-r...@googlegroups.com
does it happen if you explicitly call ./sage -docbuild ?
(it's probably related to our parallel docbuilding code...)
> --
> 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...@googlegroups.com.
> To view this discussion on the web visit https://groups.google.com/d/msgid/sage-release/fb9cb17b-675f-4257-961f-4b980e4167e0n%40googlegroups.com.

G. M.-S.

unread,
Dec 22, 2022, 8:27:09 AM12/22/22
to sage-r...@googlegroups.com

Thanks John and Dima.

After trying several things, this seems to work:

% export MAKE="make -j20"
% make
and after it fails
% export MAKE="make -j1"
% make

with the following timings
1st make
Command exited with non-zero status 2
6376.23user 615.69system 28:02.58elapsed 415%CPU (0avgtext+0avgdata 1990544maxresident)k
0inputs+0outputs (207162major+103967193minor)pagefaults 0swaps
2nd make
491.39user 45.99system 12:03.84elapsed 74%CPU (0avgtext+0avgdata 1123680maxresident)k
0inputs+0outputs (11214major+8502313minor)pagefaults 0swaps

Then there is the same problem with make ptestlong.  But in this case I do not know how to revert to make -j20 after
[sagemath_doc_html-none] successfully installed.
in order to speed up the real tests.

Guillermo

On Thu, 22 Dec 2022 at 10:57, Dima Pasechnik <dim...@gmail.com> wrote:
does it happen if you explicitly call ./sage -docbuild ?
(it's probreal testsably related to our parallel docbuilding code...)

Dima Pasechnik

unread,
Dec 22, 2022, 8:53:28 AM12/22/22
to sage-release
You can run tests without docbuild :

./sage -tp 20 src/sage/ src/doc/



Emmanuel Charpentier

unread,
Dec 22, 2022, 11:43:36 AM12/22/22
to sage-release

On Debian testing running on core i7 + 16 GB RAM, upgrading 9.8.beta5 to 9.8.beta6 and running ptestlong gives me the three permanent failures already reported for 9.8.beta4.

HTH,

G. M.-S.

unread,
Dec 22, 2022, 2:09:39 PM12/22/22
to sage-r...@googlegroups.com

This is a follow-up on building SageMath (make and make pytest and make ptestlong) on
Apple Silicon Macs ("M" series chip)
macOS 13.1 (Ventura)
Xcode 14.2
Homebrew

For details on making make work see below.

make ptestlong gives

----------------------------------------------------------------------
sage -t --long --warn-long 35.5 --random-seed=… src/sage/tests/cmdline.py  # 3 doctests failed
sage -t --long --warn-long 35.5 --random-seed=… src/sage/structure/coerce_actions.pyx  # 3 doctests failed
----------------------------------------------------------------------

The first succeeds when run alone, but the second seems permanent:

**********************************************************************
File "src/sage/structure/coerce_actions.pyx", line 773, in sage.structure.coerce_actions.IntegerMulAction._act_
Failed example:
    alarm(0.001); 2^(10^7) * P
Expected:
    Traceback (most recent call last):
    ...
    AlarmInterrupt
Got:
    (0 : 1 : 0)
**********************************************************************
File "src/sage/structure/coerce_actions.pyx", line 781, in sage.structure.coerce_actions.IntegerMulAction._act_
Failed example:
    from cysignals.tests import print_sig_occurred
Exception raised:
    Traceback (most recent call last):
      File "/Users/admin/SageMath/Git/sage/src/sage/doctest/forker.py", line 695, in _run
        self.compile_and_execute(example, compiler, test.globs)
      File "/Users/admin/SageMath/Git/sage/src/sage/doctest/forker.py", line 1093, in compile_and_execute
        exec(compiled, globs)
      File "<doctest sage.structure.coerce_actions.IntegerMulAction._act_[12]>", line 1, in <module>
        from cysignals.tests import print_sig_occurred
      File "<frozen importlib._bootstrap>", line 404, in parent
      File "src/cysignals/signals.pyx", line 310, in cysignals.signals.python_check_interrupt
    cysignals.signals.AlarmInterrupt
**********************************************************************
File "src/sage/structure/coerce_actions.pyx", line 782, in sage.structure.coerce_actions.IntegerMulAction._act_
Failed example:
    print_sig_occurred()
Exception raised:
    Traceback (most recent call last):
      File "/Users/admin/SageMath/Git/sage/src/sage/doctest/forker.py", line 695, in _run
        self.compile_and_execute(example, compiler, test.globs)
      File "/Users/admin/SageMath/Git/sage/src/sage/doctest/forker.py", line 1093, in compile_and_execute
        exec(compiled, globs)
      File "<doctest sage.structure.coerce_actions.IntegerMulAction._act_[13]>", line 1, in <module>
        print_sig_occurred()
    NameError: name 'print_sig_occurred' is not defined
**********************************************************************
1 item had failures:
   3 of  15 in sage.structure.coerce_actions.IntegerMulAction._act_
    [150 tests, 3 failures, 0.09 s]

The "alarm" thing is perhaps due to the processor being "too fast"?

To make make work:

1) make
It fails when building the doc in parallel.
A workaround is
% export MAKE="make -j20"
% make
and after it fails
% export MAKE="make -j1"
% make
(the slowdown is more than 5-fold).

2) make pytest
OK.

3) make ptestlong
It fails for the same reason as the first make.
As the doc has just been built, and I did not wish to carry on make -j1, I chose to modify the Makefile by adding the following lines

###############################################################################

mytest:
@echo '### make $(TEST_TARGET): Running $(TEST)'
@echo '### make $(TEST_TARGET): Running $(TEST)' >> $(TEST_LOG)
@echo '### ONLY TO BE DONE JUST AFTER A SUCCESSFUL make'
@echo '### ONLY TO BE DONE JUST AFTER A SUCCESSFUL make' >> $(TEST_LOG)
$(TEST)

myptest:
@$(MAKE) TEST_TARGET="$(TEST_TARGET)" TEST_FLAGS="$(TEST_FLAGS) -p" mytest

myptestlong:
@$(MAKE) TEST_TARGET="$(TEST_TARGET)" TEST_FLAGS="$(TEST_FLAGS) --long" myptest

###############################################################################

and then running make myptestlong.

Guillermo

On Wed, 21 Dec 2022 at 20:01, Volker Braun <vbrau...@gmail.com> wrote:

John H Palmieri

unread,
Dec 22, 2022, 6:55:53 PM12/22/22
to sage-release
Here is my experience (running "make doc-clean doc-uninstall" in between each attempt)

- with MAKE="make -j6" and MAKEFLAGS="-j6", it succeeds about half the time (succeeded 2 out of 5 attempts)
- with MAKE and MAKEFLAGS unset, it succeeds about half the time (succeeded 3 out of 5 attempts)
- using "sage --docbuild all html", it worked every time (succeeded 5 times in a row)

Sébastien Labbé

unread,
Jan 13, 2023, 5:45:14 AM1/13/23
to sage-release
On Ubuntu 18.04, I managed to make build and doc ok with cython capabilities:

$ sage
┌────────────────────────────────────────────────────────────────────┐
│ SageMath version 9.8.beta6, Release Date: 2022-12-21               │
│ Using Python 3.10.8. Type "help()" for help.                       │
└────────────────────────────────────────────────────────────────────┘
┏━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━┓
┃ Warning: this is a prerelease version, and it may be unstable.     ┃
┗━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━┛
sage:
sage: %%cython
....: def f(int n):
....:     cdef int i=1
....:     return n+i
....:    
sage: f(4)
5

But then running tests fails from the start with a (ModuleNotFoundError: No module named 'Cython')

$ sage -tp -all
too many failed tests, not using stored timings
Running doctests with ID 2023-01-13-11-37-48-e4557df6.
Git branch: develop
Git ref: 9.7.beta3-4518-g2114066f877
Running with SAGE_LOCAL='/home/slabbe/GitBox/sage/local' and SAGE_VENV='/home/slabbe/GitBox/sage/local/var/lib/sage/venv-python3.10.8'
Using --optional=debian,dot2tex,glucose,pip,sage,sage_spkg
Features to be detected: 4ti2,benzene,bliss,buckygen,conway_polynomials,csdp,database_cremona_ellcurve,database_cremona_mini_ellcurve,database_cubic_hecke,database_jones_numfield,database_knotinfo,dvipng,gfan,graphviz,imagemagick,jupymake,kenzo,latte_int,lrslib,mcqd,meataxe,msolve,nauty,palp,pandoc,pdf2svg,pdftocairo,phitigra,plantri,polytopes_db,polytopes_db_4d,pynormaliz,python_igraph,rubiks,sage.combinat,sage.geometry.polyhedron,sage.graphs,sage.groups,sage.misc.cython,sage.plot,sage.rings.number_field,sage.rings.padics,sage.rings.real_double,sage.symbolic,sage_numerical_backends_coin,sagemath_doc_html,sphinx,tdlib
Doctesting entire Sage library.
Doctesting all documentation sources.
Sorting sources by runtime so that slower doctests are run first....
Doctesting 4441 files using 8 threads.
sage -t --long --random-seed=197918385925031171534325084253204174054 src/sage/rings/polynomial/pbori/pbori.pxd
    [0 tests, 0.00 s]
sage -t --long --random-seed=197918385925031171534325084253204174054 src/sage/rings/polynomial/pbori/PyPolyBoRi.py
    Killed due to abort
**********************************************************************
Tests run before process (pid=28301) failed:
sage: from sage.rings.polynomial.pbori.pbori import * ## line 13 ##
sage: from sage.rings.polynomial.pbori.blocks import declare_ring ## line 14 ##
sage: r=declare_ring(["x0","x1","x2","y0","y1","y2"], globals()) ## line 15 ##
sage: x0>x1 ## line 16 ##
True
sage: x0>x1*x2 ## line 18 ##
True
sage: y0>y1 ## line 20 ##
True
sage: y0>y1*y2 ## line 22 ##
True
sage: r = r.clone(ordering=dlex) ## line 25 ##
sage: r(x0) > r(x1) ## line 26 ##
terminate called after throwing an instance of 'std::length_error'
  what():  deque::_M_new_elements_at_front
------------------------------------------------------------------------
/home/slabbe/GitBox/sage/local/var/lib/sage/venv-python3.10.8/lib/python3.10/site-packages/cysignals/signals.cpython-310-x86_64-linux-gnu.so(+0x68bb)[0x7f1fba4228bb]
/home/slabbe/GitBox/sage/local/var/lib/sage/venv-python3.10.8/lib/python3.10/site-packages/cysignals/signals.cpython-310-x86_64-linux-gnu.so(+0x6a89)[0x7f1fba422a89]
/home/slabbe/GitBox/sage/local/var/lib/sage/venv-python3.10.8/lib/python3.10/site-packages/cysignals/signals.cpython-310-x86_64-linux-gnu.so(+0x8da1)[0x7f1fba424da1]
/lib/x86_64-linux-gnu/libc.so.6(+0x3ef10)[0x7f1fc1d90f10]
/lib/x86_64-linux-gnu/libc.so.6(gsignal+0xc7)[0x7f1fc1d90e87]
/lib/x86_64-linux-gnu/libc.so.6(abort+0x141)[0x7f1fc1d927f1]
/usr/lib/x86_64-linux-gnu/libstdc++.so.6(+0x9d0a9)[0x7f1fad7830a9]
/usr/lib/x86_64-linux-gnu/libstdc++.so.6(+0xa8506)[0x7f1fad78e506]
/usr/lib/x86_64-linux-gnu/libstdc++.so.6(+0xa8571)[0x7f1fad78e571]
/usr/lib/x86_64-linux-gnu/libstdc++.so.6(+0xa87f5)[0x7f1fad78e7f5]
/usr/lib/x86_64-linux-gnu/libstdc++.so.6(_ZSt20__throw_length_errorPKc+0x3d)[0x7f1fad7858cd]
/home/slabbe/GitBox/sage/src/sage/rings/polynomial/pbori/pbori.cpython-310-x86_64-linux-gnu.so(_ZNSt5dequeIN8polybori14CCuddNavigatorESaIS1_EE24_M_new_elements_at_frontEm+0xd6)[0x7f1f34403496]
/home/slabbe/GitBox/sage/src/sage/rings/polynomial/pbori/pbori.cpython-310-x86_64-linux-gnu.so(_ZNSt5dequeIN8polybori14CCuddNavigatorESaIS1_EE19_M_range_insert_auxISt15_Deque_iteratorIS1_RKS1_PS6_EEEvS5_IS1_RS1_PS1_ET_SD_St20forward_iterator_tag+0x334)[0x7f1f34404764]
/home/slabbe/GitBox/sage/local/lib/libbrial.so.3(_ZN8polybori13CDegTermStackINS_14CCuddNavigatorENS_9valid_tagENS_11invalid_tagENS_18CAbstractStackBaseIS1_EEE8findTermEm+0x6a7)[0x7f1f34107a27]
/home/slabbe/GitBox/sage/local/lib/libbrial.so.3(_ZN8polybori13CDegTermStackINS_14CCuddNavigatorENS_9valid_tagENS_11invalid_tagENS_18CAbstractStackBaseIS1_EEE9incrementEv+0x191)[0x7f1f34107e91]
/home/slabbe/GitBox/sage/src/sage/rings/polynomial/pbori/pbori.cpython-310-x86_64-linux-gnu.so(+0xab3aa)[0x7f1f343df3aa]
/home/slabbe/GitBox/sage/local/var/lib/sage/venv-python3.10.8/lib/libpython3.10.so.1.0(+0x17a9fc)[0x7f1fc22bd9fc]
/home/slabbe/GitBox/sage/src/sage/rings/polynomial/pbori/pbori.cpython-310-x86_64-linux-gnu.so(+0x3a3e5)[0x7f1f3436e3e5]
/home/slabbe/GitBox/sage/src/sage/structure/element.cpython-310-x86_64-linux-gnu.so(+0x28692)[0x7f1fbeabb692]
/home/slabbe/GitBox/sage/local/var/lib/sage/venv-python3.10.8/lib/libpython3.10.so.1.0(PyObject_RichCompare+0x8e)[0x7f1fc2241e5e]
/home/slabbe/GitBox/sage/local/var/lib/sage/venv-python3.10.8/lib/libpython3.10.so.1.0(_PyEval_EvalFrameDefault+0x1cc6)[0x7f1fc21a9976]
/home/slabbe/GitBox/sage/local/var/lib/sage/venv-python3.10.8/lib/libpython3.10.so.1.0(+0x182114)[0x7f1fc22c5114]
/home/slabbe/GitBox/sage/local/var/lib/sage/venv-python3.10.8/lib/libpython3.10.so.1.0(PyEval_EvalCode+0x92)[0x7f1fc22c52d2]
/home/slabbe/GitBox/sage/local/var/lib/sage/venv-python3.10.8/lib/libpython3.10.so.1.0(+0x17c8dd)[0x7f1fc22bf8dd]
/home/slabbe/GitBox/sage/local/var/lib/sage/venv-python3.10.8/lib/libpython3.10.so.1.0(+0xf9aef)[0x7f1fc223caef]

[...]

#177 0x00007f1fc1d73c87 in __libc_start_main (main=0x559beab96760 <main>, argc=4,
    argv=0x7ffd2635acd8, init=<optimised out>, fini=<optimised out>, rtld_fini=<optimised out>,
    stack_end=0x7ffd2635acc8) at ../csu/libc-start.c:310
        self = <optimised out>
        __self = <optimised out>
        result = <optimised out>
        unwind_buf = {cancel_jmp_buf = {{jmp_buf = {0, 1194170473532653556, 94128146311024,
                140725244505296, 0, 0, 4926677057861877748, 5015564588080594932},
              mask_was_saved = 0}}, priv = {pad = {0x0, 0x0, 0x7f1fc26be8d3 <_dl_init+259>,
              0x7f1fc266eb98}, data = {prev = 0x0, cleanup = 0x0, canceltype = -1033115437}}}
        not_first_call = <optimised out>
#178 0x0000559beab9679a in _start ()
No symbol table info available.
Detaching from program: /home/slabbe/GitBox/sage/local/var/lib/sage/venv-python3.10.8/bin/python3.10, process 28306
[Inferior 1 (process 28306) detached]
30    ../sysdeps/unix/sysv/linux/waitpid.c: Aucun fichier ou dossier de ce type.
Python Exception <class 'gdb.error'> value has been optimised out:
Python Exception <class 'gdb.error'> value has been optimised out:
Python Exception <class 'gdb.error'> value has been optimised out:
Traceback (most recent call last):
  File "<string>", line 25, in <module>
ModuleNotFoundError: No module named 'Cython'
Error while executing Python code.
Saved trace to /home/slabbe/.sage/crash_logs/crash_alt04btk.log
------------------------------------------------------------------------
Unhandled SIGABRT: An abort() 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.
------------------------------------------------------------------------

**********************************************************************
^CKilling test src/doc/en/reference/sat/index.rst
Killing test src/sage/crypto/mq/sr.py
Killing test src/sage/rings/polynomial/multi_polynomial_sequence.py
Killing test src/sage/rings/polynomial/pbori/fglm.py
Killing test src/sage/rings/polynomial/pbori/pbori.pyx
Killing test src/sage/sat/boolean_polynomials.py
Killing test src/sage/sat/solvers/dimacs.py
Killing test src/sage/combinat/tiling.py
----------------------------------------------------------------------
sage -t --long --random-seed=197918385925031171534325084253204174054 src/sage/rings/polynomial/pbori/PyPolyBoRi.py  # Killed due to abort
sage -t --long --random-seed=197918385925031171534325084253204174054 src/sage/rings/polynomial/polynomial_ring_constructor.py  # Killed due to abort
Doctests interrupted: 3/4441 files tested
----------------------------------------------------------------------
Total time for all tests: 10.5 seconds
    cpu time: 0.0 seconds
    cumulative wall time: 0.0 seconds
Features detected for doctesting: imagemagick
pytest is not installed in the venv, skip checking tests that rely on it

Reply all
Reply to author
Forward
0 new messages