graphite-project / carbon

Carbon is one of the components of Graphite, and is responsible for receiving metrics over the network and writing them down to disk using a storage backend.
http://graphite.readthedocs.org/
Apache License 2.0
1.5k stars 490 forks source link

[Q] unable to start carbon - TypeError: unhashable type: 'MethodicalState' #917

Closed aamerik closed 3 years ago

aamerik commented 3 years ago

Having trouble starting 1.1.6 and 1.1.7 using python 3.6.8 venv on cent7 due to the exception below:

/opt/graphite/bin/carbon-cache.py start Starting carbon-cache (instance a) Traceback (most recent call last): File "/opt/graphite/bin/carbon-cache.py", line 32, in run_twistd_plugin(file) File "/opt/graphite/lib64/python3.6/site-packages/carbon/util.py", line 140, in run_twistd_plugin runApp(config) File "/opt/graphite/lib64/python3.6/site-packages/twisted/scripts/twistd.py", line 25, in runApp runner.run() File "/opt/graphite/lib64/python3.6/site-packages/twisted/application/app.py", line 381, in run self.application = self.createOrGetApplication() File "/opt/graphite/lib64/python3.6/site-packages/twisted/application/app.py", line 448, in createOrGetApplication ser = plg.makeService(self.config.subOptions) File "/opt/graphite/lib64/python3.6/site-packages/twisted/plugins/carbon_cache_plugin.py", line 20, in makeService from carbon import service File "/opt/graphite/lib64/python3.6/site-packages/carbon/service.py", line 18, in from twisted.application.internet import TCPServer File "/opt/graphite/lib64/python3.6/site-packages/twisted/application/internet.py", line 548, in class _ClientMachine(object): File "/opt/graphite/lib64/python3.6/site-packages/twisted/application/internet.py", line 947, in _ClientMachine outputs=[_connect]) File "/opt/graphite/lib64/python3.6/site-packages/automat/_methodical.py", line 56, in upon self.machine._oneTransition(self, input, enter, outputs, collector) File "/opt/graphite/lib64/python3.6/site-packages/automat/_methodical.py", line 249, in _oneTransition tuple(outputTokens)) File "/opt/graphite/lib64/python3.6/site-packages/automat/_core.py", line 74, in addTransition (inState, inputSymbol, outState, tuple(outputSymbols)) TypeError: unhashable type: 'MethodicalState'

I did not have any issues installing the following pip modules in this virtualenv:

pip list Package Version


attrs 20.3.0 Automat 0.4.0 cachetools 4.2.1 carbon 1.1.6 constantly 15.1.0 hyperlink 21.0.0 idna 3.1 incremental 21.3.0 pip 21.0.1 PyHamcrest 2.0.2 setuptools 54.1.2 six 1.15.0 Twisted 20.3.0 txAMQP 0.8.2 urllib3 1.26.4 virtualenv 15.1.0 whisper 1.1.6 zope.interface 5.2.0

any help is appreciated thank you

aamerik commented 3 years ago

appears to be related to automat version.