You signed in with another tab or window. Reload to refresh your session.You signed out in another tab or window. Reload to refresh your session.You switched accounts on another tab or window. Reload to refresh your session.Dismiss alert
I initially commented out blocks, then changed the -m arg to a test name and checked for only 1 match.
Leaks are pretty well spread out. Results, possibly with errors:
test_??? name(s): references, blocks
Thank you for your report Victor. It is not only on Windows.
I knew that something may be wrong with bind_class() and bind_all(), and was going to open a new issue when found a reproducer, but I did not know that it also causes leaks.
Thank you for your tests Terry. Could you please also check if #111533 fixes leaks? I do not see leaks in bind() on Linux, all leaks were in bind_class() and bind_all().
Activity
[-]test_tkinter leaks references[/-][+]test_tkinter leaks references on Windows[/+]vstinner commentedon Oct 31, 2023
git bisect points me to PR #111202 and commit 9bb202a:
terryjreedy commentedon Oct 31, 2023
@serhiy-storchaka
f:\dev\3x>python -m test -ugui -R3:3 -m BindTest test_tkinter.test_misc
...
test_tkinter.test_misc leaked [336, 336, 336] references, sum=1008
test_tkinter.test_misc leaked [151, 151, 151] memory blocks, sum=453
test_tkinter.test_misc failed (reference leak)
I am running experiments to see which individual tests leak.
pythongh-111531: Tkinter: fix reference leaks in bind_class() and bin…
terryjreedy commentedon Oct 31, 2023
I initially commented out blocks, then changed the -m arg to a test name and checked for only 1 match.
Leaks are pretty well spread out. Results, possibly with errors:
test_??? name(s): references, blocks
bind, unbind, unbind2: 6, 0
rebind, bind_class: 30,16
unbind_class: 30, 8
bind_class_rebind: 46, 18
bind_all: 30, 18
bind_tags: 0, 0
bind_events: 102, 59
unbind_all: 38, 20
bind_all_rebind: 53, 20
serhiy-storchaka commentedon Oct 31, 2023
Thank you for your report Victor. It is not only on Windows.
I knew that something may be wrong with
bind_class()andbind_all(), and was going to open a new issue when found a reproducer, but I did not know that it also causes leaks.serhiy-storchaka commentedon Oct 31, 2023
Thank you for your tests Terry. Could you please also check if #111533 fixes leaks? I do not see leaks in
bind()on Linux, all leaks were inbind_class()andbind_all().gh-111531: Tkinter: fix reference leaks in bind_class() and bind_all() (
pythongh-111531: Tkinter: fix reference leaks in bind_class() and bin…
pythongh-111531: Tkinter: fix reference leaks in bind_class() and bin…
[3.11] gh-111531: Tkinter: fix reference leaks in bind_class() and bi…
[3.12] gh-111531: Tkinter: fix reference leaks in bind_class() and bi…
vstinner commentedon Oct 31, 2023
Oh, that was a quick fix 👍
pythongh-111531: Tkinter: fix reference leaks in bind_class() and bin…
pythongh-111531: Tkinter: fix reference leaks in bind_class() and bin…
pythongh-111531: Tkinter: fix reference leaks in bind_class() and bin…