Hi-
I just wanted to report an issue I was having on my system back in July with the AutoAdd plugin and how I resolved it.
System:
Ubuntu 20.04
Python 3.8.10
Deluged 2.0.3
libtorrent 1.1.13.0
AutoAdd 1.9.1
Issues:
Upon installing the AutoAdd plugin of version mentioned above, I noticed my system began locking up. At first, I didn't know what was causing this. Upon inspection of
journalctl -f
, I noticed constant errors related to the AutoAdd plugin. It was spewing numerous errors and ended up causing ungodly amounts of memory leaks which would eventually plug up the system. The errors are as follows:
Code: Select all
deluged[1391968]: Traceback (most recent call last): Jul 17 05:26:01 server deluged[1391968]: File "/usr/lib/python3/dist-packages/deluge/plugins/AutoAdd-1.8.egg/deluge_autoadd/core.py", line 350, in update_watchdir Jul 17 05:26:01 server deluged[1391968]: fail_torrent_add(str(ex), filepath, magnet) Jul 17 05:26:01 server deluged[1391968]: File "/usr/lib/python3/dist-packages/deluge/plugins/AutoAdd-1.8.egg/deluge_autoadd/core.py", line 329, in fail_torrent_add Jul 17 05:26:01 server deluged[1391968]: log.error(
Jul 17 05:26:01 server deluged[1391968]: File "/usr/lib/python3/dist-packages/twisted/internet/defer.py", line 1613, in unwindGenerator Jul 17 05:26:01 server deluged[1391968]: return _cancellableInlineCallbacks(gen) Jul 17 05:26:01 server deluged[1391968]: File "/usr/lib/python3/dist-packages/twisted/internet/defer.py", line 1529, in _cancellableInlineCallbacks Jul 17 05:26:01 server deluged[1391968]: _inlineCallbacks(None, g, status) Jul 17 05:26:01 server deluged[1391968]: --- <exception caught here> --- Jul 17 05:26:01 server deluged[1391968]: File "/usr/lib/python3/dist-packages/twisted/internet/defer.py", line 1418, in _inlineCallbacks Jul 17 05:26:01 server deluged[1391968]: result = g.send(result) Jul 17 05:26:01 server deluged[1391968]: File "/usr/lib/python3/dist-packages/deluge/log.py", line 79, in error
Jul 17 05:26:01 server deluged[1391968]: yield LoggingLoggerClass.error(self, msg, *args, **kwargs) Jul 17 05:26:01 server deluged[1391968]: File "/usr/lib/python3.8/logging/__init__.py", line 1475, in error Jul 17 05:26:01 server deluged[1391968]: self._log(ERROR, msg, args, **kwargs) Jul 17 05:26:01 server deluged[1391968]: File "/usr/lib/python3.8/logging/__init__.py", line 1577, in _log Jul 17 05:26:01 server deluged[1391968]: fn, lno, func, sinfo = self.findCaller(stack_info, stacklevel) Jul 17 05:26:01 server deluged[1391968]: builtins.TypeError: findCaller() takes from 1 to 2 positional arguments but 3 were given Jul 17 05:26:01 server deluged[1391968]: Temporarily disabling observer LegacyLogObserverWrapper(<bound method TwistedLoggingObserver.emit of <deluge.log.TwistedLoggingObserver object at 0x7f5627fdabe0>>) due to exception: [Failure instance: Traceback: <class 'TypeError'>: findCaller() takes from 1 to 2 positional arguments but 3 were given
Jul 17 05:26:01 server deluged[1391968]: /usr/lib/python3/dist-packages/deluge/core/alertmanager.py:138:handle_alerts Jul 17 05:26:01 server deluged[1391968]: /usr/lib/python3/dist-packages/twisted/internet/defer.py:962:__del__ Jul 17 05:26:01 server deluged[1391968]: /usr/lib/python3/dist-packages/twisted/logger/_logger.py:190:failure Jul 17 05:26:01 server deluged[1391968]: /usr/lib/python3/dist-packages/twisted/logger/_logger.py:144:emit
Jul 17 05:26:01 server deluged[1391968]: --- <exception caught here> --- Jul 17 05:26:01 server deluged[1391968]: /usr/lib/python3/dist-packages/twisted/logger/_observer.py:131:__call__ Jul 17 05:26:01 server deluged[1391968]: /usr/lib/python3/dist-packages/twisted/logger/_legacy.py:93:__call__ Jul 17 05:26:01 server deluged[1391968]: /usr/lib/python3/dist-packages/deluge/log.py:204:emit Jul 17 05:26:01 server deluged[1391968]: /usr/lib/python3.8/logging/__init__.py:1493:critical Jul 17 05:26:01 server deluged[1391968]: /usr/lib/python3.8/logging/__init__.py:1577:_log Jul 17 05:26:01 server deluged[1391968]: ] Jul 17 05:26:01 server deluged[1391968]: Traceback (most recent call last):
Jul 17 05:26:01 server deluged[1391968]: File "/usr/lib/python3/dist-packages/deluge/core/alertmanager.py", line 138, in handle_alerts Jul 17 05:26:01 server deluged[1391968]: **{ Jul 17 05:26:01 server deluged[1391968]: File "/usr/lib/python3/dist-packages/twisted/internet/defer.py", line 962, in __del__ Jul 17 05:26:01 server deluged[1391968]: log.failure(format, Jul 17 05:26:01 server deluged[1391968]: File "/usr/lib/python3/dist-packages/twisted/logger/_logger.py", line 190, in failure Jul 17 05:26:01 server deluged[1391968]: self.emit(level, format, log_failure=failure, **kwargs) Jul 17 05:26:01 server deluged[1391968]: File "/usr/lib/python3/dist-packages/twisted/logger/_logger.py", line 144, in emit Jul 17 05:26:01 server deluged[1391968]: self.observer(event) Jul 17 05:26:01 server deluged[1391968]: --- <exception caught here> ---
\
Using the first of these error reports:
Code: Select all
deluged[1391968]: File "/usr/lib/python3/dist-packages/deluge/plugins/AutoAdd-1.8.egg/deluge_autoadd/core.py", line 350, in update_watchdir
Jul 17 05:26:01 server deluged[1391968]: fail_torrent_add(str(ex), filepath, magnet)
I was able to trace the error to the following line of code in
core.py
Code: Select all
# torrent handle is invalid and so is the magnet link
log.error(
'Cannot Autoadd %s: %s: %s',
'magnet' if magnet else 'torrent file',
filepath,
err_msg,
)
Once I commented out this code, and crated a new egg file, I noticed the RAM usage stayed the same without maxing out from the AutoAdd errors and memory leaks that were occurring.
For what it's worth, here is the AutoAdd 1.9.1.1.egg file for anyone else that sees this same issue.
I wasn't entirely sure how to fix the code and leave the log.error call in so that the code is preserved and as mentioned just commented it out and it fixed the problems.
Best,
protomens