[perl #132104] [JVM] EvalServer seems to leak memory
On Sat, 23 Sep 2017 12:28:53 -0700, barto...@gmx.de wrote: > 3) Feeding the EvalServer with a program that calls 'run' (or > Proc::Async directly) does heavily leak memory, threads and what not > (again assuming a clean EvalServer instance started as above): > > $ echo 'run("echo", "42");' > foo.p6 > $ for i in {1..500}; do ./eval-client.pl TESTTOKEN run foo.p6; done I'm still trying to find the cause of the memory leak. Part of the problem seems to be that with each invokation of './eval-client.pl TESTTOKEN run foo.p6' three or four additional threads are started. Those threads are never stopped. Some debug statements in src/core/ThreadPoolScheduler.pm indicate that with each invokation (s.a.) a new AffinityWorker instance and a new GeneralWorker instance are created (and at least one other thread). I guess those newly started Threads stay around until the EvalServer is killed.
[perl #132104] [JVM] EvalServer seems to leak memory
On Sat, 16 Sep 2017 07:31:18 -0700, alex.jakime...@gmail.com wrote: > From this discussion https://irclog.perlgeek.de/perl6-dev/2017-09- > 16#i_15171820 > > 4) the EvalServer seems to leak memory. it's no longer possible to run > 'make spectest', even with -Xmx6000m My findings so far: 1) The EvalServer does not leak memory per se. Assuming a clean EvalServer instance has been started with './perl6-eval-server -cookie TESTTOKEN -app ./perl6.jar' the following does not leak memory: $ echo 'say 42;' > foo.p6 $ for i in {1..500}; do ./eval-client.pl TESTTOKEN run ./foo.p6; done 2) Using 'run' (or calling Proc::Async directly) does not leak memory: $ ./perl6-j -e 'for ^5000 { run("echo", "42") }' 3) Feeding the EvalServer with a program that calls 'run' (or Proc::Async directly) does heavily leak memory, threads and what not (again assuming a clean EvalServer instance started as above): $ echo 'run("echo", "42");' > foo.p6 $ for i in {1..500}; do ./eval-client.pl TESTTOKEN run foo.p6; done
[perl #132104] [JVM] EvalServer seems to leak memory
On Sat, 16 Sep 2017 07:31:18 -0700, alex.jakime...@gmail.com wrote: > From this discussion https://irclog.perlgeek.de/perl6-dev/2017-09- > 16#i_15171820 > > 4) the EvalServer seems to leak memory. it's no longer possible to run > 'make spectest', even with -Xmx6000m My findings so far: 1) The EvalServer does not leak memory per se. Assuming a clean EvalServer instance has been started with './perl6-eval-server -cookie TESTTOKEN -app ./perl6.jar' the following does not leak memory: $ echo 'say 42;' > foo.p6 $ for i in {1..500}; do ./eval-client.pl TESTTOKEN run ./foo.p6; done 2) Using 'run' (or calling Proc::Async directly) does not leak memory: $ ./perl6-j -e 'for ^5000 { run("echo", "42") }' 3) Feeding the EvalServer with a program that calls 'run' (or Proc::Async directly) does heavily leak memory, threads and what not (again assuming a clean EvalServer instance started as above): $ echo 'run("echo", "42");' > foo.p6 $ for i in {1..500}; do ./eval-client.pl TESTTOKEN run foo.p6; done
[perl #132104] [JVM] EvalServer seems to leak memory
# New Ticket Created by Aleks-Daniel Jakimenko-Aleksejev # Please include the string: [perl #132104] # in the subject line of all future correspondence about this issue. # https://rt.perl.org/Ticket/Display.html?id=132104 > >From this discussion https://irclog.perlgeek.de/perl6-dev/2017-09-16#i_15171820 4) the EvalServer seems to leak memory. it's no longer possible to run 'make spectest', even with -Xmx6000m