[issue13090] test_multiprocessing: memory leaks

Charles-François Natali report at bugs.python.org
Sun Feb 19 13:39:46 CET 2012


Charles-François Natali <neologix at free.fr> added the comment:

> Two others seem to be the internal "bootstate" structure used to
> run thread objects (daemon threads?).

Even for daemon threads, since the boostate structure is freed when
the thread's run() method returns, this shouldn't show up as a
"definitely lost" leak. It wouldn't be freed on exit, but it should
still be reachable.

However, I have a stupid question: are those logs for the main
process, or for child processes ?
Because if fork() is called while other threads are running, since
only the main thread exists in the child process, all the blocks only
reachable from the other threads stacks at the time of the fork -
among which the bootstate structure, and probably the buffer allocated
in posix_read() while a thread is blocked on the read() syscall - are
effectively leaked in the child process since they're not referenced
anymore.

----------

_______________________________________
Python tracker <report at bugs.python.org>
<http://bugs.python.org/issue13090>
_______________________________________


More information about the Python-bugs-list mailing list