From 91fbd10e5167f2bb27e3727c76a309e0c02426ec Mon Sep 17 00:00:00 2001 From: Steven Silvester Date: Sun, 3 Sep 2023 20:52:45 -0500 Subject: [PATCH 1/4] handle both kinds of exceptions --- ipykernel/iostream.py | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/ipykernel/iostream.py b/ipykernel/iostream.py index 74e65e4d9..b2937a724 100644 --- a/ipykernel/iostream.py +++ b/ipykernel/iostream.py @@ -97,7 +97,7 @@ async def _cancel(): try: self.io_loop.run_sync(_cancel) - except TimeoutError: + except (TimeoutError, asyncio.exceptions.TimeoutError): pass self.io_loop.close(all_fds=True) From 5a411a0f5748808e6a0d046a7445059496642c6b Mon Sep 17 00:00:00 2001 From: Steven Silvester Date: Mon, 4 Sep 2023 08:34:40 -0500 Subject: [PATCH 2/4] remove try/catch --- ipykernel/iostream.py | 5 +---- 1 file changed, 1 insertion(+), 4 deletions(-) diff --git a/ipykernel/iostream.py b/ipykernel/iostream.py index b2937a724..9aafa66ad 100644 --- a/ipykernel/iostream.py +++ b/ipykernel/iostream.py @@ -95,10 +95,7 @@ def _start_event_gc(): async def _cancel(): self._event_pipe_gc_task.cancel() # type:ignore - try: - self.io_loop.run_sync(_cancel) - except (TimeoutError, asyncio.exceptions.TimeoutError): - pass + self.io_loop.run_sync(_cancel) self.io_loop.close(all_fds=True) def _setup_event_pipe(self): From 8f991641c0eecbe64b9f2483dab4d5eeb7ce4071 Mon Sep 17 00:00:00 2001 From: Steven Silvester Date: Mon, 4 Sep 2023 09:49:24 -0500 Subject: [PATCH 3/4] try this approach --- ipykernel/iostream.py | 6 +++++- 1 file changed, 5 insertions(+), 1 deletion(-) diff --git a/ipykernel/iostream.py b/ipykernel/iostream.py index 9aafa66ad..9a7248973 100644 --- a/ipykernel/iostream.py +++ b/ipykernel/iostream.py @@ -95,7 +95,11 @@ def _start_event_gc(): async def _cancel(): self._event_pipe_gc_task.cancel() # type:ignore - self.io_loop.run_sync(_cancel) + try: + self.io_loop.run_sync(_cancel) + except asyncio.exceptions.TimeoutError: + self._event_pipe_gc_task.cancel() + self.io_loop.close(all_fds=True) def _setup_event_pipe(self): From 626eaa794a416560fc104a5bf77424a9a57b8b01 Mon Sep 17 00:00:00 2001 From: Steven Silvester Date: Mon, 4 Sep 2023 10:09:49 -0500 Subject: [PATCH 4/4] try this approach --- ipykernel/iostream.py | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/ipykernel/iostream.py b/ipykernel/iostream.py index 9a7248973..87834e26b 100644 --- a/ipykernel/iostream.py +++ b/ipykernel/iostream.py @@ -95,9 +95,9 @@ def _start_event_gc(): async def _cancel(): self._event_pipe_gc_task.cancel() # type:ignore - try: + if not self._stopped: self.io_loop.run_sync(_cancel) - except asyncio.exceptions.TimeoutError: + else: self._event_pipe_gc_task.cancel() self.io_loop.close(all_fds=True)