Closed strogdon closed 3 years ago
OK, I got some of those. sagespawn.pyx
and ipython_extension.py
are especially weird. For doctest/test.py
you probably need a newer pyzmq. That's what we figured out on sage-packaging. I am guessing you moved to matplotlib-3.2 and had to upgrade a number of packages and pyzmq has escaped because the runtime dependency is not stated in the terminado ebuild has it should be.
pyzmq should take care of a few tests besides test.py.
Still on matplotlib-3.1.2
with pyzmq-19.0
on Gentoo and Prefix.
Hum, show me sage -t --long usr/lib/python3.7/site-packages/sage/doctest/test.py
please.
The failures in sage/doctest/test.py
in Prefix are the same as in https://github.com/cschwan/sage-on-gentoo/issues/560. On Gentoo the test fails with
sage -t --long --warn-long 139.5 /usr/lib/python3.7/site-packages/sage/doctest/test.py
**********************************************************************
File "/usr/lib/python3.7/site-packages/sage/doctest/test.py", line 521, in sage.doctest.test
Failed example:
if system() == "Linux":
P = subprocess.Popen(["sage", "-t", "--warn-long", "0", "--memlimit=2000", "memlimit.rst"], stdout=subprocess.PIPE, **kwds)
out, err = P.communicate()
ok = ("MemoryError: failed to allocate" in bytes_to_str(out))
Expected nothing
Got:
Process DocTestWorker-1:
Traceback (most recent call last):
File "/usr/lib/python3.7/multiprocessing/process.py", line 297, in _bootstrap
self.run()
File "/usr/lib/python3.7/site-packages/sage/doctest/forker.py", line 2172, in run
task(self.options, self.outtmpfile, msgpipe, self.result_queue)
File "/usr/lib/python3.7/site-packages/sage/doctest/forker.py", line 2525, in __call__
result_queue.put(result, False)
File "/usr/lib/python3.7/multiprocessing/queues.py", line 87, in put
self._start_thread()
File "/usr/lib/python3.7/multiprocessing/queues.py", line 170, in _start_thread
self._thread.start()
File "/usr/lib/python3.7/threading.py", line 852, in start
_start_new_thread(self._bootstrap, ())
RuntimeError: can't start new thread
because the memlimit
is not large enough. This also appears in Prefix.
Annoying, what about something new like pbori.pyx, what's happening there?
It must be the doctesting framework that contaminated the pbori.pyx
doctest
sage -t --long usr/lib/python3.7/site-packages/sage/rings/polynomial/pbori.pxd
[0 tests, 0.00 s]
Process DocTestWorker-4:
Traceback (most recent call last):
File "/storage/strogdon/gentoo-rap/usr/lib/python3.7/multiprocessing/process.py", line 297, in _bootstrap
self.run()
File "/storage/strogdon/gentoo-rap/usr/lib/python3.7/site-packages/sage/doctest/forker.py", line 2172, in run
task(self.options, self.outtmpfile, msgpipe, self.result_queue)
File "/storage/strogdon/gentoo-rap/usr/lib/python3.7/site-packages/sage/doctest/forker.py", line 2525, in __call__
result_queue.put(result, False)
File "/storage/strogdon/gentoo-rap/usr/lib/python3.7/multiprocessing/queues.py", line 87, in put
self._start_thread()
File "/storage/strogdon/gentoo-rap/usr/lib/python3.7/multiprocessing/queues.py", line 170, in _start_thread
self._thread.start()
File "/storage/strogdon/gentoo-rap/usr/lib/python3.7/threading.py", line 852, in start
_start_new_thread(self._bootstrap, ())
RuntimeError: can't start new thread
sage -t --long usr/lib/python3.7/site-packages/sage/rings/polynomial/pbori.pyx
Bad exit: 1
since when doctested by itself it passed
sage -t --long usr/lib/python3.7/site-packages/sage/rings/polynomial/pbori.pyx
[1551 tests, 19.08 s]
----------------------------------------------------------------------
All tests passed!
----------------------------------------------------------------------
Total time for all tests: 20.5 seconds
cpu time: 15.8 seconds
cumulative wall time: 19.1 seconds
OK so it looks like there is a lot of stuff about managing the load on the machines from memory to thread management. And of course some of these may not be apparent if your machine is big enough. Lastly, there is a segfault in sage/interfaces/singular.py, is it the same kind of things, or is there something in singular to look at?
Here is the first part of the Cython backtrace
for sage/interfaces/singular.py
Cython backtrace
----------------
#0 0x00007f054d5657f0 in __GI___wait4 () at /storage/strogdon/gentoo-rap/var/tmp/portage/sys-libs/glibc-2.31-r2/work/glibc-2.31/posix/../sysdeps/unix/sysv/linux/wait4.c:27
#1 0x00007f0545a8099f in print_enhanced_backtrace () at /storage/strogdon/gentoo-rap/var/tmp/portage/dev-python/cysignals-1.10.2/work/cysignals-1.10.2/build/src/cysignals/implementation.c:563
#2 0x00007f0545a80b3b in sigdie () at /storage/strogdon/gentoo-rap/var/tmp/portage/dev-python/cysignals-1.10.2/work/cysignals-1.10.2/build/src/cysignals/implementation.c:589
#3 0x00007f0545a7fece in sigdie_for_sig () at /storage/strogdon/gentoo-rap/var/tmp/portage/dev-python/cysignals-1.10.2/work/cysignals-1.10.2/build/src/cysignals/implementation.c:164
#4 0x00007f0545a80066 in cysigs_signal_handler () at /storage/strogdon/gentoo-rap/var/tmp/portage/dev-python/cysignals-1.10.2/work/cysignals-1.10.2/build/src/cysignals/implementation.c:262
#5 0x00007f054de3e550 in __restore_rt ()
#6 0x00007f0545a85c48 in __pyx_f_9cysignals_7signals_verify_exc_value () at /storage/strogdon/gentoo-rap/var/tmp/portage/dev-python/cysignals-1.10.2/work/cysignals-1.10.2/build/src/cysignals/signals.c:3682
#7 0x00007f0534b0069b in sig_occurred () at /storage/strogdon/gentoo-rap/var/tmp/portage/sci-mathematics/sage-9999/work/sage-9999/src-python3_7/sage/graphs/matchpoly.pyx:0
1 # cython: binding=True
2 """
3 Matching Polynomial
4
#8 0x00007f0534afebab in fast_tp_dealloc () at /storage/strogdon/gentoo-rap/var/tmp/portage/sci-mathematics/sage-9999/work/sage-9999/src-python3_7/sage/rings/integer.pyx:7478
7473 cdef mpz_ptr o_mpz = <mpz_ptr>((<Integer>o).value)
7474
7475 # If we are recovering from an interrupt, throw the mpz_t away
7476 # without recycling or freeing it because it might be in an
7477 # inconsistent state (see Trac #24986).
> 7478 if sig_occurred() is NULL:
7479 if integer_pool_count < integer_pool_size:
7480 # Here we free any extra memory used by the mpz_t by
7481 # setting it to a single limb.
7482 if o_mpz._mp_alloc > 10:
#9 0x00007f054d9edae3 in _PyEval_EvalFrameDefault () at /storage/strogdon/gentoo-rap/var/tmp/portage/dev-lang/python-3.7.7-r2/work/Python-3.7.7/Python/ceval.c:1208
#10 0x00007f054d9eda6d in <Cython.Debugger.libpython.PyUnicodeObjectPtr object at 0x7f21228a8690> ()
#11 0x00007f054d9fe578 in _PyEval_EvalCodeWithName () at /storage/strogdon/gentoo-rap/var/tmp/portage/dev-lang/python-3.7.7-r2/work/Python-3.7.7/Python/ceval.c:3930
#12 0x00007f054d9ff965 in PyEval_EvalCodeEx () at /storage/strogdon/gentoo-rap/var/tmp/portage/dev-lang/python-3.7.7-r2/work/Python-3.7.7/Python/ceval.c:3959
#13 0x00007f054d9eda01 in PyEval_EvalCode () at /storage/strogdon/gentoo-rap/var/tmp/portage/dev-lang/python-3.7.7-r2/work/Python-3.7.7/Python/ceval.c:524
#14 0x00007f054d9e7e17 in builtin_exec_impl () at /storage/strogdon/gentoo-rap/var/tmp/portage/dev-lang/python-3.7.7-r2/work/Python-3.7.7/Python/bltinmodule.c:1079
The start of the failure
sage: a = singular(1) ## line 506 ##
sage: _ = singular._expect.sendline('1+') # unfinished input ## line 507 ##
sage: try:
alarm(0.5)
singular._expect_expr('>') # interrupt this
except KeyboardInterrupt:
pass ## line 508 ##
Control-C pressed. Interrupting Singular. Please wait a few seconds...
sage: 2*a ## line 517 ##
------------------------------------------------------------------------
/storage/strogdon/gentoo-rap/usr/lib/python3.7/site-packages/cysignals/signals.cpython-37m-x86_64-linux-gnu.so(+0x5933)[0x7f0545a80933]
/storage/strogdon/gentoo-rap/usr/lib/python3.7/site-packages/cysignals/signals.cpython-37m-x86_64-linux-gnu.so(+0x5b65)[0x7f0545a80b65]
/storage/strogdon/gentoo-rap/usr/lib/python3.7/site-packages/cysignals/signals.cpython-37m-x86_64-linux-gnu.so(+0x4f62)[0x7f0545a7ff62]
/storage/strogdon/gentoo-rap/usr/lib/python3.7/site-packages/cysignals/signals.cpython-37m-x86_64-linux-gnu.so(+0x50e8)[0x7f0545a800e8]
/storage/strogdon/gentoo-rap/lib64/libc.so.6(+0x37940)[0x7f054d4d6940]
/storage/strogdon/gentoo-rap/usr/lib/python3.7/site-packages/cysignals/signals.cpython-37m-x86_64-linux-gnu.so(+0xb968)[0x7f0545a86968]
/storage/strogdon/gentoo-rap/usr/lib/python3.7/site-packages/sage/rings/integer.cpython-37m-x86_64-linux-gnu.so(+0x916d5)[0x7f0534b006d5]
/storage/strogdon/gentoo-rap/usr/lib/python3.7/site-packages/sage/rings/integer.cpython-37m-x86_64-linux-gnu.so(+0x8fbc8)[0x7f0534afebc8]
/storage/strogdon/gentoo-rap/usr/lib64/libpython3.7m.so.1.0(_PyEval_EvalFrameDefault+0x197b)[0x7f054d9ef45e]
/storage/strogdon/gentoo-rap/usr/lib64/libpython3.7m.so.1.0(PyEval_EvalFrameEx+0x60)[0x7f054d9edacd]
The cython backtrace seems to imply memory management again. What are the machine specs?
sage/interfaces/singular.py
seg faults even when tested individually. The specs
$ uname -a
Linux blitzen 3.2.0-4-amd64 #1 SMP Debian 3.2.88-1 x86_64 Intel(R) Xeon(R) CPU E5-1650 0 @ 3.20GHz GenuineIntel GNU/Linux
$ cat /proc/meminfo | grep MemTotal
MemTotal: 32945884 kB
It has 12 cores.
$ cat /proc/cpuinfo | tail -n 27
processor : 11
vendor_id : GenuineIntel
cpu family : 6
model : 45
model name : Intel(R) Xeon(R) CPU E5-1650 0 @ 3.20GHz
stepping : 7
microcode : 0x70e
cpu MHz : 3201.000
cache size : 12288 KB
physical id : 0
siblings : 12
core id : 5
cpu cores : 6
apicid : 11
initial apicid : 11
fpu : yes
fpu_exception : yes
cpuid level : 13
wp : yes
flags : fpu vme de pse tsc msr pae mce cx8 apic sep mtrr pge mca cmov pat pse36 clflush dts acpi mmx fxsr sse sse2 ss ht tm pbe syscall nx pdpe1gb rdtscp lm constant_tsc arch_perfmon pebs bts rep_good nopl xtopology nonstop_tsc aperfmperf pni pclmulqdq dtes64 monitor ds_cpl vmx smx est tm2 ssse3 cx16 xtpr pdcm pcid dca sse4_1 sse4_2 x2apic popcnt tsc_deadline_timer aes xsave avx lahf_lm ida arat epb xsaveopt pln pts dtherm tpr_shadow vnmi flexpriority ept vpid
bogomips : 6384.44
clflush size : 64
cache_alignment : 64
address sizes : 46 bits physical, 48 bits virtual
power management:
Anything else?
The memory failure in doctest/test.py
is slightly different between Gentoo and Prefix
Gentoo:
sage -t --long --warn-long 139.5 /usr/lib/python3.7/site-packages/sage/doctest/test.py
**********************************************************************
File "/usr/lib/python3.7/site-packages/sage/doctest/test.py", line 521, in sage.doctest.test
Failed example:
if system() == "Linux":
P = subprocess.Popen(["sage", "-t", "--warn-long", "0", "--memlimit=2000", "memlimit.rst"], stdout=subprocess.PIPE, **kwds)
out, err = P.communicate()
ok = ("MemoryError: failed to allocate" in bytes_to_str(out))
Expected nothing
Got:
Process DocTestWorker-1:
Traceback (most recent call last):
File "/usr/lib/python3.7/multiprocessing/process.py", line 297, in _bootstrap
self.run()
File "/usr/lib/python3.7/site-packages/sage/doctest/forker.py", line 2172, in run
task(self.options, self.outtmpfile, msgpipe, self.result_queue)
File "/usr/lib/python3.7/site-packages/sage/doctest/forker.py", line 2525, in __call__
result_queue.put(result, False)
File "/usr/lib/python3.7/multiprocessing/queues.py", line 87, in put
self._start_thread()
File "/usr/lib/python3.7/multiprocessing/queues.py", line 170, in _start_thread
self._thread.start()
File "/usr/lib/python3.7/threading.py", line 852, in start
_start_new_thread(self._bootstrap, ())
RuntimeError: can't start new thread
Prefix:
File "usr/lib/python3.7/site-packages/sage/doctest/test.py", line 521, in sage.doctest.test
Failed example:
if system() == "Linux":
P = subprocess.Popen(["sage", "-t", "--warn-long", "0", "--memlimit=2000", "memlimit.rst"], stdout=subprocess.PIPE, **kwds)
out, err = P.communicate()
ok = ("MemoryError: failed to allocate" in bytes_to_str(out))
Expected nothing
Got:
Traceback (most recent call last):
File "/storage/strogdon/gentoo-rap/usr/lib/python-exec/python3.7/sage-runtests", line 178, in <module>
err = DC.run()
File "/storage/strogdon/gentoo-rap/usr/lib/python3.7/site-packages/sage/doctest/control.py", line 1216, in run
self.run_doctests()
File "/storage/strogdon/gentoo-rap/usr/lib/python3.7/site-packages/sage/doctest/control.py", line 912, in run_doctests
self.dispatcher = DocTestDispatcher(self)
File "/storage/strogdon/gentoo-rap/usr/lib/python3.7/site-packages/sage/doctest/forker.py", line 1648, in __init__
init_sage()
File "/storage/strogdon/gentoo-rap/usr/lib/python3.7/site-packages/sage/doctest/forker.py", line 172, in init_sage
import sage.repl.ipython_kernel.all_jupyter
File "/storage/strogdon/gentoo-rap/usr/lib/python3.7/site-packages/sage/repl/ipython_kernel/all_jupyter.py", line 7, in <module>
from .widgets_sagenb import (input_box, text_control, slider,
File "/storage/strogdon/gentoo-rap/usr/lib/python3.7/site-packages/sage/repl/ipython_kernel/widgets_sagenb.py", line 30, in <module>
from ipywidgets.widgets import (IntSlider, IntRangeSlider, FloatSlider,
File "/storage/strogdon/gentoo-rap/usr/lib/python3.7/site-packages/ipywidgets/__init__.py", line 25, in <module>
from .widgets import *
File "/storage/strogdon/gentoo-rap/usr/lib/python3.7/site-packages/ipywidgets/widgets/__init__.py", line 4, in <module>
from .widget import Widget, CallbackDispatcher, register, widget_serialization
File "/storage/strogdon/gentoo-rap/usr/lib/python3.7/site-packages/ipywidgets/widgets/widget.py", line 15, in <module>
from ipykernel.comm import Comm
File "/storage/strogdon/gentoo-rap/usr/lib/python3.7/site-packages/ipykernel/__init__.py", line 2, in <module>
from .connect import *
File "/storage/strogdon/gentoo-rap/usr/lib/python3.7/site-packages/ipykernel/connect.py", line 18, in <module>
import jupyter_client
File "/storage/strogdon/gentoo-rap/usr/lib/python3.7/site-packages/jupyter_client/__init__.py", line 4, in <module>
from .connect import *
File "/storage/strogdon/gentoo-rap/usr/lib/python3.7/site-packages/jupyter_client/connect.py", line 24, in <module>
import zmq
File "/storage/strogdon/gentoo-rap/usr/lib/python3.7/site-packages/zmq/__init__.py", line 47, in <module>
from zmq import backend
File "/storage/strogdon/gentoo-rap/usr/lib/python3.7/site-packages/zmq/backend/__init__.py", line 40, in <module>
reraise(*exc_info)
File "/storage/strogdon/gentoo-rap/usr/lib/python3.7/site-packages/zmq/utils/sixcerpt.py", line 34, in reraise
raise value
File "/storage/strogdon/gentoo-rap/usr/lib/python3.7/site-packages/zmq/backend/__init__.py", line 27, in <module>
_ns = select_backend(first)
File "/storage/strogdon/gentoo-rap/usr/lib/python3.7/site-packages/zmq/backend/select.py", line 28, in select_backend
mod = __import__(name, fromlist=public_api)
File "/storage/strogdon/gentoo-rap/usr/lib/python3.7/site-packages/zmq/backend/cython/__init__.py", line 6, in <module>
from . import (constants, error, message, context,
ImportError: /storage/strogdon/gentoo-rap/usr/lib/python3.7/site-packages/zmq/backend/cython/_version.cpython-37m-x86_64-linux-gnu.so: failed to map segment from shared object
The prefix one is interesting and I have never seen it before. But that's definitely some memory management kind of issue. Does the debian host run selinux? Does the gentoo host run hardened?
No selinux on the Prefix host and the Gentoo machine is not hardened.
This fails
P = subprocess.Popen(["sage", "-t", "--warn-long", "0", "--memlimit=2000", "memlimit.rst"], stdout=subprocess.PIPE, **kwds)
but this doesn't
P = subprocess.Popen(["sage", "-t", "--warn-long", "0", "--memlimit=3000", "memlimit.rst"], stdout=subprocess.PIPE, **kwds)
The **kwds
is defined at the top of doctest/test.py
.
Perhaps similar to https://trac.sagemath.org/ticket/28106
Yes, this is the same kind of boat. For some reason the limit is probably too small for your setup. Working out what should be the correct limit and how to properly manage the memory is hard.
Downgrading from pexpect-4.8.0
to pexpect-4.6.0
fixed
sage -t --long usr/lib/python3.7/site-packages/sage/interfaces/sagespawn.pyx # 2 doctests failed
Oh, yes! I should have remembered that.
One of the failures in ipython_extension.py
File "usr/lib/python3.7/site-packages/sage/repl/ipython_extension.py", line 385, in sage.repl.ipython_extension.SageMagics.fortran
Failed example:
shell.run_cell('''
%%fortran
C FILE: FIB1.F
SUBROUTINE FIB(A,N)
C
C CALCULATE FIRST N FIBONACCI NUMBERS
C
INTEGER N
REAL*8 A(N)
DO I=1,N
IF (I.EQ.1) THEN
A(I) = 0.0D0
ELSEIF (I.EQ.2) THEN
A(I) = 1.0D0
ELSE
A(I) = A(I-1) + A(I-2)
ENDIF
ENDDO
END
C END FILE FIB1.F
''')
Expected nothing
Got:
File "<ipython-input-1-ab346d8f879f>", line 3
C FILE: FIB1.F
^
SyntaxError: invalid syntax
<BLANKLINE>
which is odd.
Yes, I know. Some "magic" is not working, specifically "cell_magic ", "line_magic" are fine if I remember correctly. I asked Antonio Arojas on the ticket to upgrade to ipython-7 and he had no clue whatsoever.
OK, I had ipython-7.5.0
installed. Installed ipython-7.10.0
and
sage -t --long usr/lib/python3.7/site-packages/sage/repl/ipython_extension.py
[80 tests, 6.46 s]
----------------------------------------------------------------------
All tests passed!
Good to know that it is a ipython problem. But now all the doctests involving dictionary will be failing.
:disappointed:
For the record, I just moved to ipython-7.14.0
sage -t --long --warn-long 100.1 /usr/lib/python3.7/site-packages/sage/combinat/similarity_class_type.py # 1 doctest failed
sage -t --long --warn-long 100.1 /usr/lib/python3.7/site-packages/sage/plot/plot3d/shapes2.py # 6 doctests failed
sage -t --long --warn-long 100.1 /usr/lib/python3.7/site-packages/sage/rings/asymptotic/asymptotic_expansion_generators.py # 2 doctests failed
sage -t --long --warn-long 100.1 /usr/lib/python3.7/site-packages/sage/graphs/generic_graph.py # 17 doctests failed
sage -t --long --warn-long 100.1 /usr/lib/python3.7/site-packages/sage/matroids/catalog.py # 1 doctest failed
sage -t --long --warn-long 100.1 /usr/lib/python3.7/site-packages/sage/plot/plot3d/base.pyx # 3 doctests failed
sage -t --long --warn-long 100.1 /usr/lib/python3.7/site-packages/sage/rings/number_field/number_field.py # 1 doctest failed
sage -t --long --warn-long 100.1 /usr/lib/python3.7/site-packages/sage/crypto/mq/sr.py # 2 doctests failed
sage -t --long --warn-long 100.1 /usr/lib/python3.7/site-packages/sage/geometry/polyhedron/base.py # 3 doctests failed
sage -t --long --warn-long 100.1 /usr/lib/python3.7/site-packages/sage/plot/graphics.py # 6 doctests failed
sage -t --long --warn-long 100.1 /usr/lib/python3.7/site-packages/sage/coding/linear_code.py # 2 doctests failed
sage -t --long --warn-long 100.1 /usr/lib/python3.7/site-packages/sage/plot/plot3d/shapes.pyx # 2 doctests failed
sage -t --long --warn-long 100.1 /usr/lib/python3.7/site-packages/sage/combinat/partition_kleshchev.py # 8 doctests failed
sage -t --long --warn-long 100.1 /usr/lib/python3.7/site-packages/sage/combinat/crystals/kirillov_reshetikhin.py # 3 doctests failed
sage -t --long --warn-long 100.1 /usr/lib/python3.7/site-packages/sage/rings/asymptotic/asymptotics_multivariate_generating_functions.py # 1 doctest failed
sage -t --long --warn-long 100.1 /usr/lib/python3.7/site-packages/sage/schemes/riemann_surfaces/riemann_surface.py # 1 doctest failed
sage -t --long --warn-long 100.1 /usr/lib/python3.7/site-packages/sage/combinat/k_tableau.py # 4 doctests failed
sage -t --long --warn-long 100.1 /usr/lib/python3.7/site-packages/sage/plot/plot3d/parametric_surface.pyx # 1 doctest failed
sage -t --long --warn-long 100.1 /usr/lib/python3.7/site-packages/sage/graphs/graph.py # 3 doctests failed
sage -t --long --warn-long 100.1 /usr/share/doc/sage-9999/html/en/thematic_tutorials/_sources/sandpile.rst # 6 doctests failed
sage -t --long --warn-long 100.1 /usr/lib/python3.7/site-packages/sage/combinat/partition.py # 2 doctests failed
sage -t --long --warn-long 100.1 /usr/share/doc/sage-9999/html/en/prep/_sources/Advanced-2DPlotting.rst # 3 doctests failed
sage -t --long --warn-long 100.1 /usr/lib/python3.7/site-packages/sage/sandpiles/sandpile.py # 11 doctests failed
sage -t --long --warn-long 100.1 /usr/lib/python3.7/site-packages/sage/combinat/crystals/mv_polytopes.py # 1 doctest failed
sage -t --long --warn-long 100.1 /usr/lib/python3.7/site-packages/sage/plot/plot3d/index_face_set.pyx # 4 doctests failed
sage -t --long --warn-long 100.1 /usr/lib/python3.7/site-packages/sage/libs/ppl.pyx # 4 doctests failed
sage -t --long --warn-long 100.1 /usr/lib/python3.7/site-packages/sage/doctest/forker.py # 1 doctest failed
sage -t --long --warn-long 100.1 /usr/lib/python3.7/site-packages/sage/combinat/cluster_algebra_quiver/cluster_seed.py # 2 doctests failed
sage -t --long --warn-long 100.1 /usr/lib/python3.7/site-packages/sage/geometry/polyhedron/ppl_lattice_polytope.py # 1 doctest failed
sage -t --long --warn-long 100.1 /usr/lib/python3.7/site-packages/sage/groups/perm_gps/cubegroup.py # 1 doctest failed
sage -t --long --warn-long 100.1 /usr/lib/python3.7/site-packages/sage/algebras/cluster_algebra.py # 2 doctests failed
sage -t --long --warn-long 100.1 /usr/lib/python3.7/site-packages/sage/combinat/multiset_partition_into_sets_ordered.py # 4 doctests failed
sage -t --long --warn-long 100.1 /usr/lib/python3.7/site-packages/sage/combinat/partition_tuple.py # 1 doctest failed
sage -t --long --warn-long 100.1 /usr/lib/python3.7/site-packages/sage/structure/element.pyx # 1 doctest failed
sage -t --long --warn-long 100.1 /usr/lib/python3.7/site-packages/sage/plot/plot3d/implicit_surface.pyx # 1 doctest failed
sage -t --long --warn-long 100.1 /usr/lib/python3.7/site-packages/sage/categories/pushout.py # 1 doctest failed
sage -t --long --warn-long 100.1 /usr/lib/python3.7/site-packages/sage/modular/arithgroup/arithgroup_perm.py # 1 doctest failed
sage -t --long --warn-long 100.1 /usr/lib/python3.7/site-packages/sage/rings/tate_algebra_element.pyx # 1 doctest failed
sage -t --long --warn-long 100.1 /usr/lib/python3.7/site-packages/sage/rings/number_field/S_unit_solver.py # 2 doctests failed
sage -t --long --warn-long 100.1 /usr/lib/python3.7/site-packages/sage/databases/sql_db.py # 8 doctests failed
sage -t --long --warn-long 100.1 /usr/lib/python3.7/site-packages/sage/rings/polynomial/multi_polynomial_ideal.py # 1 doctest failed
sage -t --long --warn-long 100.1 /usr/lib/python3.7/site-packages/sage/rings/invariants/invariant_theory.py # 1 doctest failed
sage -t --long --warn-long 100.1 /usr/lib/python3.7/site-packages/sage/graphs/digraph.py # 4 doctests failed
sage -t --long --warn-long 100.1 /usr/lib/python3.7/site-packages/sage/categories/finite_dimensional_algebras_with_basis.py # 1 doctest failed
sage -t --long --warn-long 100.1 /usr/lib/python3.7/site-packages/sage/combinat/posets/posets.py # 3 doctests failed
sage -t --long --warn-long 100.1 /usr/lib/python3.7/site-packages/sage/rings/function_field/divisor.py # 1 doctest failed
sage -t --long --warn-long 100.1 /usr/lib/python3.7/site-packages/sage/schemes/toric/morphism.py # 5 doctests failed
sage -t --long --warn-long 100.1 /usr/lib/python3.7/site-packages/sage/categories/category.py # 1 doctest failed
sage -t --long --warn-long 100.1 /usr/lib/python3.7/site-packages/sage/schemes/elliptic_curves/cm.py # 1 doctest failed
sage -t --long --warn-long 100.1 /usr/lib/python3.7/site-packages/sage/rings/polynomial/multi_polynomial.pyx # 1 doctest failed
sage -t --long --warn-long 100.1 /usr/lib/python3.7/site-packages/sage/knots/link.py # 6 doctests failed
sage -t --long --warn-long 100.1 /usr/lib/python3.7/site-packages/sage/combinat/finite_state_machine.py # 12 doctests failed
sage -t --long --warn-long 100.1 /usr/lib/python3.7/site-packages/sage/geometry/triangulation/element.py # 2 doctests failed
sage -t --long --warn-long 100.1 /usr/lib/python3.7/site-packages/sage/rings/polynomial/polynomial_ring.py # 1 doctest failed
sage -t --long --warn-long 100.1 /usr/lib/python3.7/site-packages/sage/combinat/parallelogram_polyomino.py # 2 doctests failed
sage -t --long --warn-long 100.1 /usr/lib/python3.7/site-packages/sage/categories/primer.py # 2 doctests failed
sage -t --long --warn-long 100.1 /usr/lib/python3.7/site-packages/sage/modular/arithgroup/congroup_gammaH.py # 1 doctest failed
sage -t --long --warn-long 100.1 /usr/lib/python3.7/site-packages/sage/cpython/dict_del_by_value.pyx # 2 doctests failed
sage -t --long --warn-long 100.1 /usr/lib/python3.7/site-packages/sage/rings/polynomial/groebner_fan.py # 1 doctest failed
sage -t --long --warn-long 100.1 /usr/lib/python3.7/site-packages/sage/categories/map.pyx # 1 doctest failed
sage -t --long --warn-long 100.1 /usr/lib/python3.7/site-packages/sage/plot/histogram.py # 2 doctests failed
sage -t --long --warn-long 100.1 /usr/lib/python3.7/site-packages/sage/ext/fast_callable.pyx # 5 doctests failed
sage -t --long --warn-long 100.1 /usr/lib/python3.7/site-packages/sage/combinat/words/finite_word.py # 4 doctests failed
sage -t --long --warn-long 100.1 /usr/lib/python3.7/site-packages/sage/combinat/growth.py # 6 doctests failed
sage -t --long --warn-long 100.1 /usr/lib/python3.7/site-packages/sage/numerical/backends/glpk_backend.pyx # 1 doctest failed
sage -t --long --warn-long 100.1 /usr/lib/python3.7/site-packages/sage/interfaces/tests.py # 1 doctest failed
sage -t --long --warn-long 100.1 /usr/lib/python3.7/site-packages/sage/rings/padics/lattice_precision.py # 1 doctest failed
sage -t --long --warn-long 100.1 /usr/lib/python3.7/site-packages/sage/combinat/root_system/weyl_characters.py # 7 doctests failed
sage -t --long --warn-long 100.1 /usr/lib/python3.7/site-packages/sage/rings/ring_extension.pyx # 2 doctests failed
sage -t --long --warn-long 100.1 /usr/lib/python3.7/site-packages/sage/rings/polynomial/multi_polynomial_libsingular.pyx # 1 doctest failed
sage -t --long --warn-long 100.1 /usr/lib/python3.7/site-packages/sage/matroids/matroid.pyx # 4 doctests failed
sage -t --long --warn-long 100.1 /usr/lib/python3.7/site-packages/sage/graphs/graph_coloring.pyx # 1 doctest failed
sage -t --long --warn-long 100.1 /usr/lib/python3.7/site-packages/sage/libs/gap/element.pyx # 4 doctests failed
sage -t --long --warn-long 100.1 /usr/lib/python3.7/site-packages/sage/algebras/quantum_groups/representations.py # 1 doctest failed
sage -t --long --warn-long 100.1 /usr/lib/python3.7/site-packages/sage/combinat/ncsf_qsym/tutorial.py # 1 doctest failed
sage -t --long --warn-long 100.1 /usr/lib/python3.7/site-packages/sage/modular/dirichlet.py # 1 doctest failed
sage -t --long --warn-long 100.1 /usr/lib/python3.7/site-packages/sage/libs/gap/libgap.pyx # 2 doctests failed
sage -t --long --warn-long 100.1 /usr/lib/python3.7/site-packages/sage/matroids/graphic_matroid.py # 4 doctests failed
sage -t --long --warn-long 100.1 /usr/lib/python3.7/site-packages/sage/matroids/matroids_plot_helpers.py # 1 doctest failed
sage -t --long --warn-long 100.1 /usr/lib/python3.7/site-packages/sage/schemes/toric/weierstrass.py # 1 doctest failed
sage -t --long --warn-long 100.1 /usr/lib/python3.7/site-packages/sage/combinat/dyck_word.py # 1 doctest failed
sage -t --long --warn-long 100.1 /usr/lib/python3.7/site-packages/sage/graphs/tutte_polynomial.py # 1 doctest failed
sage -t --long --warn-long 100.1 /usr/lib/python3.7/site-packages/sage/geometry/polyhedron/combinatorial_polyhedron/base.pyx # 3 doctests failed
sage -t --long --warn-long 100.1 /usr/lib/python3.7/site-packages/sage/algebras/lie_algebras/lie_algebra_element.pyx # 3 doctests failed
sage -t --long --warn-long 100.1 /usr/lib/python3.7/site-packages/sage/combinat/matrices/latin.py # 2 doctests failed
sage -t --long --warn-long 100.1 /usr/share/doc/sage-9999/html/en/thematic_tutorials/_sources/lie/weyl_character_ring.rst # 1 doctest failed
sage -t --long --warn-long 100.1 /usr/lib/python3.7/site-packages/sage/rings/polynomial/plural.pyx # 1 doctest failed
sage -t --long --warn-long 100.1 /usr/lib/python3.7/site-packages/sage/libs/glpk/error.pyx # 1 doctest failed
sage -t --long --warn-long 100.1 /usr/lib/python3.7/site-packages/sage/combinat/set_partition.py # 2 doctests failed
sage -t --long --warn-long 100.1 /usr/lib/python3.7/site-packages/sage/schemes/projective/projective_space.py # 1 doctest failed
sage -t --long --warn-long 100.1 /usr/lib/python3.7/site-packages/sage/graphs/base/c_graph.pyx # 1 doctest failed
sage -t --long --warn-long 100.1 /usr/lib/python3.7/site-packages/sage/categories/crystals.py # 1 doctest failed
sage -t --long --warn-long 100.1 /usr/lib/python3.7/site-packages/sage/graphs/isgci.py # 2 doctests failed
sage -t --long --warn-long 100.1 /usr/lib/python3.7/site-packages/sage/matroids/linear_matroid.pyx # 8 doctests failed
sage -t --long --warn-long 100.1 /usr/lib/python3.7/site-packages/sage/combinat/words/suffix_trees.py # 1 doctest failed
sage -t --long --warn-long 100.1 /usr/lib/python3.7/site-packages/sage/rings/multi_power_series_ring_element.py # 3 doctests failed
sage -t --long --warn-long 100.1 /usr/lib/python3.7/site-packages/sage/rings/polynomial/laurent_polynomial.pyx # 1 doctest failed
sage -t --long --warn-long 100.1 /usr/lib/python3.7/site-packages/sage/rings/polynomial/polynomial_element_generic.py # 1 doctest failed
sage -t --long --warn-long 100.1 /usr/lib/python3.7/site-packages/sage/structure/unique_representation.py # 1 doctest failed
sage -t --long --warn-long 100.1 /usr/lib/python3.7/site-packages/sage/categories/complex_reflection_or_generalized_coxeter_groups.py # 1 doctest failed
sage -t --long --warn-long 100.1 /usr/share/doc/sage-9999/html/en/thematic_tutorials/_sources/tutorial-implementing-algebraic-structures.rst # 2 doctests failed
sage -t --long --warn-long 100.1 /usr/lib/python3.7/site-packages/sage/rings/finite_rings/hom_finite_field.pyx # 2 doctests failed
sage -t --long --warn-long 100.1 /usr/lib/python3.7/site-packages/sage/combinat/symmetric_group_representations.py # 2 doctests failed
sage -t --long --warn-long 100.1 /usr/lib/python3.7/site-packages/sage/graphs/distances_all_pairs.pyx # 2 doctests failed
sage -t --long --warn-long 100.1 /usr/lib/python3.7/site-packages/sage/graphs/centrality.pyx # 1 doctest failed
sage -t --long --warn-long 100.1 /usr/lib/python3.7/site-packages/sage/graphs/base/boost_graph.pyx # 2 doctests failed
sage -t --long --warn-long 100.1 /usr/lib/python3.7/site-packages/sage/graphs/schnyder.py # 1 doctest failed
sage -t --long --warn-long 100.1 /usr/lib/python3.7/site-packages/sage/categories/morphism.pyx # 1 doctest failed
sage -t --long --warn-long 100.1 /usr/lib/python3.7/site-packages/sage/algebras/weyl_algebra.py # 2 doctests failed
sage -t --long --warn-long 100.1 /usr/lib/python3.7/site-packages/sage/combinat/words/words.py # 1 doctest failed
sage -t --long --warn-long 100.1 /usr/lib/python3.7/site-packages/sage/rings/polynomial/polydict.pyx # 1 doctest failed
sage -t --long --warn-long 100.1 /usr/lib/python3.7/site-packages/sage/structure/indexed_generators.py # 3 doctests failed
sage -t --long --warn-long 100.1 /usr/share/doc/sage-9999/html/en/thematic_tutorials/_sources/tutorial-programming-python.rst # 4 doctests failed
sage -t --long --warn-long 100.1 /usr/lib/python3.7/site-packages/sage/matroids/basis_exchange_matroid.pyx # 1 doctest failed
sage -t --long --warn-long 100.1 /usr/lib/python3.7/site-packages/sage/schemes/hyperelliptic_curves/invariants.py # 3 doctests failed
sage -t --long --warn-long 100.1 /usr/lib/python3.7/site-packages/sage/matroids/circuit_closures_matroid.pyx # 1 doctest failed
sage -t --long --warn-long 100.1 /usr/lib/python3.7/site-packages/sage/matroids/set_system.pyx # 2 doctests failed
sage -t --long --warn-long 100.1 /usr/lib/python3.7/site-packages/sage/structure/set_factories.py # 9 doctests failed
sage -t --long --warn-long 100.1 /usr/lib/python3.7/site-packages/sage/graphs/graph_database.py # 1 doctest failed
sage -t --long --warn-long 100.1 /usr/lib/python3.7/site-packages/sage/sandpiles/examples.py # 1 doctest failed
sage -t --long --warn-long 100.1 /usr/lib/python3.7/site-packages/sage/sets/finite_set_map_cy.pyx # 1 doctest failed
sage -t --long --warn-long 100.1 /usr/lib/python3.7/site-packages/sage/categories/regular_supercrystals.py # 1 doctest failed
sage -t --long --warn-long 100.1 /usr/lib/python3.7/site-packages/sage/combinat/integer_lists/base.pyx # 1 doctest failed
sage -t --long --warn-long 100.1 /usr/lib/python3.7/site-packages/sage/structure/global_options.py # 1 doctest failed
sage -t --long --warn-long 100.1 /usr/share/doc/sage-9999/html/en/thematic_tutorials/_sources/tutorial-objects-and-classes.rst # 2 doctests failed
sage -t --long --warn-long 100.1 /usr/lib/python3.7/site-packages/sage/graphs/partial_cube.py # 1 doctest failed
sage -t --long --warn-long 100.1 /usr/lib/python3.7/site-packages/sage/doctest/util.py # 1 doctest failed
sage -t --long --warn-long 100.1 /usr/lib/python3.7/site-packages/sage/libs/lrcalc/lrcalc.pyx # 7 doctests failed
sage -t --long --warn-long 100.1 /usr/lib/python3.7/site-packages/sage/misc/abstract_method.py # 1 doctest failed
sage -t --long --warn-long 100.1 /usr/lib/python3.7/site-packages/sage/parallel/parallelism.py # 2 doctests failed
sage -t --long --warn-long 100.1 /usr/lib/python3.7/site-packages/sage/structure/proof/all.py # 2 doctests failed
sage -t --long --warn-long 100.1 /usr/lib/python3.7/site-packages/sage/repl/display/pretty_print.py # 1 doctest failed
I am going to push thing in https://trac.sagemath.org/ticket/29042 so we can get rid of this distraction and noise.
doctesting vanilla 9.1 gives
sage -t --long --warn-long 133.2 src/sage/crypto/mq/sr.py # Killed due to abort
sage -t --long --warn-long 133.2 src/sage/rings/integer.pyx # 2 doctests failed
sage -t --long --warn-long 133.2 src/sage/rings/polynomial/multi_polynomial_sequence.py # Killed due to abort
sage -t --long --warn-long 133.2 src/sage/rings/polynomial/pbori.pyx # Killed due to abort
sage -t --long --warn-long 133.2 src/sage/rings/polynomial/polynomial_ring_constructor.py # Killed due to abort
sage -t --long --warn-long 133.2 src/sage/sat/solvers/dimacs.py # Killed due to abort
sage -t --long --warn-long 133.2 src/doc/en/reference/sat/index.rst # Killed due to abort
sage -t --long --warn-long 133.2 src/sage/sat/boolean_polynomials.py # Killed due to abort
I suspect (hoping) that these are due to some system component.
Almost certainly, but that is extremely annoying to say the least. I am concerned by the number of "killed due to abort". Those don't pass when run individually do they? What is integer.pyx
one?
The integer.pyx
failure is a combination of MemoryError
and qsieve
else
sage -t --long --warn-long 133.2 src/sage/rings/integer.pyx
**********************************************************************
File "src/sage/rings/integer.pyx", line 3118, in sage.rings.integer.Integer.divisors
Failed example:
for i in range(20): # long time
try:
alarm(RDF.random_element(1e-3, 0.5))
_ = n.divisors()
cancel_alarm() # we never get here
except AlarmInterrupt:
pass
Exception raised:
Traceback (most recent call last):
File "/local/sage-git/sage/local/lib/python3.7/site-packages/sage/doctest/forker.py", line 681, in _run
self.compile_and_execute(example, compiler, test.globs)
File "/local/sage-git/sage/local/lib/python3.7/site-packages/sage/doctest/forker.py", line 1123, in compile_and_execute
exec(compiled, globs)
File "<doctest sage.rings.integer.Integer.divisors[20]>", line 4, in <module>
_ = n.divisors()
File "sage/rings/integer.pyx", line 3188, in sage.rings.integer.Integer.divisors (build/cythonized/sage/rings/integer.c:20545)
ptr = <unsigned long*>check_allocarray(divisor_count, 3 * sizeof(unsigned long))
File "memory.pxd", line 87, in cysignals.memory.check_allocarray (build/cythonized/sage/rings/integer.c:46770)
MemoryError: failed to allocate 33554432 * 24 bytes
**********************************************************************
File "src/sage/rings/integer.pyx", line 3966, in sage.rings.integer.Integer.?
Failed example:
n.factor(algorithm='qsieve')
Exception raised:
Traceback (most recent call last):
File "/local/sage-git/sage/local/lib/python3.7/site-packages/sage/doctest/forker.py", line 681, in _run
self.compile_and_execute(example, compiler, test.globs)
File "/local/sage-git/sage/local/lib/python3.7/site-packages/sage/doctest/forker.py", line 1123, in compile_and_execute
exec(compiled, globs)
File "<doctest sage.rings.integer.Integer.?[14]>", line 1, in <module>
n.factor(algorithm='qsieve')
File "sage/rings/integer.pyx", line 4056, in sage.rings.integer.Integer.factor (build/cythonized/sage/rings/integer.c:26295)
res = [(p, 1) for p in qsieve(n)[0]]
File "/local/sage-git/sage/local/lib/python3.7/site-packages/sage/interfac
return qsieve_block(n, time, verbose)
File "/local/sage-git/sage/local/lib/python3.7/site-packages/sage/interfac
out, err = p.communicate(str(n))
File "/local/sage-git/sage/local/lib/python3.7/subprocess.py", line 939, i
stdout, stderr = self._communicate(input, endtime, timeout)
File "/local/sage-git/sage/local/lib/python3.7/subprocess.py", line 1681,
ready = selector.select(timeout)
File "/local/sage-git/sage/local/lib/python3.7/selectors.py", line 415, in
fd_event_list = self._selector.poll(timeout)
File "src/cysignals/signals.pyx", line 320, in cysignals.signals.python_ch
cysignals.signals.AlarmInterrupt
I do not have qsieve
installed. Wonder why vanilla didn't pull it in if a doctest depends on it? The "Killed due to abort" failures persist when doctested individually.
Do the killed doctest have a common denominator?
Every "Killed due to abort" seems to be related to polybori
. For example in
sage -t --long --warn-long 133.2 src/doc/en/reference/sat/index.rst
I have
sage: sr = mq.SR(1,1,1,4,gf2=True,polybori=True) ## line 126 ##
sage: F,s = sr.polynomial_system() ## line 127 ##
terminate called after throwing an instance of 'std::bad_alloc'
what(): std::bad_alloc
------------------------------------------------------------------------
/local/sage-git/sage/local/lib/python3.7/site-packages/cysignals/signals.cpython-37m-x86_64-linux-gnu.so(+0x847b)[0x7fa1e508a47b]
/local/sage-git/sage/local/lib/python3.7/site-packages/cysignals/signals.cpython-37m-x86_64-linux-gnu.so(+0x8529)[0x7fa1e508a529]
/local/sage-git/sage/local/lib/python3.7/site-packages/cysignals/signals.cpython-37m-x86_64-linux-gnu.so(+0xbf4d)[0x7fa1e508df4d]
/lib64/libc.so.6(+0x37b40)[0x7fa1ecacab40]
/lib64/libc.so.6(gsignal+0x141)[0x7fa1ecacaac1]
/lib64/libc.so.6(abort+0x127)[0x7fa1ecab485b]
/usr/lib/gcc/x86_64-pc-linux-gnu/9.3.0/libstdc++.so.6(+0xa0aa5)[0x7fa1d359caa5]
/usr/lib/gcc/x86_64-pc-linux-gnu/9.3.0/libstdc++.so.6(+0xd09a6)[0x7fa1d35cc9a6]
/usr/lib/gcc/x86_64-pc-linux-gnu/9.3.0/libstdc++.so.6(+0xd0a11)[0x7fa1d35cca11]
/usr/lib/gcc/x86_64-pc-linux-gnu/9.3.0/libstdc++.so.6(+0xd0c63)[0x7fa1d35ccc63]
/usr/lib/gcc/x86_64-pc-linux-gnu/9.3.0/libstdc++.so.6(+0xa070c)[0x7fa1d359c70c]
/local/sage-git/sage/local/lib/python3.7/site-packages/sage/rings/polynomial/pbori.cpython-37m-x86_64-linux-gnu.so(_ZNSt5dequeIN8polybori14CCuddNavigatorESaIS1_EE17_M_reallocate_mapEmb+0xba)[0x7fa17d43de8a]
/local/sage-git/sage/local/lib/python3.7/site-packages/sage/rings/polynomial/pbori.cpython-37m-x86_64-linux-gnu.so(_ZNSt5dequeIN8polybori14CCuddNavigatorESaIS1_EE23_M_new_elements_at_backEm+0xc5)[0x7fa17d43e015]
/local/sage-git/sage/local/lib/python3.7/site-packages/sage/rings/polynomial/pbori.cpython-37m-x86_64-linux-gnu.so(_ZNSt5dequeIN8polybori14CCuddNavigatorESaIS1_EE13_M_insert_auxISt15_Deque_iteratorIS1_RKS1_PS6_EEEvS5_IS1_RS1_PS1_ET_SD_m+0xb83)[0x7fa17d43ed03]
/local/sage-git/sage/local/lib/python3.7/site-packages/sage/rings/polynomial/pbori.cpython-37m-x86_64-linux-gnu.so(_ZNSt5dequeIN8polybori14CCuddNavigatorESaIS1_EE19_M_range_insert_auxISt15_Deque_iteratorIS1_RKS1_PS6_EEEvS5_IS1_RS1_PS1_ET_SD_St20forward_iterator_tag+0xef)[0x7fa17d43f12f]
/local/sage-git/sage/local/lib/libbrial.so.3(_ZN8polybori13CDegTermStackINS_14CCuddNavigatorENS_9valid_tagENS_11invalid_tagENS_18CAbstractStackBaseIS1_EEE8findTermEm+0x5be)[0x7fa17d12f1ee]
/local/sage-git/sage/local/lib/libbrial.so.3(_ZN8polybori13CDegTermStackINS_14CCuddNavigatorENS_9valid_tagENS_11invalid_tagENS_18CAbstractStackBaseIS1_EEE9incrementEv+0x26a)[0x7fa17d12f7ca]
/local/sage-git/sage/local/lib/libbrial.so.3(_ZN8polybori12COrderedIterINS_14CCuddNavigatorENS_13BooleExponentEE9incrementEv+0x8b)[0x7fa17d11652b]
/local/sage-git/sage/local/lib/libbrial.so.3(_ZN8polybori14dd_print_termsINS_12COrderedIterINS_14CCuddNavigatorENS_13BooleExponentEEENS_13variable_nameINS_13BoolePolyRingEiPKcEENS_14CStringLiteralILj3EEENSA_ILj4EEENS_17integral_constantIjLj1EjEESoEEvT_SF_RKT0_RKT1_RKT2_RKT3_RT4_+0x319)[0x7fa17d116b99]
/local/sage-git/sage/local/lib/libbrial.so.3(_ZNK8polybori15BoolePolynomial5printERSo+0xcd)[0x7fa17d10f08d]
Perhaps vanilla brial
needs to be rebuilt? Relative to qsieve
, there is no vanilla qsieve
package.
std::bad_alloc
is still a memory problem.
The failures either terminated because of std::bad_alloc
or std::length_error
.
qsieve
has left vanilla some time ago. I just haven't gone around to remove it from the overlay for some reason.
Actually from within the doctesting framework integer.pyx
has the second failure as
File "src/sage/rings/integer.pyx", line 3790, in sage.rings.integer.Integer.trial_division
Failed example:
n = 2 * next_prime(10^40); n.trial_division()
Exception raised:
Traceback (most recent call last):
File "/local/sage-git/sage/local/lib/python3.7/site-packages/sage/doctest/forker.py", line 681, in _run
self.compile_and_execute(example, compiler, test.globs)
File "/local/sage-git/sage/local/lib/python3.7/site-packages/sage/doctest/forker.py", line 1123, in compile_and_execute
exec(compiled, globs)
File "<doctest sage.rings.integer.Integer.trial_division[10]>", line 1, in <module>
n = Integer(2) * next_prime(Integer(10)**Integer(40)); n.trial_division()
File "/local/sage-git/sage/local/lib/python3.7/site-packages/sage/arith/misc.py", line 1193, in next_prime
return ZZ(n).next_prime(proof)
File "sage/rings/integer.pyx", line 5774, in sage.rings.integer.Integer.next_prime (build/cythonized/sage/rings/integer.c:35866)
while not p._pseudoprime_is_prime(proof):
File "sage/rings/integer.pyx", line 5309, in sage.rings.integer.Integer._pseudoprime_is_prime (build/cythonized/sage/rings/integer.c:33384)
return self.__pari__().isprime()
File "cypari2/gen.pyx", line 2112, in cypari2.gen.Gen.isprime
cysignals.signals.AlarmInterrupt
but as indicated in https://github.com/cschwan/sage-on-gentoo/issues/589#issuecomment-632955740 when doctested individually.
Rebuilt brial
(sage -f brial) with whatever came along with the rebuild and I now have no "Killed due to abort" failures. Somewhat strange.
I notice, with brial
that you were already using the vanilla sage's version. Not that it should matter.
/local/sage-git/sage/local/lib/libbrial.so.3(_ZNK8polybori15BoolePolynomial5printERSo+0xcd)[0x7fa17d10f08d]
Or may be you configured with the system version but at runtime, it found an old version in the sage/local/
tree which was used instead. In which case cleaning the one from vanilla should have helped.
Vanilla does not support checking for system brial
. I find it curious that rebuilding the vanilla brial
was needed. gcc-9.3.0
was installed on 4/23. Perhaps brial
was built with gcc-9.2.0-r2
? I would hope that that's not the issue.
Hum. May be an underlying system library was updated? m4ri
would be a prime suspect. I don't think you can use system boost
just yet but that would be a big one.
Vanilla is using system boost
. It was upgraded over 2 months ago. System m4rie
is also being used. It was upgraded over 3 months ago. Curious. I did have to rebuild a bunch of vanilla packages because system readline
had been upgraded. I believe this is unrelated since it was obvious where sage packages had undefined readline
symbols.
pillow-7.1.2
does not seem to play nicely with matplotlib-3.1.2
. pillow-7.0.0
seems to work fine. The unstable pillow
package was pulled in by Prefix:
sage -t --long usr/lib/python3.7/site-packages/sage/plot/plot.py
**********************************************************************
File "usr/lib/python3.7/site-packages/sage/plot/plot.py", line 94, in sage.plot.plot
Failed example:
plot(x^2, (x,0,5))
Expected:
Graphics object consisting of 1 graphics primitive
Got:
doctest:warning
...
import matplotlib.pyplot as plt
File "<frozen importlib._bootstrap>", line 983, in _find_and_load
File "<frozen importlib._bootstrap>", line 967, in _find_and_load_unlocked
File "<frozen importlib._bootstrap>", line 677, in _load_unlocked
File "<frozen importlib._bootstrap_external>", line 728, in exec_module
File "<frozen importlib._bootstrap>", line 219, in _call_with_frames_removed
File "/storage/strogdon/gentoo-rap/usr/lib/python3.7/site-packages/matplotlib/pyplot.py", line 33, in <module>
import matplotlib.image
File "<frozen importlib._bootstrap>", line 983, in _find_and_load
File "<frozen importlib._bootstrap>", line 967, in _find_and_load_unlocked
File "<frozen importlib._bootstrap>", line 677, in _load_unlocked
File "<frozen importlib._bootstrap_external>", line 728, in exec_module
File "<frozen importlib._bootstrap>", line 219, in _call_with_frames_removed
File "/storage/strogdon/gentoo-rap/usr/lib/python3.7/site-packages/matplotlib/image.py", line 17, in <module>
from matplotlib.backend_bases import FigureCanvasBase
File "<frozen importlib._bootstrap>", line 983, in _find_and_load
File "<frozen importlib._bootstrap>", line 967, in _find_and_load_unlocked
File "<frozen importlib._bootstrap>", line 677, in _load_unlocked
File "<frozen importlib._bootstrap_external>", line 728, in exec_module
File "<frozen importlib._bootstrap>", line 219, in _call_with_frames_removed
File "/storage/strogdon/gentoo-rap/usr/lib/python3.7/site-packages/matplotlib/backend_bases.py", line 57, in <module>
from PIL import PILLOW_VERSION
File "<frozen importlib._bootstrap>", line 1032, in _handle_fromlist
File "/storage/strogdon/gentoo-rap/usr/lib/python3.7/site-packages/PIL/__init__.py", line 40, in __getattr__
_raise_version_warning()
File "/storage/strogdon/gentoo-rap/usr/lib/python3.7/site-packages/PIL/__init__.py", line 32, in _raise_version_warning
stacklevel=3,
File "/storage/strogdon/gentoo-rap/usr/lib/python3.7/warnings.py", line 110, in _showwarnmsg
msg.file, msg.line)
:
DeprecationWarning: PILLOW_VERSION is deprecated and will be removed in a future release. Use __version__ instead.
Graphics object consisting of 1 graphics primitive
Actually with pillow-7.0.0
>>> import PIL
>>> PIL.__version__
'7.0.0'
>>> from PIL import PILLOW_VERSION
Traceback (most recent call last):
File "<stdin>", line 1, in <module>
ImportError: cannot import name 'PILLOW_VERSION' from 'PIL' (/storage/strogdon/gentoo-rap/usr/lib/python3.7/site-packages/PIL/__init__.py)
So I'm not quite sure why 7.0.0
works.
Neither do I!
I think I see. Starting with line 57 in
/usr/lib/python3.7/site-packages/matplotlib/backend_bases.py
there is
try:
from PIL import PILLOW_VERSION
from distutils.version import LooseVersion
if LooseVersion(PILLOW_VERSION) >= "3.4":
_has_pil = True
else:
_has_pil = False
del PILLOW_VERSION
except ImportError:
_has_pil = False
The from PIL import PILLOW_VERSION
throws an ImportError
with 7.0.0
while with 7.1.2
the import throws a DeprecationWarning
. The same code exists in matplotlib-3.2.1
.
So, maybe not even pillow-7.0.0
should be used, since the above code returns
_has_pil = False
even when an appropriate pillow
is installed; unless I'm missing something.
Possibly. In that case this is a ticket for bugzilla that the dependency on pillow
should be changed. Off course it would be awesome if matplotlib itself had a requirement list somewhere.
It appears that matplotlib
only needs pillow
with USE=doc
. I have USE=-doc
. So technically it should not be needed.
It appears to me, reading backend_bases.py
, that it is a bogus claim. pillow
is a backend to handle jpeg and tiff files by default with agg
.
OK matplotlib
bug: https://github.com/matplotlib/matplotlib/issues/16083. I guess either patch or use <=pillow-6.2.2
if jpeg
or tiff
needed. The gentoo ebuild should have dependency on pillow
in some other way.
FYI, see https://bugs.gentoo.org/727032
Some failures intersect with those at https://github.com/cschwan/sage-on-gentoo/issues/560.
sage/rings/function_field/function_field.py
passed when tested individually. I need to examine the failures withBad exit or seg fault
. Thesage/interfaces/sagespawn.pyx
failure is rather odd