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