heralding
heralding copied to clipboard
Python 3.10 fails to start Heralding with errors
Heralding has issues with Python 3.10 with regard to imap and fails to start with the following error:
heralding | 2022-06-02 14:58:25,244 (heralding.honeypot) Could not start Imap server on port 143. Error: BaseEventLoop.create_server() got an unexpected keyword argument 'loop'
heralding | 2022-06-02 14:58:25,244 (root) BaseEventLoop.create_server() got an unexpected keyword argument 'loop'
heralding | Traceback (most recent call last):
heralding | File "/usr/bin/heralding", line 163, in <module>
heralding | honeypot.start()
heralding | File "/usr/lib/python3.10/site-packages/heralding/honeypot.py", line 196, in start
heralding | raise ex
heralding | File "/usr/lib/python3.10/site-packages/heralding/honeypot.py", line 188, in start
heralding | server = self.loop.run_until_complete(server_coro)
heralding | File "/usr/lib/python3.10/asyncio/base_events.py", line 646, in run_until_complete
heralding | return future.result()
heralding | File "/usr/lib/python3.10/asyncio/streams.py", line 84, in start_server
heralding | return await loop.create_server(factory, host, port, **kwds)
heralding | TypeError: BaseEventLoop.create_server() got an unexpected keyword argument 'loop'
heralding | Traceback (most recent call last):
heralding | File "/usr/bin/heralding", line 163, in <module>
heralding | honeypot.start()
heralding | File "/usr/lib/python3.10/site-packages/heralding/honeypot.py", line 196, in start
heralding | raise ex
heralding | File "/usr/lib/python3.10/site-packages/heralding/honeypot.py", line 188, in start
heralding | server = self.loop.run_until_complete(server_coro)
heralding | File "/usr/lib/python3.10/asyncio/base_events.py", line 646, in run_until_complete
heralding | return future.result()
heralding | File "/usr/lib/python3.10/asyncio/streams.py", line 84, in start_server
heralding | return await loop.create_server(factory, host, port, **kwds)
heralding | TypeError: BaseEventLoop.create_server() got an unexpected keyword argument 'loop'
heralding |
heralding | During handling of the above exception, another exception occurred:
heralding |
heralding | Traceback (most recent call last):
heralding | File "/usr/bin/heralding", line 166, in <module>
heralding | honeypot.stop()
heralding | File "/usr/lib/python3.10/site-packages/heralding/honeypot.py", line 216, in stop
heralding | self.loop.run_until_complete(common.cancel_all_pending_tasks(self.loop))
heralding | File "/usr/lib/python3.10/asyncio/base_events.py", line 646, in run_until_complete
heralding | return future.result()
heralding | File "/usr/lib/python3.10/site-packages/heralding/misc/common.py", line 45, in cancel_all_pending_tasks
heralding | await asyncio.wait_for(task, timeout=5, loop=loop)
heralding | TypeError: wait_for() got an unexpected keyword argument 'loop'
Python 3.9 runs without any issues.
Hello @t3chn0m4g3! Thank you for your report!
The problem is loop parameter was removed for many asyncio functions starting from Python 3.10 as well as for asyncio.wait_for
- https://docs.python.org/3/library/asyncio-task.html?highlight=wait_for#asyncio.wait_for
I think we need to make some adjustments.
@kajojify Thanks for the swift reply. If you need help with testing please ping me.
@kajojify Have you had the chance yet to take a closer look?
I just ran into this as well on a fresh Ubuntu 22.04 install. Looks like running 3.9 is still the solution for now.
@johnnykv @kajojify Any updates on this?