Macaulay2 / M2

The primary source code repository for Macaulay2, a system for computing in commutative algebra, algebraic geometry and related fields.
https://macaulay2.com
347 stars 231 forks source link

Can run out of memory building Macaulay2Doc html files on i386 #1879

Closed d-torrance closed 2 years ago

d-torrance commented 3 years ago

From an i386 build of the Debian package:

 -- making html page for Macaulay2Doc :: Options
 -- making html page for Macaulay2Doc :: scanLines
 -- making html page for Macaulay2Doc :: applyKeys
 -- making html page for Macaulay2Doc :: IndexedVariable _ Ring
 -- making html page for Macaulay2Doc :: cohomology
 -- making html page for Macaulay2Doc :: Quotient
 -- making html page for Macaulay2Doc :: RingElement
Too many heap sections: Increase MAXHINCR or MAX_HEAP_SECTS
Aborted
make[3]: *** [Makefile:93: /<<PKGBUILDDIR>>/M2/usr-dist/i686-Linux-Debian-buildd-unstable/lib/i386-linux-gnu/Macaulay2/Macaulay2Doc/.installed] Error 134
make[3]: Leaving directory '/<<PKGBUILDDIR>>/M2/Macaulay2/packages'
make[2]: *** [Makefile:14: all-in-packages] Error 2
make[2]: Leaving directory '/<<PKGBUILDDIR>>/M2/Macaulay2'
make[1]: *** [GNUmakefile:221: all-in-Macaulay2] Error 2
make[1]: Leaving directory '/<<PKGBUILDDIR>>/M2'

I've only seen this happen the one time, and fortunately, a subsequent build was successful.

If/when #594 is addressed and we can build the documentation on just one architecture like amd64, then we wouldn't have to worry about this.

d-torrance commented 3 years ago

Probably not worth its own issue, but another documentation-related problem in this swath of Debian builds was from the ppc64el build:

 -- making example results for "localMingens"                               
 ulimit -c unlimited; ulimit -t 700; ulimit -m 850000; ulimit -s 8192; ulimit -n 512;  cd /tmp/M2-11720-0/9-rundir/; GC_MAXIMUM_HEAP_SIZE=400M "/<<PKGBUILDDIR>>/M2/usr-dist/powerpc64le-Linux-Debian-buildd-unstable/bin/M2-binary" -q --int --no-randomize --no-readline --silent --stop --print-width 129 -e 'needsPackage("LocalRings",Reload=>true,FileName=>"/<<PKGBUILDDIR>>/M2/Macaulay2/packages/LocalRings.m2")' <"/tmp/M2-11720-0/0_local__Mingens.m2" >>"/<<PKGBUILDDIR>>/M2/usr-dist/common/share/doc/Macaulay2/LocalRings/example-output/_local__Mingens.errors" 2>&1
/<<PKGBUILDDIR>>/M2/usr-dist/common/share/doc/Macaulay2/LocalRings/example-output/_local__Mingens.errors:0:1: (output file) error: Macaulay2 killed by signal 9
/tmp/M2-11720-0/0_local__Mingens.m2:0:1: (input file)
M2: *** Error 9
 -- 0.652591 seconds elapsed
 -- storing example results from output file../../../usr-dist/common/share/doc/Macaulay2/LocalRings/example-output/_local__Mingens.out
 -- warning: missing file /<<PKGBUILDDIR>>/M2/usr-dist/common/share/doc/Macaulay2/LocalRings/example-output/_local__Mingens.out
 -- making example results for "localPrune"                                  -- 0.655475 seconds elapsed
 -- storing example results from output file../../../usr-dist/common/share/doc/Macaulay2/LocalRings/example-output/_local__Prune.out
../../m2/debugging.m2:20:6:(1):[9]: error: installPackage: 1 error(s) occurred running examples for package LocalRings:

_local__Mingens.errors
**********************
-- -*- M2-comint -*- hash: -151227855

i1 : R=QQ[a,b]

o1 = R

o1 : PolynomialRing

i2 : setMaxIdeal ideal gens R
Killed

../../m2/installPackage.m2:696:14:(1):[8]: --back trace--
../../m2/methods.m2:119:80:(1):[7]: --back trace--
../../m2/option.m2:16:8:(1):[6]: --back trace--
../../m2/installPackage.m2:580:5:(1):[5]: --back trace--
../../m2/methods.m2:119:80:(1):[4]: --back trace--
../../m2/option.m2:16:8:(1):[3]: --back trace--
currentString:1:1:(3):[2]: --back trace--
Macaulay2/Core/startup.m2.in:561:33:(0):[1]: --back trace--
Macaulay2/Core/startup.m2.in:672:6:(0): --back trace--
make[3]: *** [Makefile:93: /<<PKGBUILDDIR>>/M2/usr-dist/powerpc64le-Linux-Debian-buildd-unstable/lib/powerpc64le-linux-gnu/Macaulay2/LocalRings/.installed] Error 1
make[3]: Leaving directory '/<<PKGBUILDDIR>>/M2/Macaulay2/packages'
make[2]: *** [Makefile:14: all-in-packages] Error 2
make[2]: Leaving directory '/<<PKGBUILDDIR>>/M2/Macaulay2'
make[1]: *** [GNUmakefile:221: all-in-Macaulay2] Error 2

I'm assuming there was some sort of ulimit issue that killed this one. I'm puzzled because it's a very small example, and PPA builds of the development branch build on this architecture without any problems (on four different Ubuntu releases pretty much every day!). I'm hoping to get this build given back -- if it doesn't build, then that will block migration to Debian testing.

d-torrance commented 2 years ago

Closing - see https://github.com/Macaulay2/M2/issues/2329#issuecomment-1128018084