This issue tracker has been migrated to GitHub, and is currently read-only.
For more information, see the GitHub FAQs in the Python's Developer Guide.

classification
Title: Threading memory leak
Type: performance Stage: resolved
Components: Versions: Python 3.11, Python 3.10, Python 3.9, Python 3.8, Python 3.7, Python 3.6
process
Status: closed Resolution: duplicate
Dependencies: Superseder: Memory leak/high usage on copy in different thread
View: 33444
Assigned To: Nosy List: andzn
Priority: normal Keywords:

Created on 2021-08-09 14:14 by andzn, last changed 2022-04-11 14:59 by admin. This issue is now closed.

Files
File name Uploaded Description Edit
threading_leak.py andzn, 2021-08-09 14:14
Messages (1)
msg399267 - (view) Author: Andrei Zene (andzn) * Date: 2021-08-09 14:14
In an application where we were handling incoming requests in new threads, we noticed that the memory usage grew over time. After trying to understand what's going on, i was able to reproduce this with a smaller python script that i've attached.

What we do:
- start a thread
- the thread allocates some memory
- at some point later we join the thread

Notice that this seems to be more like a race-condition because it doesn't reproduce without adding some delays between the creation of different threads. I've added a comment in the file that basically commenting one time.sleep makes the leak to not reproduce anymore.

On the other side, I was able to reproduce this consistently with every version of python on mulitple systems but only on Linux. On windows it doesn't reproduce.
History
Date User Action Args
2022-04-11 14:59:48adminsetgithub: 89034
2021-08-09 16:35:39benjamin.petersonsetstatus: open -> closed
superseder: Memory leak/high usage on copy in different thread
resolution: duplicate
stage: resolved
2021-08-09 14:14:54andzncreate