New issue 2833: Memory leak with non-exhausted nested generators https://bitbucket.org/pypy/pypy/issues/2833/memory-leak-with-non-exhausted-nested
František Skála: When I have nested generators and don't exhaust them fully, memory is not released properly. I've tried a version with and without closing the generators manually, but I did not observe any difference. Tested in an ubuntu 16.04 docker image with just pypy3 installed: ``` #!none $ pypy3 --version Python 3.5.3 (fdd60ed87e94, Apr 24 2018, 06:10:04) [PyPy 6.0.0 with GCC 6.2.0 20160901] $ uname -a Linux 60286eff83ae 4.4.0-124-generic #148-Ubuntu SMP Wed May 2 13:00:18 UTC 2018 x86_64 x86_64 x86_64 GNU/Linux ``` The code showing this problem (main.py) while closing the generators manually: ``` #!python def sample_generator(): yield 3 def nesting_generator(): inner_generator = sample_generator() try: for x in inner_generator: yield x finally: inner_generator.close() def leak(): outer_generator = nesting_generator() next(outer_generator) outer_generator.close() while True: leak() ``` Command used: `pypy3 main.py` Expected behaviour: * memory consumption of the pypy3 process doesn't grow over time Actual behaviour: * memory consumption growing rapidly (~250MB increase each second) _______________________________________________ pypy-issue mailing list pypy-issue@python.org https://mail.python.org/mailman/listinfo/pypy-issue