-
Notifications
You must be signed in to change notification settings - Fork 481
Cached_input crashes #4167
Copy link
Copy link
Closed
Labels
Description
Tried to remedy by deleting clearing tables input_cache and input_cache_entry, did not help.
Log:
(click to expand)
BUG: Unhandled error in plugin crossmatch: 'NoneType' object is not iterable
Traceback (most recent call last):
File "/home/paranoidi/.local/share/uv/python/cpython-3.12.8-linux-x86_64-gnu/lib/python3.12/threading.py", line 1032, in _bootstrap
self._bootstrap_inner()
│ └ <function Thread._bootstrap_inner at 0x7f8f7c646ca0>
└ <Thread(task_queue, started daemon 140254156617472)>
File "/home/paranoidi/.local/share/uv/python/cpython-3.12.8-linux-x86_64-gnu/lib/python3.12/threading.py", line 1075, in _bootstrap_inner
self.run()
│ └ <function Thread.run at 0x7f8f7c646980>
└ <Thread(task_queue, started daemon 140254156617472)>
File "/home/paranoidi/.local/share/uv/python/cpython-3.12.8-linux-x86_64-gnu/lib/python3.12/threading.py", line 1012, in run
self._target(*self._args, **self._kwargs)
│ │ │ │ │ └ {}
│ │ │ │ └ <Thread(task_queue, started daemon 140254156617472)>
│ │ │ └ ()
│ │ └ <Thread(task_queue, started daemon 140254156617472)>
│ └ <bound method TaskQueue.run of <flexget.task_queue.TaskQueue object at 0x7f8f77e3e600>>
└ <Thread(task_queue, started daemon 140254156617472)>
File "/home/paranoidi/.flexget/flexget/task_queue.py", line 46, in run
self.current_task.execute()
│ │ └ <function Task.execute at 0x7f8f79ff82c0>
│ └ <flexget.task.Task object at 0x7f8f775b6150>
└ <flexget.task_queue.TaskQueue object at 0x7f8f77e3e600>
File "/home/paranoidi/.flexget/flexget/task.py", line 89, in wrapper
return func(self, *args, **kw)
│ │ │ └ {}
│ │ └ ()
│ └ <flexget.task.Task object at 0x7f8f775b6150>
└ <function Task.execute at 0x7f8f79ff8220>
File "/home/paranoidi/.flexget/flexget/task.py", line 717, in execute
self._execute()
│ └ <function Task._execute at 0x7f8f79ff8180>
└ <flexget.task.Task object at 0x7f8f775b6150>
File "/home/paranoidi/.flexget/flexget/task.py", line 686, in _execute
self.__run_task_phase(phase)
│ └ 'filter'
└ <flexget.task.Task object at 0x7f8f775b6150>
File "/home/paranoidi/.flexget/flexget/task.py", line 515, in __run_task_phase
response = self.__run_plugin(plugin, phase, args)
│ │ │ └ (<flexget.task.Task object at 0x7f8f775b6150>, {'from': [{'imdb_watchlist': {'list': 'ratings', 'user_id': 'urXXXXXX', 'forc...
│ │ └ 'filter'
│ └ <PluginInfo(name=crossmatch)>
└ <flexget.task.Task object at 0x7f8f775b6150>
> File "/home/paranoidi/.flexget/flexget/task.py", line 548, in __run_plugin
result = method(*args, **kwargs)
│ │ └ {}
│ └ (<flexget.task.Task object at 0x7f8f775b6150>, {'from': [{'imdb_watchlist': {'list': 'ratings', 'user_id': 'urXXXXXX', 'forc...
└ <Event(name=plugin.crossmatch.filter,func=on_task_filter,priority=128)>
File "/home/paranoidi/.flexget/flexget/event.py", line 21, in __call__
return self.func(*args, **kwargs)
│ │ │ └ {}
│ │ └ (<flexget.task.Task object at 0x7f8f775b6150>, {'from': [{'imdb_watchlist': {'list': 'ratings', 'user_id': 'urXXXXXX', 'forc...
│ └ <bound method CrossMatch.on_task_filter of <flexget.plugins.filter.crossmatch.CrossMatch object at 0x7f8f78d4dfa0>>
└ <Event(name=plugin.crossmatch.filter,func=on_task_filter,priority=128)>
File "/home/paranoidi/.flexget/flexget/plugins/filter/crossmatch.py", line 49, in on_task_filter
match_entries = aggregate_inputs(task, config['from'])
│ │ └ {'from': [{'imdb_watchlist': {'list': 'ratings', 'user_id': 'urXXXXXX', 'force_language': 'en-us', 'type': ['all']}}], 'fiel...
│ └ <flexget.task.Task object at 0x7f8f775b6150>
└ <function aggregate_inputs at 0x7f8f7a480c20>
File "/home/paranoidi/.flexget/flexget/utils/tools.py", line 512, in aggregate_inputs
result = method(task, input_config)
│ │ └ {'list': 'ratings', 'user_id': 'urXXXXXX', 'force_language': 'en-us', 'type': ['all']}
│ └ <flexget.task.Task object at 0x7f8f775b6150>
└ <Event(name=plugin.imdb_watchlist.input,func=wrapped_func,priority=128)>
File "/home/paranoidi/.flexget/flexget/event.py", line 21, in __call__
return self.func(*args, **kwargs)
│ │ │ └ {}
│ │ └ (<flexget.task.Task object at 0x7f8f775b6150>, {'list': 'ratings', 'user_id': 'urXXXXXX', 'force_language': 'en-us', 'type':...
│ └ <bound method cached.__call__.<locals>.wrapped_func of <flexget.components.imdb.imdb_watchlist.ImdbWatchlist object at 0x7f8f...
└ <Event(name=plugin.imdb_watchlist.input,func=wrapped_func,priority=128)>
File "/home/paranoidi/.flexget/flexget/utils/cached_input.py", line 178, in wrapped_func
cache = IterableCache(response, self.store_to_db if self.persist else None)
│ │ │ │ │ └ datetime.timedelta(seconds=7200)
│ │ │ │ └ <flexget.utils.cached_input.cached object at 0x7f8f780bd220>
│ │ │ └ <function cached.store_to_db at 0x7f8f78dd4720>
│ │ └ <flexget.utils.cached_input.cached object at 0x7f8f780bd220>
│ └ None
└ <class 'flexget.utils.cached_input.IterableCache'>
File "/home/paranoidi/.flexget/flexget/utils/cached_input.py", line 226, in __init__
self.iterable = iter(iterable)
│ └ None
└ <flexget.utils.cached_input.IterableCache object at 0x7f8f75a9b1a0>
TypeError: 'NoneType' object is not iterable
Traceback (most recent call last):
File "/home/paranoidi/.flexget/flexget/task.py", line 548, in __run_plugin
result = method(*args, **kwargs)
^^^^^^^^^^^^^^^^^^^^^^^
File "/home/paranoidi/.flexget/flexget/event.py", line 21, in __call__
return self.func(*args, **kwargs)
^^^^^^^^^^^^^^^^^^^^^^^^^^
File "/home/paranoidi/.flexget/flexget/plugins/filter/crossmatch.py", line 49, in on_task_filter
match_entries = aggregate_inputs(task, config['from'])
^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
File "/home/paranoidi/.flexget/flexget/utils/tools.py", line 512, in aggregate_inputs
result = method(task, input_config)
^^^^^^^^^^^^^^^^^^^^^^^^^^
File "/home/paranoidi/.flexget/flexget/event.py", line 21, in __call__
return self.func(*args, **kwargs)
^^^^^^^^^^^^^^^^^^^^^^^^^^
File "/home/paranoidi/.flexget/flexget/utils/cached_input.py", line 178, in wrapped_func
cache = IterableCache(response, self.store_to_db if self.persist else None)
^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
File "/home/paranoidi/.flexget/flexget/utils/cached_input.py", line 226, in __init__
self.iterable = iter(iterable)
^^^^^^^^^^^^^^
TypeError: 'NoneType' object is not iterable
Additional information:
- FlexGet version: 0a91b2e
- Python version: 3.12
- Installation method: uv
- Using daemon (yes/no): no
Reactions are currently unavailable