From c28ffd8b1cc88fb9569ab47ee97e9b8711380e54 Mon Sep 17 00:00:00 2001 From: Tyler Goodlet Date: Fri, 25 Dec 2020 15:20:58 -0500 Subject: [PATCH] Don't exception log multi-cancels --- tractor/_actor.py | 9 +++++++-- 1 file changed, 7 insertions(+), 2 deletions(-) diff --git a/tractor/_actor.py b/tractor/_actor.py index 25a4f772..3d7e6f0b 100644 --- a/tractor/_actor.py +++ b/tractor/_actor.py @@ -25,7 +25,8 @@ from .log import get_logger from ._exceptions import ( pack_error, unpack_error, - ModuleNotExposed + ModuleNotExposed, + is_multi_cancelled, ) from . import _debug from ._discovery import get_arbiter @@ -129,7 +130,11 @@ async def _invoke( except (Exception, trio.MultiError) as err: - if not isinstance(err, trio.ClosedResourceError): + # TODO: maybe we'll want differnet "levels" of debugging + # eventualy such as ('app', 'supervisory', 'runtime') ? + if not isinstance(err, trio.ClosedResourceError) and ( + not is_multi_cancelled(err) + ): log.exception("Actor crashed:") # XXX: is there any case where we'll want to debug IPC # disconnects? I can't think of a reason that inspecting