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: reference leaks
Type: resource usage Stage: resolved
Components: Interpreter Core Versions: Python 3.4
process
Status: closed Resolution: fixed
Dependencies: Superseder:
Assigned To: ncoghlan Nosy List: benjamin.peterson, christian.heimes, larry, ncoghlan, pitrou, python-dev
Priority: release blocker Keywords:

Created on 2013-10-20 12:03 by pitrou, last changed 2022-04-11 14:57 by admin. This issue is now closed.

Messages (4)
msg200568 - (view) Author: Antoine Pitrou (pitrou) * (Python committer) Date: 2013-10-20 12:03
Given the huge leakage in test_ast, it looks like a compiler issue.

results for 68a7bc8bb663 on branch "default"
--------------------------------------------

test_grammar leaked [3, 3, 3] references, sum=9
test_opcodes leaked [16, 16, 16] references, sum=48
test_builtin leaked [11, 11, 11] references, sum=33
test_unittest leaked [7, 7, 7] references, sum=21
test_doctest leaked [55, 55, 55] references, sum=165
test_doctest leaked [3, 3, 3] memory blocks, sum=9
test_support leaked [9, 9, 9] references, sum=27
test_support leaked [8, 8, 8] memory blocks, sum=24
test_ast leaked [6885, 6885, 6885] references, sum=20655
test_ast leaked [4888, 4890, 4890] memory blocks, sum=14668
test_atexit leaked [2, 2, 2] references, sum=6
test_cgi leaked [9, 9, 9] references, sum=27
test_cgi leaked [8, 8, 8] memory blocks, sum=24
test_cmd leaked [2, 2, 2] references, sum=6
test_cmd_line_script leaked [12, 12, 12] references, sum=36
test_code leaked [7, 7, 7] references, sum=21
test_codeop leaked [44, 44, 44] references, sum=132
test_codeop leaked [4, 4, 4] memory blocks, sum=12
test_collections leaked [243, 243, 243] references, sum=729
test_collections leaked [216, 216, 216] memory blocks, sum=648
test_compile leaked [122, 122, 122] references, sum=366
test_compile leaked [108, 108, 108] memory blocks, sum=324
test_ctypes leaked [1, 1, 1] references, sum=3
test_decorators leaked [4, 4, 4] references, sum=12
test_deque leaked [4, 4, 4] references, sum=12
test_descrtut leaked [39, 39, 39] references, sum=117
test_descrtut leaked [19, 19, 19] memory blocks, sum=57
test_difflib leaked [2, 2, 2] references, sum=6
test_dis leaked [769, 769, 769] references, sum=2307
test_distutils leaked [2, 2, 2] references, sum=6
test_dynamic leaked [1, 1, 1] references, sum=3
test_extcall leaked [35, 35, 35] references, sum=105
test_extcall leaked [9, 9, 9] memory blocks, sum=27
test_funcattrs leaked [1, 1, 1] references, sum=3
test_gc leaked [1, 1, 1] references, sum=3
test_generators leaked [110, 110, 110] references, sum=330
test_generators leaked [25, 25, 25] memory blocks, sum=75
test_genexps leaked [30, 30, 30] references, sum=90
test_genexps leaked [4, 4, 4] memory blocks, sum=12
test_gettext leaked [25, 25, 25] references, sum=75
test_import leaked [4, 4, 4] references, sum=12
test_importlib leaked [36, 36, 36] references, sum=108
test_importlib leaked [32, 32, 32] memory blocks, sum=96
test_inspect leaked [45, 45, 45] references, sum=135
test_itertools leaked [22, 22, 22] references, sum=66
test_itertools leaked [2, 2, 2] memory blocks, sum=6
test_json leaked [2, 2, 2] references, sum=6
test_keywordonlyarg leaked [1, 1, 1] references, sum=3
test_listcomps leaked [39, 39, 39] references, sum=117
test_listcomps leaked [19, 19, 19] memory blocks, sum=57
test_marshal leaked [2, 2, 2] references, sum=6
test_math leaked [1, 1, 1] references, sum=3
test_metaclass leaked [38, 38, 38] references, sum=114
test_metaclass leaked [10, 10, 10] memory blocks, sum=30
test_module leaked [3, 3, 3] references, sum=9
test_module leaked [2, 2, 2] memory blocks, sum=6
test_modulefinder leaked [17, 17, 17] references, sum=51
test_modulefinder leaked [12, 12, 12] memory blocks, sum=36
test_peepholer leaked [1, 1, 1] references, sum=3
test_pydoc leaked [9, 9, 9] references, sum=27
test_pydoc leaked [8, 8, 8] memory blocks, sum=24
test_runpy leaked [35, 35, 35] references, sum=105
test_scope leaked [27, 27, 27] references, sum=81
test_scope leaked [18, 18, 18] memory blocks, sum=54
test_setcomps leaked [40, 40, 40] references, sum=120
test_setcomps leaked [19, 19, 19] memory blocks, sum=57
test_site leaked [0, 0, 2] references, sum=2
test_site leaked [0, 0, 2] memory blocks, sum=2
test_super leaked [2, 2, 2] references, sum=6
test_syntax leaked [4, 4, 4] references, sum=12
test_sys_settrace leaked [2, 2, 2] references, sum=6
test_threaded_import leaked [1, 1, 1] references, sum=3
test_threading leaked [22, 22, 22] references, sum=66
test_threading leaked [17, 17, 17] memory blocks, sum=51
test_threading_local leaked [10, 10, 10] references, sum=30
test_threading_local leaked [4, 4, 4] memory blocks, sum=12
test_timeit leaked [22, 22, 22] references, sum=66
test_tools leaked [44, 44, 44] references, sum=132
test_tools leaked [18, 18, 18] memory blocks, sum=54
test_trace leaked [1599, 1599, 1599] references, sum=4797
test_trace leaked [1125, 1127, 1127] memory blocks, sum=3379
test_unpack leaked [5, 5, 5] references, sum=15
test_unpack leaked [2, 2, 2] memory blocks, sum=6
test_unpack_ex leaked [7, 7, 7] references, sum=21
test_unpack_ex leaked [2, 2, 2] memory blocks, sum=6
test_weakref leaked [8, 8, 8] references, sum=24
test_weakref leaked [2, 2, 2] memory blocks, sum=6
test_zipimport leaked [38, 38, 38] references, sum=114
test_zipimport_support leaked [84, 84, 84] references, sum=252
test_zipimport_support leaked [20, 20, 20] memory blocks, sum=60


