Opened 4 years ago

Last modified 3 years ago

#3327 pending bug

Exceptions filling logs and memory leaking till operational freeze

Reported by: unlstorm Owned by:
Priority: critical Milestone: not applicable
Component: libtorrent Version: 2.0.3
Keywords: findCaller Cc: unlstorm

Description

Using client/server v2.0.3 libtorrent: 1.1.13.0

Believe this existed since my fresh installation a few days ago but I never noticed it the first few days until logs filled and RAM skyrocketed. I'm running delugevpn in a docker container on my Synology NAS.

deluged.log is filled with the below error (3 to 5 events every 2 seconds: 00:08:16 [CRITICAL][twisted :154 ] Unhandled error in Deferred:

Traceback info from supervisord.log appears (repeated constantly) as shown below: 2019-11-20 00:10:07,608 DEBG 'watchdog-script' stderr output: Unhandled error in Deferred:

2019-11-20 00:10:07,608 DEBG 'watchdog-script' stderr output:

Traceback (most recent call last):

File "/usr/lib/python3.8/site-packages/deluge/plugins/Stats-0.4-py3.8.egg/deluge_stats/core.py", line 119, in update_stats

File "/usr/lib/python3.8/site-packages/deluge/core/core.py", line 655, in get_session_status

log.warning('Session status key not valid: %s', key)

File "/usr/lib/python3.8/site-packages/twisted/internet/defer.py", line 1613, in unwindGenerator

return _cancellableInlineCallbacks(gen)

File "/usr/lib/python3.8/site-packages/twisted/internet/defer.py", line 1529, in _cancellableInlineCallbacks

_inlineCallbacks(None, g, status)

--- <exception caught here> ---

File "/usr/lib/python3.8/site-packages/twisted/internet/defer.py", line 1418, in _inlineCallbacks

result = g.send(result)

File "/usr/lib/python3.8/site-packages/deluge/log.py", line 73, in warning

yield LoggingLoggerClass?.warning(self, msg, *args, kwargs)

File "/usr/lib/python3.8/logging/init.py", line 1446, in warning

self._log(WARNING, msg, args, kwargs)

File "/usr/lib/python3.8/logging/init.py", line 1565, in _log

fn, lno, func, sinfo = self.findCaller(stack_info, stacklevel)

builtins.TypeError?: findCaller() takes from 1 to 2 positional arguments but 3 were given

2019-11-20 00:10:07,609 DEBG 'watchdog-script' stderr output: Temporarily disabling observer LegacyLogObserverWrapper?(<bound method TwistedLoggingObserver?.emit of <deluge.log.TwistedLoggingObserver? object at 0x7f218f70f940>>) due to exception: [Failure instance: Traceback: <class 'TypeError?'>: findCaller() takes from 1 to 2 positional arguments but 3 were given /usr/lib/python3.8/site-packages/twisted/internet/defer.py:497:errback /usr/lib/python3.8/site-packages/twisted/internet/defer.py:962:__del /usr/lib/python3.8/site-packages/twisted/logger/_logger.py:190:failure /usr/lib/python3.8/site-packages/twisted/logger/_logger.py:144:emit --- <exception caught here> --- /usr/lib/python3.8/site-packages/twisted/logger/_observer.py:131:__call /usr/lib/python3.8/site-packages/twisted/logger/_legacy.py:93:__call /usr/lib/python3.8/site-packages/deluge/log.py:204:emit /usr/lib/python3.8/logging/init__.py:1481:critical /usr/lib/python3.8/logging/init__.py:1565:_log ] Traceback (most recent call last):

File "/usr/lib/python3.8/site-packages/twisted/internet/defer.py", line 497, in errback

fail = failure.Failure(captureVars=self.debug)

File "/usr/lib/python3.8/site-packages/twisted/internet/defer.py", line 962, in del

log.failure(format,

File "/usr/lib/python3.8/site-packages/twisted/logger/_logger.py", line 190, in failure

self.emit(level, format, log_failure=failure, kwargs)

File "/usr/lib/python3.8/site-packages/twisted/logger/_logger.py", line 144, in emit

self.observer(event)

--- <exception caught here> ---

File "/usr/lib/python3.8/site-packages/twisted/logger/_observer.py", line 131, in call

observer(event)

File "/usr/lib/python3.8/site-packages/twisted/logger/_legacy.py", line 93, in call

self.legacyObserver(event)

File "/usr/lib/python3.8/site-packages/deluge/log.py", line 204, in emit

getattr(LoggingLoggerClass?, event_dictlog_level?.name)(

File "/usr/lib/python3.8/logging/init.py", line 1481, in critical

self._log(CRITICAL, msg, args, kwargs)

File "/usr/lib/python3.8/logging/init.py", line 1565, in _log

fn, lno, func, sinfo = self.findCaller(stack_info, stacklevel)

builtins.TypeError?: findCaller() takes from 1 to 2 positional arguments but 3 were given

Change History (5)

comment:1 Changed 4 years ago by Cas

  • Milestone changed from needs verified to 2.0.4
  • Resolution set to Fixed
  • Status changed from new to closed

This is result of using Python 3.8 and a fix has been merged to develop: [351664ec071daa04]

comment:2 follow-up: Changed 4 years ago by jools772

I still get this error in deluge 2.04.dev24, see: https://pastebin.com/x5wswT7H

comment:3 in reply to: ↑ 2 Changed 4 years ago by Cas

  • Resolution Fixed deleted
  • Status changed from closed to reopened

Replying to jools772:

I still get this error in deluge 2.04.dev24

This is actually a slightly different issue to the OP as it is propagating from Twisted logging, this has been fixed in Twisted >= 19.7

I shall handle the error gracefully and can skip logging under these circumstances.

comment:4 Changed 4 years ago by cinderblock

And hope of resolving this? This problem is rather annoying. I started a dupe before seeing this: #3423

comment:5 Changed 3 years ago by Cas

  • Component changed from Core to libtorrent
  • Milestone changed from 2.0.4 to not applicable
  • Status changed from reopened to pending
Note: See TracTickets for help on using tickets.