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: gc is disabled without explict calling gc.disable()
Type: behavior Stage: resolved
Components: Library (Lib) Versions:
process
Status: closed Resolution: out of date
Dependencies: Superseder:
Assigned To: Nosy List: eric.smith, linxiaojun
Priority: normal Keywords:

Created on 2021-10-15 07:31 by linxiaojun, last changed 2022-04-11 14:59 by admin. This issue is now closed.

Messages (2)
msg403980 - (view) Author: EricLin (linxiaojun) Date: 2021-10-15 07:31
First, I would like to clarify that this is a Python 2.7.5 issue. I know python2 is no longer maintained, but I still wish to look for some help here.

We have observed a long running Python 2.7.5 process leaking memory. I tried to inject some code into the process using gdb, to see what's happening inside.
The gdb command looks like:
gdb -p $pid -batch -eval-command='call PyGILState_Ensure()' -eval-command='call PyRun_SimpleString("exec(open(\"/path/to/code\").read())")' -eval-command='call PyGILState_Release($1)'

I printed gc.get_objects() information into a file and took 2 snapshots, but failed to find obvious object size increase. But after calling gc.collect() in the injected code, a dramatic memory decrease is observed. So I tried to print the return value following:

gc.isenabled()
gc.get_count()
gc.get_threshold()

which gives me:

False
(56107, 0, 0)
(700, 10, 10)

This obviously shows that gc is disabled, but I'm sure non of our code does it explicitly. And the same code is running on hundreds of servers but only one has this problem.

Does anyone have any idea what might be the cause, or what to check to find the root cause?
msg403988 - (view) Author: Eric V. Smith (eric.smith) * (Python committer) Date: 2021-10-15 08:14
Sorry, but since this is a 2.7 issue, I'm going to close it here. I know this isn't the answer you wanted, but this is really the wrong venue.

I suggest you ask on StackOverflow or the python-list mailing list (https://mail.python.org/mailman/listinfo/python-list).

Good luck!
History
Date User Action Args
2022-04-11 14:59:51adminsetgithub: 89644
2021-10-15 14:09:41zach.waresetversions: - Python 3.6
2021-10-15 08:14:57eric.smithsetstatus: open -> closed

nosy: + eric.smith
messages: + msg403988

resolution: out of date
stage: resolved
2021-10-15 07:31:36linxiaojuncreate