Command line was: ['./python', '-m', 'test.regrtest', '-uall', '-R', '3:3:/home/antoine/cpython/refleaks/reflogYgMGKS', '-x']
msg200574 - (view) Author: Nick Coghlan (ncoghlan) * (Python committer) Date: 2013-10-20 12:37
Just spotted the bug in http://hg.python.org/cpython/rev/b4a325275fb0

The "Py_XINCREF(name);" call should have been removed, as it's the counterpart to the removed "Py_CLEAR(u->u_qualname);" call
msg200575 - (view) Author: Roundup Robot (python-dev) (Python triager) Date: 2013-10-20 12:44
New changeset 84a8b797c5c5 by Nick Coghlan in branch 'default':
Close #19313: remove no longer needed Py_XINCREF
http://hg.python.org/cpython/rev/84a8b797c5c5
msg200577 - (view) Author: Nick Coghlan (ncoghlan) * (Python committer) Date: 2013-10-20 12:50
Before:

$ ./python -m test -R 3:3 test_ast
[1/1] test_ast
beginning 6 repetitions
123456
......
test_ast leaked [6885, 6885, 6885] references, sum=20655
test_ast leaked [4888, 4890, 4890] memory blocks, sum=14668
1 test failed:
    test_ast

After:

$ ./python -m test -R 3:3 test_ast
[1/1] test_ast
beginning 6 repetitions
123456
......
1 test OK.
History
Date User Action Args
2022-04-11 14:57:52adminsetgithub: 63512
2013-10-20 12:50:32ncoghlansetmessages: + msg200577
2013-10-20 12:44:35python-devsetstatus: open -> closed

nosy: + python-dev
messages: + msg200575

resolution: fixed
stage: resolved
2013-10-20 12:38:06ncoghlansetassignee: benjamin.peterson -> ncoghlan
2013-10-20 12:37:50ncoghlansetnosy: + ncoghlan
messages: + msg200574
2013-10-20 12:15:24christian.heimessetnosy: + christian.heimes
2013-10-20 12:03:02pitroucreate