here are my results ( slightly modified the script )

[enrico@enrico-mbp oorexx.tests]$./gc2.rx
grabbed    10gb   21:40:58.682841
grabbed    20gb   21:41:05.994087
grabbed    30gb   21:41:13.765010
grabbed    40gb   21:41:21.462267
grabbed    50gb   21:41:29.247617
grabbed    60gb   21:41:36.993362
grabbed    70gb   21:41:44.751140
grabbed    80gb   21:41:52.625969
grabbed    90gb   21:42:00.357083
grabbed   100gb   21:42:08.224718
grabbed   110gb   21:42:16.041285
grabbed   120gb   21:42:23.884021
grabbed   130gb   21:42:31.770514
grabbed   140gb   21:42:39.636356
Killed: 9
[enrico@enrico-mbp oorexx.tests]$
 

the script

#! /usr/bin/env rexx
m = .Array~new(100)
chunk = 10000e6

signal on syntax
-- grab memory chunks until almost exhausted
loop
  m~append(.MutableBuffer~new(, chunk))
  say "grabbed " right(m~items * chunk / 1e9,4)"gb  " time(l)
end

say "SNO"
exit

syntax:
-- reclaim some memory as we could be down to almost zero
m~remove(1)
say "grabbed*" right(m~items * chunk / 1e9,4)"gb  " time(l)


frankly I do not expect any outstanding error recovery
when needing more than 140GB

cheers
enrico

> On 26 Aug 2018, at 20:40, Rick McGuire <object.r...@gmail.com> wrote:
> 
> I’m guessing that we were getting  eom failures earlier with the old code so 
> we never reached the point of getting a livestock allocation failure.
> On Sun, Aug 26, 2018 at 1:23 PM Erich Steinböck <erich.steinbo...@gmail.com 
> <mailto:erich.steinbo...@gmail.com>> wrote:
> I wonder why this is popping up only now.  Wouldn't we always have had a good 
> chance that the liveStack needed expansion (because we now have more active 
> objects than before) when a terminal out-of-memory exception triggered a GC?  
> Why then did this work until now?
> 
> 
> On Sun, Aug 26, 2018 at 7:00 PM, Rick McGuire <object.r...@gmail.com 
> <mailto:object.r...@gmail.com>> wrote:
> Yes, I understand, but the root cause of this problem is a failure trying to 
> expand the liveStack during a garbage collection. The call to 
> reportException() at that time causes a recursive allocation failure, 
> resulting in the eventual out-of-stack condition. I suspect the only real way 
> to handle this situation is a calling logicError() to indicate there has been 
> an unrecoverable out of memory situation.
> 
> Rick
> ------------------------------------------------------------------------------
> Check out the vibrant tech community on one of the world's most
> engaging tech sites, Slashdot.org! http://sdm.link/slashdot 
> <http://sdm.link/slashdot>_______________________________________________
> Oorexx-devel mailing list
> Oorexx-devel@lists.sourceforge.net <mailto:Oorexx-devel@lists.sourceforge.net>
> https://lists.sourceforge.net/lists/listinfo/oorexx-devel 
> <https://lists.sourceforge.net/lists/listinfo/oorexx-devel>
> ------------------------------------------------------------------------------
> Check out the vibrant tech community on one of the world's most
> engaging tech sites, Slashdot.org! 
> http://sdm.link/slashdot_______________________________________________
> Oorexx-devel mailing list
> Oorexx-devel@lists.sourceforge.net
> https://lists.sourceforge.net/lists/listinfo/oorexx-devel

------------------------------------------------------------------------------
Check out the vibrant tech community on one of the world's most
engaging tech sites, Slashdot.org! http://sdm.link/slashdot
_______________________________________________
Oorexx-devel mailing list
Oorexx-devel@lists.sourceforge.net
https://lists.sourceforge.net/lists/listinfo/oorexx-devel

Reply via email to