[MLton] Memory problems with latest CVS?
Matthew Fluet
fluet@cs.cornell.edu
Tue, 31 Aug 2004 13:57:11 -0400 (EDT)
I think this is related to my space leak question yesterday. I think that
some of the runtime reorganization introduced/exposed a GC bug. I can
reliably get a segmentation fault during a mark-compact GC, although it's
quite sensitive to fiddling with ram-slop and fixed-heap options. You're
log is also showing very high GC % times. How much total RAM do you
compile with?
On Tue, 31 Aug 2004, Brent Fulgham wrote:
> I just tried building MLton (using CVS from yesterday,
> just prior to the MLton.Share checkin), and cannot
> bootstrap the compiler for Cygwin. I get an
> out-of-memory error after the compiler has been built,
> when it's rebuilding the basis.
>
> This used to work until recently.
>
> -Brent
>
> ==================================================
> Build log
> ==================================================
> Compiling mlton (takes a while)
> mlton @MLton ram-slop 0.5 gc-summary -- -default-ann
> 'sequenceUnit true' -targe
> t self -verbose 3 -output mlton-compile mlton.cm
> MLton starting
> MLton MLTONVERSION (built Mon Aug 30 17:19:41 2004 on
> bfulgham)
> created this file on Mon Aug 30 17:20:53 2004.
> Do not edit this file.
> Flag settings:
> align: 4
> atMLtons: (mlton-compile, @MLton, --)
> basis library: basis-2002
> log2 (card size): 8
> chunk: chunk per function
> codegen: Native
> contifyIntoMain: false
> debug: false
> defines: []
> detect overflow: true
> diag passes: []
> drop passes: []
> elaborate allowConstant (default): false
> elaborate allowConstant (enabled): true
> elaborate allowExport (default): false
> elaborate allowExport (enabled): true
> elaborate allowImport (default): false
> elaborate allowImport (enabled): true
> elaborate allowPrim (default): false
> elaborate allowPrim (enabled): true
> elaborate allowOverload (default): false
> elaborate allowOverload (enabled): true
> elaborate allowRebindEquals (default): false
> elaborate allowRebindEquals (enabled): true
> elaborate deadCode (default): false
> elaborate deadCode (enabled): true
> elaborate forceUsed (default): 0
> elaborate forceUsed (enabled): true
> elaborate sequenceUnit (default): true
> elaborate sequenceUnit (enabled): true
> elaborate warnMatch (default): true
> elaborate warnMatch (enabled): true
> elaborate warnUnused (default): false
> elaborate warnUnused (enabled): true
> elaborate only: false
> eliminate overflow: true
> export header: None
> exn history: false
> gc check: Limit
> handlers: Flow
> indentation: 3
> inline: NonRecursive {product = 320, small = 60}
> inlineIntoMain: true
> input file: mlton
> instrument: false
> instrument Sxml: false
> keep Machine: false
> keep RSSA: false
> keep SSA: false
> keep dot: false
> keep passes: []
> extra_: true
> lib dir:
> /cygdrive/c/fulgham/projects/mlton/build/bin/../lib
> lib target dir:
> /cygdrive/c/fulgham/projects/mlton/build/bin/../lib/self
> limit check: loop headers (fullCFG = false,
> loopExits = true)
> limit check counts: false
> loop passes: 1
> mark cards: true
> max function size: 10000
> may load world: true
> native commented: 0
> native live stack: false
> native optimize: 1
> native move hoist: true
> native copy prop: true
> native copy prop cutoff: 1000
> native cutoff: 100
> native live transfer: 8
> native future: 64
> native shuffle: true
> native ieee fp: false
> native split: Some 20000
> new return: false
> polyvariance: Some {rounds = 2, small = 30, product
> = 300}
> prof passes: []
> profile: None
> profile basis: false
> profile branch: false
> profile IL: ProfileSource
> profile stack: false
> reserve esp: None
> safe: true
> show basis: None
> show def-use: None
> show types: false
> ssaPassesSet: <ssaPassesSet>
> ssaPasses: [default]
> ssa2PassesSet: <ssa2PassesSet>
> ssa2Passes: [default]
> stack cont: false
> static: false
> sxmlPassesSet: <sxmlPassesSet>
> sxmlPasses: [default]
> target: self
> target arch: X86
> target OS: Cygwin
> TextIO buffer size: 4096
> type check: false
> type error: concise
> use basis library: true
> verbosity: Detail
> warn unrecognized annotation: true
> xmlPassesSet: <xmlPassesSet>
> xmlPasses: [default]
> zone cut depth: 100
> Compile SML starting
> pre codegen starting
> parseAndElaborate starting
> parseAndElaborate finished in 18.65 + 263.68
> (93% GC)
> core-ml size is 370,703,140 bytes
> numPeeks = 18592801
> maxLength = 3
> average position in property list = 0.256
> numPeeks = 350539
> average position in bucket = 1.035
> lex and parse totals 0.01 + 0.01 (50% GC)
> elaborate totals 18.64 + 263.67 (93% GC)
> deadCode starting
> deadCode finished in 0.12 + 0.06 (33% GC)
> basis size is 363,419,776 bytes
> numPeeks = 18756302
> maxLength = 3
> average position in property list = 0.257
> numPeeks = 350539
> average position in bucket = 1.035
> defunctorize starting
> defunctorize finished in 1.97 + 116.71 (98%
> GC)
> xml size is 372,581,548 bytes
> numPeeks = 19967873
> maxLength = 4
> average position in property list = 0.281
> numPeeks = 524741
> average position in bucket = 0.996
> simplify Xml starting
> size = 398173
> num types in program = 56378
> num distinct types = 67914
> hash table size is 0 bytes
> xmlShrink1 starting
> xmlShrink1 finished in 1.52 + 78.09 (98%
> GC)
> post.xml size is 25,856,512 bytes
> numPeeks = 27624286
> maxLength = 4
> average position in property list = 0.206
> numPeeks = 821566
> average position in bucket = 1.075
> size = 195235
> num types in program = 40977
> num distinct types = 67914
> hash table size is 0 bytes
> simplifyTypes starting
> simplifyTypes finished in 0.39 + 17.39
> (98% GC)
> post.xml size is 29,068,428 bytes
> numPeeks = 28716584
> maxLength = 4
> average position in property list = 0.201
> numPeeks = 862566
> average position in bucket = 1.076
> size = 195235
> num types in program = 40967
> num distinct types = 67924
> hash table size is 0 bytes
> simplify Xml finished in 4.87 + 131.35 (96%
> GC)
> xml size is 28,528,328 bytes
> numPeeks = 30899184
> maxLength = 4
> average position in property list = 0.222
> numPeeks = 1091923
> average position in bucket = 1.102
> size = 195235
> num types in program = 40967
> num distinct types = 67927
> hash table size is 0 bytes
> mono starting
> mono finished in 3.80 + 216.78 (98% GC)
> sxml size is 68,646,168 bytes
> numPeeks = 41084200
> maxLength = 4
> average position in property list = 0.259
> numPeeks = 2952187
> average position in bucket = 1.463
> monoSimplify starting
> Out of memory. Unable to allocate 568,772,836 bytes.
>
> make[2]: *** [mlton-compile] Error 1
> make[2]: Leaving directory
> `/cygdrive/c/fulgham/projects/mlton/mlton'
> make[1]: *** [compiler] Error 2
> make[1]: Leaving directory
> `/cygdrive/c/fulgham/projects/mlton'
> make: *** [all-no-docs] Error 2
>
> bfulgham@bfulgham ~/mlton
> $
>
> _______________________________________________
> MLton mailing list
> MLton@mlton.org
> http://www.mlton.org/mailman/listinfo/mlton
>