cschwan / sage-on-gentoo

(Unofficial) Gentoo Overlay for Sage- and Sage-related ebuilds
84 stars 26 forks source link

MemoryError - combinat/designs/gen_quadrangles_with_spread.pyx - 9.2.beta12 [Prefix] #596

Closed strogdon closed 3 years ago

strogdon commented 4 years ago

My Prefix is now back online. Doctesting the above also fails with 9.2.beta11 using python3.7. With 9.2.beta12 the start of the failure is:

sage -t --long --random-seed=0 /storage/strogdon/gentoo-rap/usr/lib/python3.8/site-packages/sage/combinat/designs/gen_quadrangles_with_spread.pyx
**********************************************************************
File "/storage/strogdon/gentoo-rap/usr/lib/python3.8/site-packages/sage/combinat/designs/gen_quadrangles_with_spread.pyx", line 201, in sage.combinat.designs.gen_quadrangles_with_spread.dual_GQ_ovoid
Failed example:
    t[0].is_generalized_quadrangle(parameters=True)
Exception raised:
    Traceback (most recent call last):
      File "/storage/strogdon/gentoo-rap/usr/lib/python3.8/site-packages/sage/doctest/forker.py", line 720, in _run
        self.compile_and_execute(example, compiler, test.globs)
      File "/storage/strogdon/gentoo-rap/usr/lib/python3.8/site-packages/sage/doctest/forker.py", line 1145, in compile_and_execute
        exec(compiled, globs)
      File "<doctest sage.combinat.designs.gen_quadrangles_with_spread.dual_GQ_ovoid[4]>", line 1, in <module>
        t[Integer(0)].is_generalized_quadrangle(parameters=True)
      File "/storage/strogdon/gentoo-rap/usr/lib/python3.8/site-packages/sage/combinat/designs/incidence_structures.py", line 1720, in is_generalized_quadrangle
        g = self.incidence_graph()
      File "/storage/strogdon/gentoo-rap/usr/lib/python3.8/site-packages/sage/combinat/designs/incidence_structures.py", line 1201, in incidence_graph
        return BipartiteGraph(A)
      File "/storage/strogdon/gentoo-rap/usr/lib/python3.8/site-packages/sage/graphs/bipartite_graph.py", line 378, in __init__
      File "sage/matrix/matrix0.pyx", line 1035, in sage.matrix.matrix0.Matrix.__getitem__ (/storage/strogdon/gentoo-rap/var/tmp/portage/sci-mathematics/sage-9999/work/sage-9999/src-python3_8/build/cythonized/sage/matrix/matrix0.c:8288)
      File "sage/matrix/matrix1.pyx", line 1249, in sage.matrix.matrix1.Matrix.row (/storage/strogdon/gentoo-rap/var/tmp/portage/sci-mathematics/sage-9999/work/sage-9999/src-python3_8/build/cythonized/sage/matrix/matrix1.c:12899)
        tmp = [self.get_unsafe(i,j) for j in range(self._ncols)]
    MemoryError
**********************************************************************
File "/storage/strogdon/gentoo-rap/usr/lib/python3.8/site-packages/sage/combinat/designs/gen_quadrangles_with_spread.pyx", line 203, in sage.combinat.designs.gen_quadrangles_with_spread.dual_GQ_ovoid
Failed example:
    all([x in t[0] for x in t[1]])
Exception raised:
    Traceback (most recent call last):
      File "/storage/strogdon/gentoo-rap/usr/lib/python3.8/site-packages/sage/doctest/forker.py", line 720, in _run
        self.compile_and_execute(example, compiler, test.globs)
      File "/storage/strogdon/gentoo-rap/usr/lib/python3.8/site-packages/sage/doctest/forker.py", line 1143, in compile_and_execute
        compiled = compiler(example)
      File "/storage/strogdon/gentoo-rap/usr/lib/python3.8/site-packages/sage/doctest/forker.py", line 687, in compiler
        code = compile(example.source, filename, "single",
    MemoryError
**********************************************************************

Not sure if this is a hardware issue? The Prefix has 32 GB of RAM so it should not be a memory issue. At failure about 2% of RAM is consumed. For reference see Sage Trac for the same failure on Gentoo where there is a backtrace.

kiwifb commented 4 years ago

Hum... MemoryError, may be not insufficient memory but access the wrong memory location. I like that name self.get_unsafe, unsafe what?

strogdon commented 4 years ago

These changes

--- /storage/strogdon/gentoo-rap/usr/lib/python3.8/site-packages/sage/combinat/designs/gen_quadrangles_with_spread.pyx  2020-09-07 11:17:02.000000000 -0500
+++ ./gen_quadrangles_with_spread.pyx   2020-09-07 15:05:18.584966014 -0500
@@ -198,10 +198,6 @@
         sage: t[0].is_generalized_quadrangle(parameters=True)
         (9, 3)
         sage: t = dual_GQ_ovoid(*t)
-        sage: t[0].is_generalized_quadrangle(parameters=True)
-        (3, 9)
-        sage: all([x in t[0] for x in t[1]])
-        True

     TESTS::
@@ -271,8 +267,6 @@
               is_GQ_with_spread, dual_GQ_ovoid
         sage: t = designs.generalised_quadrangle_hermitian_with_ovoid(3)
         sage: t = dual_GQ_ovoid(*t)
-        sage: is_GQ_with_spread(*t, s=3, t=9)
-        True
         sage: t = dual_GQ_ovoid(*(
         ....: designs.generalised_quadrangle_hermitian_with_ovoid(2)))
         sage: t[0]

give no MemoryError.

strogdon commented 4 years ago

As on Sage Trac doctesting as

sage -t --long --random-seed=0 --memlimit=0 /storage/strogdon/gentoo-rap/usr/lib/python3.8/site-packages/sage/combinat/designs/gen_quadrangles_with_spread.pyx

give no failures. The --memlimit=0 is critical.

kiwifb commented 4 years ago

Does 0 means no limit in this case?

strogdon commented 4 years ago

Yes, or I believe a negative number can be used.

kiwifb commented 3 years ago

Another variant of #610 most likely.

kiwifb commented 3 years ago

I am going to assume we can close this one too.