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.

Author pablogsal
Recipients pablogsal, shihai1991, vstinner
Date 2020-10-25.06:01:57
SpamBayes Score -1.0
Marked as misclassified Yes
Message-id <1603605718.24.0.992178838709.issue41919@roundup.psfhosted.org>
In-reply-to
Content
Commit c9f696cb96d1c362d5cad871f61da520572d9b08 introduced a reference leak in the test suite. See https://bugs.python.org/issue42145:

c9f696cb96d1c362d5cad871f61da520572d9b08 is the first bad commit
commit c9f696cb96d1c362d5cad871f61da520572d9b08
Author: Hai Shi <shihai1992@gmail.com>
Date:   Fri Oct 16 16:34:15 2020 +0800

    bpo-41919, test_codecs: Move codecs.register calls to setUp() (GH-22513)

Reverting the commit eliminates the problem:

rences, sum=12
test_io leaked [1, 1, 1, 1] memory blocks, sum=4
test_io failed

== Tests result: FAILURE ==

1 test failed:
    test_io

Total duration: 397 ms
Tests result: FAILURE
g
~/github/python/master master|bisect*
❯ git revert c9f696cb96d1c362d5cad871f61da520572d9b08
Auto-merging Lib/test/test_codecs.py
[master f3de7c00b4] Revert "bpo-41919, test_codecs: Move codecs.register calls to setUp() (GH-22513)"
 7 files changed, 112 insertions(+), 16 deletions(-)

~/github/python/master master|bisect* ⇡
❯ make -j -s
 CC='gcc -pthread' LDSHARED='gcc -pthread -shared    ' OPT='-g -Og -Wall'       _TCLTK_INCLUDES='' _TCLTK_LIBS=''       ./python -E ./setup.py -q build

The following modules found by detect_modules() in setup.py, have been
built by the Makefile instead, as configured by the Setup files:
_abc                  atexit                pwd
time


~/github/python/master master|bisect* ⇡
❯ ./python -m test test_io -m test.test_io.CTextIOWrapperTest.test_read_one_by_one -R :
0:00:00 load avg: 2.57 Run tests sequentially
0:00:00 load avg: 2.57 [1/1] test_io
beginning 9 repetitions
123456789
.........

== Tests result: SUCCESS ==

1 test OK.

Total duration: 455 ms
Tests result: SUCCESS

    * Move the codecs' (un)register operation to testcases.
    * Remove _codecs._forget_codec() and _PyCodec_Forget()

 Lib/test/test_charmapcodec.py    |  7 +++++--
 Lib/test/test_codecs.py          | 25 +++----------------------
 Lib/test/test_io.py              |  7 +++----
 Lib/test/test_unicode.py         |  5 ++++-
 Modules/_codecsmodule.c          | 20 --------------------
 Modules/clinic/_codecsmodule.c.h | 39 +--------------------------------------
 Python/codecs.c                  | 25 -------------------------
 7 files changed, 16 insertions(+), 112 deletions(-)
History
Date User Action Args
2020-10-25 06:01:58pablogsalsetrecipients: + pablogsal, vstinner, shihai1991
2020-10-25 06:01:58pablogsalsetmessageid: <1603605718.24.0.992178838709.issue41919@roundup.psfhosted.org>
2020-10-25 06:01:58pablogsallinkissue41919 messages
2020-10-25 06:01:57pablogsalcreate