From 2c86aaff6cf79a22e64e0cb71f37e3acc5b75b19 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Rodrigo=20P=C3=A9rez?= Date: Sun, 31 May 2026 15:38:19 -0400 Subject: [PATCH] fix(main): log LoopingCall failures without secondary error --- src/adn_server/main.py | 9 ++++++++- 1 file changed, 8 insertions(+), 1 deletion(-) diff --git a/src/adn_server/main.py b/src/adn_server/main.py index 072ed97..6cdf8a8 100644 --- a/src/adn_server/main.py +++ b/src/adn_server/main.py @@ -137,7 +137,14 @@ def _make_echo_bridges(config: dict) -> dict: def _looping_errback(logger: logging.Logger, failure): """Errback for LoopingCalls (legacy loopingErrHandle). Stops reactor to avoid memory leaks.""" - logger.error("(GLOBAL) STOPPING REACTOR TO AVOID MEMORY LEAK: Unhandled error in timed loop.\n %s", failure) + try: + tb = failure.getTraceback() if hasattr(failure, "getTraceback") else str(failure) + except Exception: + tb = repr(failure) + logger.error( + "(GLOBAL) STOPPING REACTOR TO AVOID MEMORY LEAK: Unhandled error in timed loop.\n%s", + tb, + ) from twisted.internet import reactor as _reactor _reactor.stop()