Open d-torrance opened 3 years ago
@giovannistagliano -- can we simplify this example?
Maybe, in this package it's better to enable the options:
AuxiliaryFiles=>true, CacheExampleOutput => true
Let me know if I need to make a pull request with the changes.
No, we like running examples to make sure everything is working. Let's just make the example less demanding.
OK, I'll think about how to simplify the example. However, on my laptop that code is not so hard. It takes less than 10 seconds and uses about 200 MB of memory.
Is your laptop 64 bit or 32 bit?
(Maybe it does point to a real problem elsewhere in the system.)
Is your laptop 64 bit or 32 bit?
It's 64 bit with Ubuntu 20.04 and M2 1.16.
Maybe there's some sort of problem that causes it to fail on a 32 bit machine. It's hard to imagine what it might be, though. I'll set up a 32-bit debian vm and we'll see.
Okay, I've reproduced the problem here.
As with #1429, I'm fixing this temporarily in the Debian package by using a canned example: https://salsa.debian.org/science-team/macaulay2/-/blob/master/debian/patches/skip-special-fano-fourfolds-example.patch
Would this be worth submitting upstream?
Not sure if it's worth a separate issue, but one of the tests is also running out of memory on i386:
Macaulay2, version 1.16
--storing configuration for package FourTiTwo in /home/dtorrance/.Macaulay2/init-FourTiTwo.m2
--storing configuration for package Topcom in /home/dtorrance/.Macaulay2/init-Topcom.m2
with packages: ConwayPolynomials, Elimination, IntegralClosure, InverseSystems,
LLLBases, MinimalPrimes, PrimaryDecomposition, ReesAlgebra,
TangentCone, Truncations
i1 : check_2 "SpecialFanoFourfolds"
--warning: symbol "resultant" in Elimination.Dictionary is shadowed by a symbol in Resultants.Dictionary
-- use the synonym Elimination$resultant
--warning: symbol "discriminant" in Elimination.Dictionary is shadowed by a symbol in Resultants.Dictionary
-- use the synonym Elimination$discriminant
--storing configuration for package CharacteristicClasses in /home/dtorrance/.Macaulay2/init-CharacteristicClasses.m2
-- running test 2 of package SpecialFanoFourfolds on line 2355 in file M2/Macaulay2/packages/SpecialFanoFourfolds.m2
-- rerun with: check_2 "SpecialFanoFourfolds"
--making test results
ulimit -c unlimited; ulimit -t 700; ulimit -m 850000; ulimit -s 8192; ulimit -n 512; cd /tmp/M2-852996-0/1-rundir/; GC_MAXIMUM_HEAP_SIZE=400M "/build/macaulay2-1.16+git55.94c4b7d+ds/M2/usr-dist/i686-Linux-Debian-unstable/bin/M2-binary" --int --no-randomize --no-readline --silent --stop --print-width 129 -e 'needsPackage("SpecialFanoFourfolds", Reload => true, FileName => "/build/macaulay2-1.16+git55.94c4b7d+ds/M2/Macaulay2/packages/SpecialFanoFourfolds.m2")' <"/tmp/M2-852996-0/0.m2" >>"/tmp/M2-852996-0/0.tmp" 2>&1
/tmp/M2-852996-0/0.tmp:0:1: (output file) error: Macaulay2 exited with status code 1
/tmp/M2-852996-0/0.m2:0:1: (input file)
M2: *** Error 1
stdio:1:6:(3): error: test #2 of package SpecialFanoFourfolds failed
i2 : get "/tmp/M2-852996-0/0.tmp"
o2 = -- -*- M2-comint -*- hash: 598054605
i1 : --/build/macaulay2-1.16+git55.94c4b7d+ds/M2/Macaulay2/packages/SpecialFanoFourfolds.m2:2355: location of test code
K = ZZ/65521;
i2 : X = for i from 1 to 21 list (
A = tables(i,K);
time specialGushelMukaiFourfold((rationalMap(A_0,max flatten degrees A_0,Dominant=>2)) A_1,InputCheck=>0)
);
-- used 0.0918125 seconds
-- used 0.0856458 seconds
-- used 0.888695 seconds
-- used 0.167594 seconds
-- used 0.449329 seconds
-- used 0.0657483 seconds
-- used 0.0865641 seconds
-- used 0.215104 seconds
-- used 0.0643283 seconds
-- used 0.523828 seconds
-- used 0.756105 seconds
-- used 1.0537 seconds
-- used 0.663247 seconds
-- used 0.261736 seconds
-- used 0.321594 seconds
-- used 0.481104 seconds
-- used 0.391169 seconds
-- used 0.593812 seconds
-- used 0.735326 seconds
-- used 0.134632 seconds
-- used 0.640885 seconds
i3 : assert(apply(X,w -> time discriminant w) === {10,10,10,10,10,10,12,12,12,16,16,16,18,18,18,18,20,20,24,24,26})
*** out of memory trying to allocate 131108 bytes, exiting ***
I'm getting a couple more new test failures on i386 after the recent changes to this package:
../m2/debugging.m2:20:6:(1):[9]: error: tests #1, 4 of package SpecialFanoFourfolds failed:
i12 : --
time X6 = specialGushelMukaiFourfold("K3 surface of genus 8",K,InputCheck=>0);
-- used 1.81242 seconds
o12 : SpecialGushelMukaiFourfold (Gushel-Mukai fourfold containing a surface of degree 14 and sectional genus 8)
i13 : time assert(discriminant X6 == 10)
*** out of memory trying to allocate 131108 bytes, exiting ***
if s == 2 then inverse f;
g = f#"inverseRationalMap";
assert(g =!= null);
p = point source f;
time assert(g f p == p);
);
);
*** out of memory trying to allocate 131108 bytes, exiting ***
../m2/testing.m2:59:22:(1):[8]: --back trace--
../m2/methods.m2:119:80:(1):[7]: --back trace--
../m2/option.m2:16:8:(1):[6]: --back trace--
../m2/testing.m2:44:33:(1):[5]: --back trace--
../m2/methods.m2:119:80:(1):[4]: --back trace--
../m2/option.m2:16:8:(1):[3]: --back trace--
currentString:1:83:(3):[2]: --back trace--
Macaulay2/Core/startup.m2.in:563:33:(0):[1]: --back trace--
Macaulay2/Core/startup.m2.in:674:6:(0): --back trace--
make[4]: *** [Makefile:39: check-SpecialFanoFourfolds] Error 1
Some of the tests in that package are actually hard, but all of them run well in a reasonable time of about 5 minutes on my laptop with Ubuntu 20.04 64-bit (model processor: Intel(R) Core(TM) i7-6500U CPU @ 2.50GHz; number CPUs: 4).
Anyway, the code in the line i13
should terminate in less than 3 seconds.
Why does it matter if the tests run on all architectures? You don't need to run them in the cloud to build the package, but if someone has sufficient memory and a i386 machine, they could presumably run it.
Why does it matter if the tests run on all architectures? You don't need to run them in the cloud to build the package, but if someone has sufficient memory and a i386 machine, they could presumably run it.
A couple reasons I report these:
Right, those are great reasons. I wasn't clear enough, but I meant specifically for out of memory errors. I suppose there can be memory leaks on one architecture and not another, but at least in this case the computation seems legitimately intensive.
Right, those are great reasons. I wasn't clear enough, but I meant specifically for out of memory errors. I suppose there can be memory leaks on one architecture and not another, but at least in this case the computation seems legitimately intensive.
Gotcha. I still need to patch them out for the Debian package regardless of what's causing the error. :)
A bigger question, I suppose, is whether a package's test suite should include larger computations like these that have a nontrivial probability of running out of memory, or whether they should stick to smaller tests.
They should stick to smaller tests -- that's why I put in those ulimit commands -- to enforce that.
One possibility to consider, though, instead of disabling tests that use a little too much memory, just use a bigger memory limit for all the tests in debian distributions.
One possibility to consider, though, instead of disabling tests that use a little too much memory, just use a bigger memory limit for all the tests in debian distributions.
Yeah, I may play around with this at some point.
Test 4 was changed slightly in #1905. I'm going to stop skipping it for now in PPA builds to see if this issue still pops up in the new version.
A few PPA build failures in this package (and CoincidentRootLoci
) after #1905:
Note: I'll be updating the stack traces as I get them now that #2018 has been merged.
toGrass(Ideal)
-- making example results for "toGrass(Ideal)"
ulimit -c unlimited; ulimit -t 700; ulimit -m 850000; ulimit -s 8192; ulimit -n 512; cd /tmp/M2-1612-0/7-rundir/; GC_MAXIMUM_HEAP_SIZE=400M "/<<BUILDDIR>>/macaulay2-1.17.2.1+git202103291937/M2/usr-dist/x86_64-Linux-Ubuntu-20.04/bin/M2-binary" -q --int --no-randomize --no-readline --silent --stop --print-width 129 -e 'needsPackage("SpecialFanoFourfolds",Reload=>true,FileName=>"/<<BUILDDIR>>/macaulay2-1.17.2.1+git202103291937/M2/Macaulay2/packages/SpecialFanoFourfolds.m2")' <"/tmp/M2-1612-0/0_to__Grass_lp__Ideal_rp.m2" >>"/<<BUILDDIR>>/macaulay2-1.17.2.1+git202103291937/M2/usr-dist/common/share/doc/Macaulay2/SpecialFanoFourfolds/example-output/_to__Grass_lp__Ideal_rp.errors" 2>&1
/<<BUILDDIR>>/macaulay2-1.17.2.1+git202103291937/M2/usr-dist/common/share/doc/Macaulay2/SpecialFanoFourfolds/example-output/_to__Grass_lp__Ideal_rp.errors:0:1: (output file) error: Macaulay2 exited with status code 1
/tmp/M2-1612-0/0_to__Grass_lp__Ideal_rp.m2:0:1: (input file)
M2: *** Error 1
-- 8.106 seconds elapsed
...
../../m2/debugging.m2:20:6:(1):[9]: error: installPackage: 1 error(s) occurred running examples for package SpecialFanoFourfolds:
_to__Grass.errors
*****************
i1 : P8 = ZZ/33331[x_0..x_8];
i2 : time X = specialGushelMukaiFourfold(ideal(x_6-x_7, x_5, x_3-x_4, x_1, x_0-x_4, x_2*x_7-x_4*x_8), ideal(x_4*x_6-x_3*x_7+x_1*x_8, x_4*x_5-x_2*x_7+x_0*x_8, x_3*x_5-x_2*x_6+x_0*x_8+x_1*x_8-x_5*x_8, x_1*x_5-x_0*x_6+x_0*x_7+x_1*x_7-x_5*x_7, x_1*x_2-x_0*x_3+x_0*x_4+x_1*x_4-x_2*x_7+x_0*x_8, x_0^2+x_0*x_1+x_1^2+x_0*x_2+2*x_0*x_3+x_1*x_3+x_2*x_3+x_3^2-x_0*x_4-x_1*x_4-2*x_2*x_4-x_3*x_4-2*x_4^2+x_0*x_5+x_2*x_5+x_5^2+2*x_0*x_6+x_1*x_6+2*x_2*x_6+x_3*x_6+x_5*x_6+x_6^2-3*x_4*x_7+2*x_5*x_7-x_7^2+x_1*x_8+x_3*x_8-3*x_4*x_8+2*x_5*x_8+x_6*x_8-x_7*x_8));
-- used 1.55308 seconds
o2 : SpecialGushelMukaiFourfold (Gushel-Mukai fourfold containing a surface of degree 2 and sectional genus 0)
i3 : time toGrass X
-- SIGSEGV
-* stack trace, pid: 30397
0# stack_trace(std::ostream&, bool) at ./M2/Macaulay2/d/main.cpp:124
1# segv_handler at ./M2/Macaulay2/d/main.cpp:240
2# 0x000003FFA80AFD26
3# MonomialIdeal::sat(MonomialIdeal const&) const at ./M2/Macaulay2/e/monideal.cpp:787
4# rawSaturateMonomialIdeal2 at interface/monomial-ideal.cpp:188
5# interface_rawSaturate at ./M2/Macaulay2/d/interface.dd:303
6# evaluate_evalraw at ./M2/Macaulay2/d/evaluate.d:1297
7# evaluate_applyFCCS at ./M2/Macaulay2/d/evaluate.d:824
8# evaluate_evalraw at ./M2/Macaulay2/d/evaluate.d:1293
9# evaluate_evalraw at ./M2/Macaulay2/d/evaluate.d:1257
10# evaluate_evalraw at ./M2/Macaulay2/d/evaluate.d:1257
specialGushelMukaiFourfold
-- making example results for "specialGushelMukaiFourfold"
ulimit -c unlimited; ulimit -t 700; ulimit -m 850000; ulimit -s 8192; ulimit -n 512; cd /tmp/M2-30012-0/16-rundir/; GC_MAXIMUM_HEAP_SIZE=400M "/<<BUILDDIR>>/macaulay2-1.17.2.1+git202103291937/M2/usr-dist/s390x-Linux-Ubuntu-20.10/bin/M2-binary" -q --int --no-randomize --no-readline --silent --stop --print-width 129 -e 'needsPackage("SpecialFanoFourfolds",Reload=>true,FileName=>"/<<BUILDDIR>>/macaulay2-1.17.2.1+git202103291937/M2/Macaulay2/packages/SpecialFanoFourfolds.m2")' <"/tmp/M2-30012-0/0_special__Gushel__Mukai__Fourfold.m2" >>"/<<BUILDDIR>>/macaulay2-1.17.2.1+git202103291937/M2/usr-dist/common/share/doc/Macaulay2/SpecialFanoFourfolds/example-output/_special__Gushel__Mukai__Fourfold.errors" 2>&1
/<<BUILDDIR>>/macaulay2-1.17.2.1+git202103291937/M2/usr-dist/common/share/doc/Macaulay2/SpecialFanoFourfolds/example-output/_special__Gushel__Mukai__Fourfold.errors:0:1: (output file) error: Macaulay2 exited with status code 1
/tmp/M2-30012-0/0_special__Gushel__Mukai__Fourfold.m2:0:1: (input file)
M2: *** Error 1
-- 5.04155 seconds elapsed
...
../../m2/debugging.m2:20:6:(1):[9]: error: installPackage: 1 error(s) occurred running examples for package SpecialFanoFourfolds:
_special__Gushel__Mukai__Fourfold.errors
****************************************
o4 : Ideal of ringP8
i5 : time X = specialGushelMukaiFourfold(idealS,idealX);
-- used 1.56207 seconds
o5 : SpecialGushelMukaiFourfold (Gushel-Mukai fourfold containing a surface of degree 2 and sectional genus 0)
i6 : time describe X
-- SIGSEGV
-* stack trace, pid: 30627
0# stack_trace(std::ostream&, bool) at ./M2/Macaulay2/d/main.cpp:124
1# segv_handler at ./M2/Macaulay2/d/main.cpp:240
2# 0x000003FF80E308EE
3# MonomialIdeal::sat(MonomialIdeal const&) const at ./M2/Macaulay2/e/monideal.cpp:787
4# rawSaturateMonomialIdeal2 at interface/monomial-ideal.cpp:188
5# interface_rawSaturate at ./M2/Macaulay2/d/interface.dd:303
6# evaluate_evalraw at ./M2/Macaulay2/d/evaluate.d:1297
7# evaluate_applyFCCS at ./M2/Macaulay2/d/evaluate.d:824
8# evaluate_evalraw at ./M2/Macaulay2/d/evaluate.d:1293
9# evaluate_evalraw at ./M2/Macaulay2/d/evaluate.d:1257
10# evaluate_evalraw at ./M2/Macaulay2/d/evaluate.d:1257
toGrass
-- making example results for "toGrass"
ulimit -c unlimited; ulimit -t 700; ulimit -m 850000; ulimit -s 8192; ulimit -n 512; cd /tmp/M2-25572-0/31-rundir/; GC_MAXIMUM_HEAP_SIZE=400M "/<<BUILDDIR>>/macaulay2-1.18.0.1+git202105281346/M2/usr-dist/s390x-Linux-Ubuntu-21.04/bin/M2-binary" -q --int --no-randomize --no-readline --silent --stop --print-width 129 -e 'needsPackage("SpecialFanoFourfolds",Reload=>true,FileName=>"/<<BUILDDIR>>/macaulay2-1.18.0.1+git202105281346/M2/Macaulay2/packages/SpecialFanoFourfolds.m2")' <"/tmp/M2-25572-0/0_to__Grass.m2" >>"/<<BUILDDIR>>/macaulay2-1.18.0.1+git202105281346/M2/usr-dist/common/share/doc/Macaulay2/SpecialFanoFourfolds/example-output/_to__Grass.errors" 2>&1
/<<BUILDDIR>>/macaulay2-1.18.0.1+git202105281346/M2/usr-dist/common/share/doc/Macaulay2/SpecialFanoFourfolds/example-output/_to__Grass.errors:0:1: (output file) error: Macaulay2 exited with status code 1
/tmp/M2-25572-0/0_to__Grass.m2:0:1: (input file)
M2: *** Error 1
-- 5.15871 seconds elapsed
-- storing example results in ../../../usr-dist/common/share/doc/Macaulay2/SpecialFanoFourfolds/example-output/_to__Grass.out
-- warning: missing file /<<BUILDDIR>>/macaulay2-1.18.0.1+git202105281346/M2/usr-dist/common/share/doc/Macaulay2/SpecialFanoFourfolds/example-output/_to__Grass.out
...
../../m2/debugging.m2:20:6:(1):[9]: error: installPackage: 1 error(s) occurred running examples for package SpecialFanoFourfolds:
_to__Grass.errors
*****************
-- -*- M2-comint -*- hash: -1007410934
i1 : x = gens ring PP_(ZZ/33331)^8;
i2 : X = specialGushelMukaiFourfold(ideal(x_6-x_7, x_5, x_3-x_4, x_1, x_0-x_4, x_2*x_7-x_4*x_8), ideal(x_4*x_6-x_3*x_7+x_1*x_8, x_4*x_5-x_2*x_7+x_0*x_8, x_3*x_5-x_2*x_6+x_0*x_8+x_1*x_8-x_5*x_8, x_1*x_5-x_0*x_6+x_0*x_7+x_1*x_7-x_5*x_7, x_1*x_2-x_0*x_3+x_0*x_4+x_1*x_4-x_2*x_7+x_0*x_8, x_0^2+x_0*x_1+x_1^2+x_0*x_2+2*x_0*x_3+x_1*x_3+x_2*x_3+x_3^2-x_0*x_4-x_1*x_4-2*x_2*x_4-x_3*x_4-2*x_4^2+x_0*x_5+x_2*x_5+x_5^2+2*x_0*x_6+x_1*x_6+2*x_2*x_6+x_3*x_6+x_5*x_6+x_6^2-3*x_4*x_7+2*x_5*x_7-x_7^2+x_1*x_8+x_3*x_8-3*x_4*x_8+2*x_5*x_8+x_6*x_8-x_7*x_8));
o2 : ProjectiveVariety, GM fourfold containing a surface of degree 2 and sectional genus 0
i3 : time toGrass X
-- SIGSEGV
-* stack trace, pid: 26009
0# stack_trace(std::ostream&, bool) at ./M2/Macaulay2/d/main.cpp:124
1# segv_handler at ./M2/Macaulay2/d/main.cpp:240
2# 0x000003FF9B6AEDA6
3# MonomialIdeal::sat(MonomialIdeal const&) const at ./M2/Macaulay2/e/monideal.cpp:787
4# rawSaturateMonomialIdeal2 at interface/monomial-ideal.cpp:188
5# interface_rawSaturate at ./M2/Macaulay2/d/interface.dd:303
6# evaluate_evalraw at ./M2/Macaulay2/d/evaluate.d:1297
7# evaluate_applyFCCS at ./M2/Macaulay2/d/evaluate.d:824
8# evaluate_evalraw at ./M2/Macaulay2/d/evaluate.d:1293
9# evaluate_evalraw at ./M2/Macaulay2/d/evaluate.d:1257
CoincidentRootLocus * CoincidentRootLocus
*arm64, Ubuntu 21.04
-- making example results for "CoincidentRootLocus * CoincidentRootLocus"
ulimit -c unlimited; ulimit -t 700; ulimit -m 850000; ulimit -s 8192; ulimit -n 512; cd /tmp/M2-26692-0/20-rundir/; GC_MAXIMUM_HEAP_SIZE=400M "/<<BUILDDIR>>/macaulay2-1.17.2.1+git202103311224/M2/usr-dist/aarch64-Linux-Ubuntu-21.04/bin/M2-binary" -q --int --no-randomize --no-readline --silent --stop --print-width 129 -e 'needsPackage("CoincidentRootLoci",Reload=>true,FileName=>"/<<BUILDDIR>>/macaulay2-1.17.2.1+git202103311224/M2/Macaulay2/packages/CoincidentRootLoci.m2")' <"/tmp/M2-26692-0/0___Coincident__Root__Locus_sp_st_sp__Coincident__Root__Locus.m2" >>"/<<BUILDDIR>>/macaulay2-1.17.2.1+git202103311224/M2/usr-dist/common/share/doc/Macaulay2/CoincidentRootLoci/example-output/___Coincident__Root__Locus_sp_st_sp__Coincident__Root__Locus.errors" 2>&1
/<<BUILDDIR>>/macaulay2-1.17.2.1+git202103311224/M2/usr-dist/common/share/doc/Macaulay2/CoincidentRootLoci/example-output/___Coincident__Root__Locus_sp_st_sp__Coincident__Root__Locus.errors:0:1: (output file) error: Macaulay2 exited with status code 1
/tmp/M2-26692-0/0___Coincident__Root__Locus_sp_st_sp__Coincident__Root__Locus.m2:0:1: (input file)
M2: *** Error 1
-- 4.08931 seconds elapsed
...
../../m2/debugging.m2:20:6:(1):[9]: error: installPackage: 1 error(s) occurred running examples for package CoincidentRootLoci:
___Coincident__Root__Locus_sp_st_sp__Coincident__Root__Locus.errors
*******************************************************************
140# interp_process at ./M2/Macaulay2/d/interp.dd:606
141# interpFunc(ArgCell*) at ./M2/Macaulay2/d/main.cpp:193
142# ThreadTask::run(SupervisorThread*) at ./M2/Macaulay2/system/supervisor.cpp:377
143# SupervisorThread::threadEntryPoint() at ./M2/Macaulay2/system/supervisor.cpp:426
144# SupervisorThread::threadEntryPoint(void*) at ./M2/Macaulay2/system/supervisor.hpp:100
145# GC_inner_start_routine in /usr/lib/aarch64-linux-gnu/libgc.so.1
146# GC_call_with_stack_base in /usr/lib/aarch64-linux-gnu/libgc.so.1
147# start_thread in /lib/aarch64-linux-gnu/libpthread.so.0
148# 0x0000FFFF9372DC9C in /lib/aarch64-linux-gnu/libc.so.6
-- end stack trace *-
../../m2/installPackage.m2:709:14:(1):[8]: --back trace--
New issues after #2092:
detectCongruence(SpecialGushelMukaiFourfold,ZZ)
../../m2/debugging.m2:20:6:(1):[9]: error: installPackage: 1 error(s) occurred running examples for package SpecialFanoFourfolds:
_detect__Congruence_lp__Special__Gushel__Mukai__Fourfold_cm__Z__Z_rp.errors
***************************************************************************
containing a surface in PP^8 of degree 9 and sectional genus 2
cut out by 19 hypersurfaces of degree 2
and with class in G(1,4) given by 6*s_(3,1)+3*s_(2,2)
Type: ordinary
(case 17 of Table 1 in arXiv:2002.07026)
i3 : time f = detectCongruence X;
*** out of memory trying to allocate 1188 bytes, exiting ***
specialGushelMukaiFourfold
../../m2/debugging.m2:20:6:(1):[9]: error: installPackage: 1 error(s) occurred running examples for package SpecialFanoFourfolds:
_special__Gushel__Mukai__Fourfold.errors
****************************************
o4 : ProjectiveVariety, 4-dimensional subvariety of PP^8
i5 : time F = specialGushelMukaiFourfold(S,X);
-- used 3.25936 seconds
o5 : ProjectiveVariety, GM fourfold containing a surface of degree 2 and sectional genus 0
i6 : time describe F
-- SIGSEGV
-* stack trace, pid: 31519
0# stack_trace(std::ostream&, bool) at ./M2/Macaulay2/d/main.cpp:127
1# segv_handler at ./M2/Macaulay2/d/main.cpp:243
2# 0x00007B3D9A5804D8 in linux-vdso64.so.1
3# MonomialIdeal::sat(MonomialIdeal const&) const at ./M2/Macaulay2/e/monideal.cpp:787
4# rawSaturateMonomialIdeal2 at interface/monomial-ideal.cpp:188
5# interface_rawSaturate at ./M2/Macaulay2/d/interface.dd:292
check(1, "SpecialFanoFourfolds")
SpecialFanoFourfolds.m2:2382:1-2412:1: error:
-- 2}
--
-- o6 : List
--
-- i7 : assert all(Y,y -> not y.cache#?"label");
--
-- i8 : assert(apply(Y,discriminant) == {10, 12, 10});
--
--
-- *** out of memory trying to allocate 65448 bytes, exiting ***
check(2, "SpecialFanoFourfolds")
SpecialFanoFourfolds.m2:2366:1-2396:1: error:
-- 2}
--
-- o6 : List
--
-- i7 : assert all(Y,y -> not y.cache#?"label");
--
-- i8 : assert(apply(Y,discriminant) == {12, 10, 20});
--
--
-- *** out of memory trying to allocate 131108 bytes, exiting ***
--
check(3, "SpecialFanoFourfolds")
SpecialFanoFourfolds.m2:2398:1-2410:1: error:
-- i4 : debug MultiprojectiveVarieties;
--
-- i5 : assert(apply(X,x-> sectionalGenus surface x) == {0, 0, 8, 1, 3, 0, 0, 2, 0, 4, 3, 8, 5, 2, 3, 5, 2, 0, 3, 0, 5});
--
-- i6 : assert(last cycleClass X_18 == (6,4) and discriminant X_18 == 24);
--
-- i7 : assert(last cycleClass X_7 == (4,3) and discriminant X_7 == 12);
--
--
-- *** out of memory trying to allocate 131108 bytes, exiting ***
--
check(11, "SpecialFanoFourfolds")
SpecialFanoFourfolds.m2:2471:1-2480:1: error:
-- i3 : Y = specialGushelMukaiFourfold(S31,InputCheck=>0);
--
-- o3 : ProjectiveVariety, GM fourfold containing a surface of degree 1 and sectional genus 0
--
-- i4 : assert(not Y.cache#?"label"); Y.cache#"label" = 6;
--
-- i6 : detectCongruence Y;
--
--
-- *** out of memory trying to allocate 131108 bytes, exiting ***
--
Here #2102 I've slightly changed the example for detectCongruence(SpecialGushelMukaiFourfold,ZZ)
.
Here #2102 I've slightly changed the example for
detectCongruence(SpecialGushelMukaiFourfold,ZZ)
.
Cool, thanks! There were also two test failures -- I've added them to the comment above. My guess is that the underlying problem is a memory leak related to #1742.
Strange! Test 11 is very fast in my laptop.
i1 : loadPackage "SpecialFanoFourfolds";
i2 : check(11, "SpecialFanoFourfolds")
-- capturing check(11, "SpecialFanoFourfolds") -- 5.69583 seconds elapsed
i3 : run "uname -a";
Linux stagliano 5.8.0-53-generic #60~20.04.1-Ubuntu SMP Thu May 6 09:52:46 UTC 2021 x86_64 x86_64 x86_64 GNU/Linux
commit 73f80ae3b85c1e8f37967a2dd4d92120e2060bc3 might help
commit 73f80ae3b85c1e8f37967a2dd4d92120e2060bc3
Author: Daniel R. Grayson <dan@math.uiuc.edu>
Date: Tue May 25 14:54:51 2021 -0500
set non-capturing of examples and tests for package SpecialFanoFourfolds
... because we run out of memory running the tests in the cmake build on github.
Probably there is a memory leak somewhere.
commit 73f80ae might help
commit 73f80ae3b85c1e8f37967a2dd4d92120e2060bc3 Author: Daniel R. Grayson <dan@math.uiuc.edu> Date: Tue May 25 14:54:51 2021 -0500 set non-capturing of examples and tests for package SpecialFanoFourfolds ... because we run out of memory running the tests in the cmake build on github. Probably there is a memory leak somewhere.
The build errors in https://github.com/Macaulay2/M2/issues/1539#issuecomment-848436361 were all based on a branch that included that commit.
The example for detectCongruence(SpecialGushelMukaiFourfold,ZZ)
still ran out of memory for me in a Debian unstable i386 chroot after #2102:
_detect__Congruence_lp__Special__Gushel__Mukai__Fourfold_cm__Z__Z_rp.errors
***************************************************************************
containing a surface in PP^8 of degree 9 and sectional genus 2
cut out by 19 hypersurfaces of degree 2
and with class in G(1,4) given by 6*s_(3,1)+3*s_(2,2)
Type: ordinary
(case 17 of Table 1 in arXiv:2002.07026)
i3 : time f = detectCongruence X;
*** out of memory trying to allocate 131108 bytes, exiting ***
Ran out of memory in a new test that was just added in #2259 during armhf PPA builds in Ubuntu 18.04 and 20.04:
-- running check(15, "SpecialFanoFourfolds")
ulimit -c unlimited; ulimit -t 700; ulimit -m 850000; ulimit -s 8192; ulimit -n 512; cd /tmp/M2-5210-0/13-rundir/; GC_MAXIMUM_HEAP_SIZE=400M "/<<BUILDDIR>>/macaulay2-1.18.0.1+git202111031537/M2/usr-dist/arm-Linux-Ubuntu-18.04/bin/M2-binary" -q --int --no-randomize --no-readline --silent --stop --print-width 77 -e 'needsPackage("SpecialFanoFourfolds",Reload=>true,FileName=>"/<<BUILDDIR>>/macaulay2-1.18.0.1+git202111031537/M2/Macaulay2/packages/SpecialFanoFourfolds.m2")' <"/tmp/M2-5210-0/12.m2" >>"/tmp/M2-5210-0/12.tmp" 2>&1
/tmp/M2-5210-0/12.tmp:0:1: (output file) error: Macaulay2 exited with status code 1
/tmp/M2-5210-0/12.m2:0:1: (input file)
M2: *** Error 1
-- 97.6838 seconds elapsed
SpecialFanoFourfolds.m2:3377:1-3386:1: error:
-- i3 : X = first L;
--
-- o3 : ProjectiveVariety, GM fourfold containing a surface of degree 8 and sectional genus 0 with class 5*s_(3,1)+3*s_(2,2)
--
-- i4 : assert(#L == 1 and discriminant X == 18 and last cycleClass X == (5,3))
--
-- i5 : L = takeGMsfromSurfaceInP6(surface({3,1,1,0},ambient=>6),InputCheck=>0,"Gluing"=>"quartic scroll",Degrees=>hashTable{1=>(1,1),2=>(19,infinity),3=>(0,0)});
--
--
-- *** out of memory trying to allocate 131108 bytes, exiting ***
--
../m2/debugging.m2:23:6:(1):[9]: error: test(s) #15 of package SpecialFanoFourfolds failed.
../m2/testing.m2:127:9:(1):[8]: --back trace--
../m2/methods.m2:154:80:(1):[7]: --back trace--
../m2/option.m2:17:8:(1):[6]: --back trace--
../m2/testing.m2:100:33:(1):[5]: --back trace--
../m2/methods.m2:154:80:(1):[4]: --back trace--
../m2/option.m2:17:8:(1):[3]: --back trace--
currentString:1:83:(3):[2]: --back trace--
Macaulay2/Core/startup.m2.in:561:33:(0):[1]: --back trace--
Sorry, I'll simplify that test soon.
Some more tests were killed during continuous integration tests of the armhf Debian package for 1.19:
-- running check(4, "SpecialFanoFourfolds")
ulimit -c unlimited; ulimit -t 700; ulimit -m 850000; ulimit -s 8192; ulimit -n 512; cd /tmp/M2-124931-0/1-rundir/; GC_MAXIMUM_HEAP_SIZE=400M "/usr/bin/M2-binary" -q --int --no-randomize --no-readline --silent --stop --print-width 77 -e 'needsPackage("SpecialFanoFourfolds",Reload=>true,FileName=>"/usr/share/Macaulay2/SpecialFanoFourfolds.m2")' <"/tmp/M2-124931-0/0.m2" >>"/tmp/M2-124931-0/0.tmp" 2>&1
/tmp/M2-124931-0/0.tmp:0:1: (output file) error: Macaulay2 killed by signal 9
/tmp/M2-124931-0/0.m2:0:1: (input file)
M2: *** Error 9
-- 12.6848 seconds elapsed
-- skipping check(5, "SpecialFanoFourfolds") -- 0.00004356 seconds elapsed
-- running check(6, "SpecialFanoFourfolds")
ulimit -c unlimited; ulimit -t 700; ulimit -m 850000; ulimit -s 8192; ulimit -n 512; cd /tmp/M2-124931-0/3-rundir/; GC_MAXIMUM_HEAP_SIZE=400M "/usr/bin/M2-binary" -q --int --no-randomize --no-readline --silent --stop --print-width 77 -e 'needsPackage("SpecialFanoFourfolds",Reload=>true,FileName=>"/usr/share/Macaulay2/SpecialFanoFourfolds.m2")' <"/tmp/M2-124931-0/2.m2" >>"/tmp/M2-124931-0/2.tmp" 2>&1
/tmp/M2-124931-0/2.tmp:0:1: (output file) error: Macaulay2 killed by signal 9
/tmp/M2-124931-0/2.m2:0:1: (input file)
M2: *** Error 9
-- 10.3981 seconds elapsed
-- running check(7, "SpecialFanoFourfolds")
ulimit -c unlimited; ulimit -t 700; ulimit -m 850000; ulimit -s 8192; ulimit -n 512; cd /tmp/M2-124931-0/5-rundir/; GC_MAXIMUM_HEAP_SIZE=400M "/usr/bin/M2-binary" -q --int --no-randomize --no-readline --silent --stop --print-width 77 -e 'needsPackage("SpecialFanoFourfolds",Reload=>true,FileName=>"/usr/share/Macaulay2/SpecialFanoFourfolds.m2")' <"/tmp/M2-124931-0/4.m2" >>"/tmp/M2-124931-0/4.tmp" 2>&1
/tmp/M2-124931-0/4.tmp:0:1: (output file) error: Macaulay2 killed by signal 9
/tmp/M2-124931-0/4.m2:0:1: (input file)
M2: *** Error 9
-- 12.2308 seconds elapsed
-- skipping check(8, "SpecialFanoFourfolds") -- 0.00004964 seconds elapsed
-- running check(9, "SpecialFanoFourfolds") -- 2.31423 seconds elapsed
-- running check(10, "SpecialFanoFourfolds") -- 5.38181 seconds elapsed
-- skipping check(11, "SpecialFanoFourfolds") -- 0.00007168 seconds elapsed
-- skipping check(12, "SpecialFanoFourfolds") -- 0.00003252 seconds elapsed
-- skipping check(13, "SpecialFanoFourfolds") -- 0.00003564 seconds elapsed
-- running check(14, "SpecialFanoFourfolds") -- 30.508 seconds elapsed
-- skipping check(15, "SpecialFanoFourfolds") -- 0.00430233 seconds elapsed
/usr/share/Macaulay2/SpecialFanoFourfolds.m2:2939:1-2956:1: error:
-- time f = parametrizeFanoFourfold X;
-- assert(source f == ambient source f and dim source f == 4);
-- assert(target f === X);
-- g = f#"inverse";
-- assert(g =!= null);
-- p = point source f;
-- assert(g f p == p);
-- );
-- );
-- Killed
--
/usr/share/Macaulay2/SpecialFanoFourfolds.m2:2974:1-2978:1: error:
-- -- -*- M2-comint -*- hash: 515239304
--
-- i1 : --/usr/share/Macaulay2/SpecialFanoFourfolds.m2:2978: location of test code
-- -- Test 6 (1/3) -- associated K3 surfaces
-- f = last associatedK3surface(specialCubicFourfold "quartic scroll",Verbose=>true);
-- Killed
--
/usr/share/Macaulay2/SpecialFanoFourfolds.m2:2979:1-2983:1: error:
-- -- -*- M2-comint -*- hash: 1032140222
--
-- i1 : --/usr/share/Macaulay2/SpecialFanoFourfolds.m2:2983: location of test code
-- -- Test 7 (2/3) -- associated K3 surfaces
-- g = last associatedK3surface(specialCubicFourfold "quintic del Pezzo surface",Verbose=>true);
-- Killed
--
stdio:1:1:(3): error: test(s) #4, 6, 7 of package SpecialFanoFourfolds failed.
Possibly related: the following test failed during a continuous integration test of the Debian package on i386:
-- running check(15, "MultiprojectiveVarieties")
ulimit -c unlimited; ulimit -t 700; ulimit -m 850000; ulimit -s 8192; ulimit -n 512; cd /tmp/M2-101823-0/21-rundir/; GC_MAXIMUM_HEAP_SIZE=400M "/usr/bin/M2-binary" -q --int --no-randomize --no-readline --silent --stop --print-width 77 -e 'needsPackage("MultiprojectiveVarieties",Reload=>true,FileName=>"/usr/share/Macaulay2/MultiprojectiveVarieties.m2")' <"/tmp/M2-101823-0/20.m2" >>"/tmp/M2-101823-0/20.tmp" 2>&1
/tmp/M2-101823-0/20.tmp:0:1: (output file) error: Macaulay2 killed by signal 9
/tmp/M2-101823-0/20.m2:0:1: (input file)
M2: *** Error 9
-- 19.9935 seconds elapsed
-- running check(16, "MultiprojectiveVarieties") -- 3.54011 seconds elapsed
/usr/share/Macaulay2/MultiprojectiveVarieties.m2:3916:1-3943:1: error:
-- dominance: true
-- degree: 1
--
-- i7 : -- X = fanoFourfold (14,8);
-- -- X#InverseMethod = inverse3;
-- -- time checkInverseParametrization X
-- setRandomSeed 0;
--
-- i8 : X = fanoFourfold (16,9);
-- Killed
--
stdio:1:1:(3): error: test(s) #15 of package MultiprojectiveVarieties failed.
Another SpecialFanoFourfolds
test was killed during a continuous integration test of the Debian package on armhf:
-- running check(9, "SpecialFanoFourfolds")
ulimit -c unlimited; ulimit -t 700; ulimit -m 850000; ulimit -s 8192; ulimit -n 512; cd /tmp/M2-124714-0/1-rundir/; GC_MAXIMUM_HEAP_SIZE=400M "/usr/bin/M2-binary" -q --int --no-randomize --no-readline --silent --stop --print-width 77 -e 'needsPackage("SpecialFanoFourfolds",Reload=>true,FileName=>"/usr/share/Macaulay2/SpecialFanoFourfolds.m2")' <"/tmp/M2-124714-0/0.m2" >>"/tmp/M2-124714-0/0.tmp" 2>&1
/tmp/M2-124714-0/0.tmp:0:1: (output file) error: Macaulay2 killed by signal 9
/tmp/M2-124714-0/0.m2:0:1: (input file)
M2: *** Error 9
-- 10.6882 seconds elapsed
-- running check(10, "SpecialFanoFourfolds") -- 5.80212 seconds elapsed
-- skipping check(11, "SpecialFanoFourfolds") -- 0.000188161 seconds elapsed
-- skipping check(12, "SpecialFanoFourfolds") -- 0.00006148 seconds elapsed
-- skipping check(13, "SpecialFanoFourfolds") -- 0.00003288 seconds elapsed
-- skipping check(14, "SpecialFanoFourfolds") -- 0.00003008 seconds elapsed
-- skipping check(15, "SpecialFanoFourfolds") -- 0.00008572 seconds elapsed
/usr/share/Macaulay2/SpecialFanoFourfolds.m2:2992:1-3000:1: error:
-- -- -*- M2-comint -*- hash: 957398441
--
-- i1 : --/usr/share/Macaulay2/SpecialFanoFourfolds.m2:3000: location of test code
-- -- Test 9 -- simple tests on schubertCycle
-- debug MultiprojectiveVarieties;
--
-- i2 : S = schubertCycle({2,2},GG(ZZ/33331,1,4),Standard=>true)
-- Killed
--
stdio:1:1:(3): error: test(s) #9 of package SpecialFanoFourfolds failed.
The detectCongruence
example failed again building v1.19.1 on an M1 machine.
Another one, from an armhf PPA build in Ubuntu 18.04:
-- running check(0, "SpecialFanoFourfolds")
ulimit -c unlimited; ulimit -t 700; ulimit -m 850000; ulimit -s 8192; ulimit -n 512; cd /tmp/M2-22111-0/1-rundir/; GC_MAXIMUM_HEAP_SIZE=400M "/<<BUILDDIR>>/macaulay2-1.19.1.1+git202112141852/M2/usr-dist/arm-Linux-Ubuntu-18.04/bin/M2-binary" -q --int --no-randomize --no-readline --silent --stop --print-width 77 -e 'needsPackage("SpecialFanoFourfolds",Reload=>true,FileName=>"/<<BUILDDIR>>/macaulay2-1.19.1.1+git202112141852/M2/Macaulay2/packages/SpecialFanoFourfolds.m2")' <"/tmp/M2-22111-0/0.m2" >>"/tmp/M2-22111-0/0.tmp" 2>&1
/tmp/M2-22111-0/0.tmp:0:1: (output file) error: Macaulay2 exited with status code 1
/tmp/M2-22111-0/0.m2:0:1: (input file)
M2: *** Error 1
-- 56.6734 seconds elapsed
-- running check(1, "SpecialFanoFourfolds") -- 42.0508 seconds elapsed
-- skipping check(2, "SpecialFanoFourfolds") -- 0.000357621 seconds elapsed
-- skipping check(3, "SpecialFanoFourfolds") -- 0.000079699 seconds elapsed
-- running check(4, "SpecialFanoFourfolds") -- 56.2029 seconds elapsed
-- running check(5, "SpecialFanoFourfolds") -- 19.4994 seconds elapsed
-- running check(6, "SpecialFanoFourfolds") -- 13.4466 seconds elapsed
-- running check(7, "SpecialFanoFourfolds") -- 16.3554 seconds elapsed
-- running check(8, "SpecialFanoFourfolds") -- 33.971 seconds elapsed
-- running check(9, "SpecialFanoFourfolds") -- 13.9394 seconds elapsed
-- running check(10, "SpecialFanoFourfolds") -- 18.3537 seconds elapsed
-- running check(11, "SpecialFanoFourfolds") -- 28.7601 seconds elapsed
-- skipping check(12, "SpecialFanoFourfolds") -- 0.000146124 seconds elapsed
-- running check(13, "SpecialFanoFourfolds") -- 49.0035 seconds elapsed
-- skipping check(14, "SpecialFanoFourfolds") -- 0.000221872 seconds elapsed
-- running check(15, "SpecialFanoFourfolds") -- 38.7417 seconds elapsed
SpecialFanoFourfolds.m2:2823:1-2857:1: error:
-- cut out by 9 hypersurfaces of degree 3
-- Special cubic fourfold of discriminant 48
-- containing a 6-nodal surface of degree 9 and sectional genus 2
-- cut out by 5 hypersurfaces of degrees (2,3,3,3,3)
-- ";
--
-- i3 : X = apply(strIn,specialCubicFourfold);
--
--
-- *** out of memory trying to allocate 131108 bytes, exiting ***
--
../m2/debugging.m2:23:6:(1):[9]: error: test(s) #0 of package SpecialFanoFourfolds failed.
The following memory errors have been happening very consistently on 32-bit ARM PPA builds over the last week or so, likely due to the garbage collection heap allocation changes in #3186:
MultiprojectiveVarieties.m2:4440:1-4462:1 error:
-- o14 : ProjectiveVariety, 4-dimensional subvariety of PP^10
--
-- i15 : Y = random({{2},{1},{1},{1},{1},{1}},0_(PP_K^10));
--
-- o15 : ProjectiveVariety, 4-dimensional subvariety of PP^10
--
-- i16 : checkIso(X,Y)
--
--
-- *** out of memory trying to allocate 167328 bytes, exiting ***
--
../m2/debugging.m2:18:6:(1):[9]: error: test(s) #12 of package MultiprojectiveVarieties failed.
SpecialFanoFourfolds.m2:3839:1-3843:1 error:
-- i1 : -- /<<PKGBUILDDIR>>/M2/Macaulay2/packages/SpecialFanoFourfolds.m2:3843:1: location of test code
-- -- Test 10 (1/2) -- detectCongruence
-- X = specialCubicFourfold("quintic del Pezzo surface",ZZ/33331);
--
-- o1 : ProjectiveVariety, cubic fourfold containing a surface of degree 5 and sectional genus 1
--
-- i2 : detectCongruence(X,Verbose=>true);
--
--
-- *** out of memory trying to allocate 131108 bytes, exiting ***
--
SpecialFanoFourfolds.m2:3867:1-3874:1 error:
-- -- Test 13 (2/2) -- GM fourfolds containing nodal surfaces
-- -- no-check-architecture: s390x (#2162)
-- X = specialGushelMukaiFourfold("nodal surface of degree 11 and genus 3 with class (7,4)",ZZ/33331,InputCheck=>0);
--
-- o1 : ProjectiveVariety, GM fourfold containing a surface of degree 11 and sectional genus 3
--
-- i2 : assert(discriminant X == 26 and last cycleClass X == (7,4) and degree surface X == 11 and sectionalGenus surface X == 3);
--
--
-- *** out of memory trying to allocate 131108 bytes, exiting ***
--
../m2/debugging.m2:18:6:(1):[9]: error: test(s) #10, 13 of package SpecialFanoFourfolds failed.
On a build in an i386 chroot, I get the following when running the
detectCongruence
example: