mweinelt / sml-exporter

Smartmeter Prometheus Exporter using the Smartmeter Message Language (SML)
MIT License
0 stars 1 forks source link

Crash asyncio loop #14

Closed XL-Reaper closed 1 year ago

XL-Reaper commented 1 year ago

The current version seem to crash with python 3.11 (using this in docker):

sml-exporter-sml-exporter-1  | Traceback (most recent call last):
sml-exporter-sml-exporter-1  |   File "/usr/local/bin/sml-exporter", line 8, in <module>
sml-exporter-sml-exporter-1  |     sys.exit(main())
sml-exporter-sml-exporter-1  |              ^^^^^^
sml-exporter-sml-exporter-1  |   File "/usr/local/lib/python3.11/site-packages/click/core.py", line 1130, in __call__
sml-exporter-sml-exporter-1  |     return self.main(*args, **kwargs)
sml-exporter-sml-exporter-1  |            ^^^^^^^^^^^^^^^^^^^^^^^^^^
sml-exporter-sml-exporter-1  |   File "/usr/local/lib/python3.11/site-packages/click/core.py", line 1055, in main
sml-exporter-sml-exporter-1  |     rv = self.invoke(ctx)
sml-exporter-sml-exporter-1  |          ^^^^^^^^^^^^^^^^
sml-exporter-sml-exporter-1  |   File "/usr/local/lib/python3.11/site-packages/click/core.py", line 1404, in invoke
sml-exporter-sml-exporter-1  |     return ctx.invoke(self.callback, **ctx.params)
sml-exporter-sml-exporter-1  |            ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
sml-exporter-sml-exporter-1  |   File "/usr/local/lib/python3.11/site-packages/click/core.py", line 760, in invoke
sml-exporter-sml-exporter-1  |     return __callback(*args, **kwargs)
sml-exporter-sml-exporter-1  |            ^^^^^^^^^^^^^^^^^^^^^^^^^^^
sml-exporter-sml-exporter-1  |   File "/usr/local/lib/python3.11/site-packages/sml_exporter/__main__.py", line 26, in main
sml-exporter-sml-exporter-1  |     loop.run_until_complete(proto.connect(loop))
sml-exporter-sml-exporter-1  |   File "/usr/local/lib/python3.11/asyncio/base_events.py", line 653, in run_until_complete
sml-exporter-sml-exporter-1  |     return future.result()
sml-exporter-sml-exporter-1  |            ^^^^^^^^^^^^^^^
sml-exporter-sml-exporter-1  |   File "/usr/local/lib/python3.11/site-packages/sml/asyncio.py", line 132, in connect
sml-exporter-sml-exporter-1  |     self._lock = asyncio.Lock(loop=loop)
sml-exporter-sml-exporter-1  |                  ^^^^^^^^^^^^^^^^^^^^^^^
sml-exporter-sml-exporter-1  | TypeError: Lock.__init__() got an unexpected keyword argument 'loop'

This seem to be because of: https://bugs.python.org/issue46796

mweinelt commented 1 year ago

Looks like you are using pysml<0.0.8. This was resolved in https://github.com/mtdcr/pysml/commit/cc4bfd150bd50d7f227c13999d1ea9c26579528b. Let me update the dependencies and push out a new release.

mweinelt commented 1 year ago

Can you check whether the 0.1.5 release fixes your problem?

XL-Reaper commented 1 year ago

Yes it is now working with python 3.11.

Thanks :)