M2 icon indicating copy to clipboard operation
M2 copied to clipboard

out of memory capturing check(6, "K3Surfaces") on i386

Open d-torrance opened this issue 4 years ago • 4 comments

From a continuous integration test of the i386 Macaulay2 1.19 package in Debian unstable:

 -- capturing check(4, "K3Surfaces")                                         -- 1.92545 seconds elapsed
 -- capturing check(5, "K3Surfaces")                                         -- 9.40628 seconds elapsed
 -- capturing check(6, "K3Surfaces")                                        

 *** out of memory trying to allocate 131108 bytes, exiting ***

 cd /tmp/M2-2812-0/171-rundir/; GC_MAXIMUM_HEAP_SIZE=400M "/usr/bin/M2-binary" -q --int --no-randomize --no-readline --silent --stop --print-width 77 <"/tmp/M2-2812-0/170.m2" >>"/tmp/M2-2812-0/170.tmp"
/tmp/M2-2812-0/170.tmp:0:1: (output file) error: Macaulay2 exited with status code 1
/tmp/M2-2812-0/170.m2:0:1: (input file)
M2: *** Error 1

d-torrance avatar Nov 18 '21 22:11 d-torrance

The next test is also failing:

K3Surfaces
**********
 -- capturing check(0, "K3Surfaces")                                         -- 14.8834 seconds elapsed
 -- capturing check(1, "K3Surfaces")                                         -- 3.44213 seconds elapsed
 -- capturing check(2, "K3Surfaces")                                         -- 14.0784 seconds elapsed
 -- capturing check(3, "K3Surfaces")                                         -- 26.7825 seconds elapsed
 -- capturing check(4, "K3Surfaces")                                         -- 1.92667 seconds elapsed
 -- capturing check(5, "K3Surfaces")                                         -- 9.98237 seconds elapsed
 -- skipping  check(6, "K3Surfaces")                                         -- 0.000120241 seconds elapsed
 -- capturing check(7, "K3Surfaces")                                        

 *** out of memory trying to allocate 82868 bytes, exiting ***

 cd /tmp/M2-2805-0/171-rundir/; GC_MAXIMUM_HEAP_SIZE=400M "/usr/bin/M2-binary" -q --int --no-randomize --no-readline --silent --stop --print-width 77 <"/tmp/M2-2805-0/170.m2" >>"/tmp/M2-2805-0/170.tmp"
/tmp/M2-2805-0/170.tmp:0:1: (output file) error: Macaulay2 exited with status code 1
/tmp/M2-2805-0/170.m2:0:1: (input file)
M2: *** Error 1

d-torrance avatar Nov 24 '21 12:11 d-torrance

As is the next test:

K3Surfaces
**********
 -- capturing check(0, "K3Surfaces")                                         -- 14.7568 seconds elapsed
 -- capturing check(1, "K3Surfaces")                                         -- 3.4243 seconds elapsed
 -- capturing check(2, "K3Surfaces")                                         -- 13.9592 seconds elapsed
 -- capturing check(3, "K3Surfaces")                                         -- 27.2936 seconds elapsed
 -- capturing check(4, "K3Surfaces")                                         -- 1.93925 seconds elapsed
 -- capturing check(5, "K3Surfaces")                                         -- 9.51402 seconds elapsed
 -- skipping  check(6, "K3Surfaces")                                         -- 0.000115612 seconds elapsed
 -- skipping  check(7, "K3Surfaces")                                         -- 0.000083771 seconds elapsed
 -- capturing check(8, "K3Surfaces")                                        

 *** out of memory trying to allocate 131108 bytes, exiting ***

 cd /tmp/M2-2762-0/171-rundir/; GC_MAXIMUM_HEAP_SIZE=400M "/usr/bin/M2-binary" -q --int --no-randomize --no-readline --silent --stop --print-width 77 <"/tmp/M2-2762-0/170.m2" >>"/tmp/M2-2762-0/170.tmp"
/tmp/M2-2762-0/170.tmp:0:1: (output file) error: Macaulay2 exited with status code 1
/tmp/M2-2762-0/170.m2:0:1: (input file)
M2: *** Error 1

d-torrance avatar Nov 25 '21 19:11 d-torrance

Got a segfault running this package's tests on a Debian s390x porterbox:

 -- capturing check(0, "K3Surfaces")                                         -- 7.74893 seconds elapsed
 -- capturing check(1, "K3Surfaces")                                         -- 1.84629 seconds elapsed
 -- capturing check(2, "K3Surfaces")                                         -- 7.86618 seconds elapsed
 -- capturing check(3, "K3Surfaces")                                        -- SIGSEGV
-* stack trace, pid: 61093
^Cinterrupted, stopping

d-torrance avatar Nov 30 '21 02:11 d-torrance

Possibly related -- now I'm getting assertion errors in test 3 on s390x, e.g., this PPA build in Ubuntu 22.04:

K3Surfaces.m2:1035:1-1049:1: error:
 -- (g,d,n) = (7, 3, 0)
 --      -- used 0.520137 seconds
 -- (g,d,n) = (7, 4, 0)
 --      -- used 0.150834 seconds
 -- (g,d,n) = (7, 5, 0)
 --      -- used 0.242194 seconds
 -- (g,d,n) = (8, 3, 0)
 --      -- used 0.207443 seconds
 -- (g,d,n) = (8, 4, 0)
 -- stdio:6:18:(3): error: something went wrong on the curve image
 --      -- used 9.62153 seconds
 -- 
../m2/debugging.m2:23:6:(1):[9]: error: test(s) #3 of package K3Surfaces failed.

I did a bit of digging on a Debian s390x porterbox, and the isSubset check on line 257 is failing:

https://github.com/Macaulay2/M2/blob/448a45ab372e6942254f52f511a9cb6f7de03518/M2/Macaulay2/packages/K3Surfaces.m2#L251-L260

In particular:

i1 : debug needsPackage "K3Surfaces"
--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                                                                                                                  
--warning: symbol "sylvesterMatrix" in Elimination.Dictionary is shadowed by a symbol in SparseResultants.Dictionary                                          
--  use the synonym Elimination$sylvesterMatrix                                                                                                               

i2 : T = (K3(4,4,0))(1,1);

o2 : Embedded K3 surface

i3 : (S,ab) = construction T;

i4 : (a,b) = ab;

i5 : f = map(S,a,b);

o5 : MultirationalMap (rational map from surface in PP^4 to PP^8)

i6 : C = f(S#"curve");

o6 : ProjectiveVariety, curve in PP^8

i7 : isSubset(C, T)

o7 = false

d-torrance avatar Jan 06 '22 21:01 d-torrance