From e9a8826805ead9205380225a21f0def350677186 Mon Sep 17 00:00:00 2001 From: Valentin Lorentz Date: Sun, 17 May 2020 12:46:01 +0200 Subject: [PATCH] irclib: catch exception when calling callback.reset() We don't want the Irc driver to hang when a plugin crashes in this function. --- src/irclib.py | 5 ++++- 1 file changed, 4 insertions(+), 1 deletion(-) diff --git a/src/irclib.py b/src/irclib.py index 69a160b75..130f98e43 100644 --- a/src/irclib.py +++ b/src/irclib.py @@ -1208,7 +1208,10 @@ class Irc(IrcCommandDispatcher, log.Firewalled): self.fastqueue.reset() self.startedSync.clear() for callback in self.callbacks: - callback.reset() + try: + callback.reset() + except Exception: + log.exception('Uncaught exception in %r.reset()', callback) self._queueConnectMessages() def _setNonResettingVariables(self):