From 514f5e86e3d87df216d295faead70690e7dcc069 Mon Sep 17 00:00:00 2001 From: Quentin Peter Date: Thu, 20 Oct 2022 09:24:40 +0200 Subject: [PATCH 1/2] destroy tk app to avoid memory leak --- ipykernel/eventloops.py | 6 +++++- 1 file changed, 5 insertions(+), 1 deletion(-) diff --git a/ipykernel/eventloops.py b/ipykernel/eventloops.py index cb693e8f8..fc2d9a4b2 100644 --- a/ipykernel/eventloops.py +++ b/ipykernel/eventloops.py @@ -247,6 +247,9 @@ def process_stream_events(stream, *a, **kw): if stream.flush(limit=1): app.tk.deletefilehandler(stream.getsockopt(zmq.FD)) app.quit() + app.destroy() + del kernel.app_wrapper + # For Tkinter, we create a Tk object and call its withdraw method. kernel.app_wrapper = BasicAppWrapper(app) @@ -297,7 +300,8 @@ def start(self): def loop_tk_exit(kernel): try: kernel.app_wrapper.app.destroy() - except RuntimeError: + del kernel.app_wrapper + except (RuntimeError, AttributeError): pass From 34e2313909c7b8a7f6ff9478aa7cf6cc41b31de1 Mon Sep 17 00:00:00 2001 From: "pre-commit-ci[bot]" <66853113+pre-commit-ci[bot]@users.noreply.github.com> Date: Thu, 20 Oct 2022 07:28:02 +0000 Subject: [PATCH 2/2] [pre-commit.ci] auto fixes from pre-commit.com hooks for more information, see https://pre-commit.ci --- ipykernel/eventloops.py | 1 - 1 file changed, 1 deletion(-) diff --git a/ipykernel/eventloops.py b/ipykernel/eventloops.py index fc2d9a4b2..106381c19 100644 --- a/ipykernel/eventloops.py +++ b/ipykernel/eventloops.py @@ -250,7 +250,6 @@ def process_stream_events(stream, *a, **kw): app.destroy() del kernel.app_wrapper - # For Tkinter, we create a Tk object and call its withdraw method. kernel.app_wrapper = BasicAppWrapper(app)