mirror of
https://github.com/searxng/searxng.git
synced 2025-07-09 03:04:26 -04:00
The issue was introduced in commit: edfbf1e Problematic code:: def timeout_func(timeout, func, *args, **kwargs): ... if not p.is_alive(): ret_val = que.get() else: logger.debug("terminate function after timeout is exceeded") # type: ignore p.terminate() p.join() p.close() The `logger` function in the `else` path is not defined. Was accidentally removed in commit edfbf1e without providing an appropriate replacement.:: File "/usr/local/searxng/searx/plugins/calculator.py", line 216, in timeout_func logger.debug("terminate function after timeout is exceeded") # type: ignore ^^^^^^ NameError: name 'logger' is not defined The exception triggered by this prevents the `p.terminate()` from being executed. As a result, the processes accumulate in memory (memory leak). Related: https://github.com/searxng/searx-instances/discussions/708#discussioncomment-13688168 Signed-off-by: Markus Heiser <markus.heiser@darmarit.de>