Deluge doesn't completely crash but at least stops updating the user
interfaces.
A simple workaround for now is catching the exception:
{{{#!python
diff --git a/deluge/core/alertmanager.py b/deluge/core/alertmanager.py
index 2fe42224d..fedc48322 100644
--- a/deluge/core/alertmanager.py
+++ b/deluge/core/alertmanager.py
@@ -131,17 +131,20 @@ def handle_alerts(self):
# Call any handlers for this alert type
if alert_type in self.handlers:
for handler in self.handlers[alert_type]:
- if log.isEnabledFor(logging.DEBUG):
- log.debug('Handling alert: %s', alert_type)
- # Copy alert attributes
- alert_copy = SimpleNamespace(
- **{
- attr: getattr(alert, attr)
- for attr in dir(alert)
- if not attr.startswith('__')
- }
- )
- self.delayed_calls.append(reactor.callLater(0,
handler, alert_copy))
+ try:
+ if log.isEnabledFor(logging.DEBUG):
+ log.debug('Handling alert: %s', alert_type)
+ # Copy alert attributes
+ alert_copy = SimpleNamespace(
+ **{
+ attr: getattr(alert, attr)
+ for attr in dir(alert)
+ if not attr.startswith('__')
+ }
+ )
+ self.delayed_calls.append(reactor.callLater(0,
handler, alert_copy))
+ except:
+ pass
def set_alert_queue_size(self, queue_size):
"""Sets the maximum size of the libtorrent alert queue"""
}}}
--
Ticket URL: <https://dev.deluge-torrent.org/ticket/3326>
Deluge <https://deluge-torrent.org/>
Deluge Project
* milestone: needs verified => 2.0.4
Comment:
Can you provide any details on how to replicate this error?
--
Ticket URL: <https://dev.deluge-torrent.org/ticket/3326#comment:1>
Comment (by pLurium):
I had lots of
{{{
[WARNING ][deluge.core.torrentmanager :1624] on_alert_performance:
SomeTörrentNäme: performance warning: max outstanding piece requests
reached, outstanding_request_limit_reached
}}}
and I think the name in one of them triggered the !UnicodeDecodeError.
I've upgraded earlier from Deluge 1.3 but didn't immediately run into
this.
--
Ticket URL: <https://dev.deluge-torrent.org/ticket/3326#comment:2>