Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

No module named 'mythril.ether' #173

Closed
luolixuan opened this issue May 16, 2019 · 4 comments
Closed

No module named 'mythril.ether' #173

luolixuan opened this issue May 16, 2019 · 4 comments

Comments

@luolixuan
Copy link

on MacOS, When I run: ethereumetl export_geth_traces --start-block 2380000 --end-block 2380100 --provider-uri ~/Library/Ethereum/geth.ipc --batch-size 100 --output geth_traces.json

  • There is an error shows up:Symbolic Execution not available: No module named 'mythril.ether' but I did install myehrill and other related package.

environment:
python: Python 3.7.3
ethereum-etl:1.3.0
eth-abi: 1.3.0
mythril:0.20.5

There is also another problem with the environment:

  • ethereum-etl 1.3.0 has requirement eth-abi==1.2.0, but mythril 0.20.5 has requirement eth-abi==1.3.0. How to collaborate these three together?

Looking for help, thanks!

@medvedev1088
Copy link
Member

You can safely ignore "Symbolic Execution not available' warning. Symbolic execution is not used by ethereum-etl. This warning is output by a dependency library used in ethereum-etl https://github.com/tintinweb/ethereum-dasm/blob/master/ethereum_dasm/evmdasm.py.

@luolixuan
Copy link
Author

@medvedev1088 Thanks for helping. But with this error, I can't export the geth trace in the json file.
Here is the whole output:
Symbolic Execution not available: No module named 'mythril.ether' 2019-05-15 23:57:47,681 - ProgressLogger [INFO] - Started work. Items to process: 101. Traceback (most recent call last): File "/usr/local/bin/ethereumetl", line 10, in <module> sys.exit(cli()) File "/usr/local/lib/python3.7/site-packages/click/core.py", line 764, in __call__ return self.main(*args, **kwargs) File "/usr/local/lib/python3.7/site-packages/click/core.py", line 717, in main rv = self.invoke(ctx) File "/usr/local/lib/python3.7/site-packages/click/core.py", line 1137, in invoke return _process_result(sub_ctx.command.invoke(sub_ctx)) File "/usr/local/lib/python3.7/site-packages/click/core.py", line 956, in invoke return ctx.invoke(self.callback, **ctx.params) File "/usr/local/lib/python3.7/site-packages/click/core.py", line 555, in invoke return callback(*args, **kwargs) File "/usr/local/lib/python3.7/site-packages/ethereumetl/cli/export_geth_traces.py", line 55, in export_geth_traces job.run() File "/usr/local/lib/python3.7/site-packages/blockchainetl/jobs/base_job.py", line 30, in run self._end() File "/usr/local/lib/python3.7/site-packages/ethereumetl/jobs/export_geth_traces_job.py", line 79, in _end self.batch_work_executor.shutdown() File "/usr/local/lib/python3.7/site-packages/ethereumetl/executors/batch_work_executor.py", line 67, in shutdown self.executor.shutdown() File "/usr/local/lib/python3.7/site-packages/ethereumetl/executors/fail_safe_executor.py", line 39, in shutdown self._check_completed_futures() File "/usr/local/lib/python3.7/site-packages/ethereumetl/executors/fail_safe_executor.py", line 47, in _check_completed_futures future.result() File "/usr/local/Cellar/python/3.7.3/Frameworks/Python.framework/Versions/3.7/lib/python3.7/concurrent/futures/_base.py", line 425, in result return self.__get_result() File "/usr/local/Cellar/python/3.7.3/Frameworks/Python.framework/Versions/3.7/lib/python3.7/concurrent/futures/_base.py", line 384, in __get_result raise self._exception File "/usr/local/lib/python3.7/site-packages/blockchainetl/jobs/base_job.py", line 28, in run self._export() File "/usr/local/lib/python3.7/site-packages/ethereumetl/jobs/export_geth_traces_job.py", line 60, in _export total_items=self.end_block - self.start_block + 1 File "/usr/local/lib/python3.7/site-packages/ethereumetl/executors/batch_work_executor.py", line 50, in execute self.executor.submit(self._fail_safe_execute, work_handler, batch) File "/usr/local/lib/python3.7/site-packages/ethereumetl/executors/fail_safe_executor.py", line 31, in submit self._check_completed_futures() File "/usr/local/lib/python3.7/site-packages/ethereumetl/executors/fail_safe_executor.py", line 47, in _check_completed_futures future.result() File "/usr/local/Cellar/python/3.7.3/Frameworks/Python.framework/Versions/3.7/lib/python3.7/concurrent/futures/_base.py", line 425, in result return self.__get_result() File "/usr/local/Cellar/python/3.7.3/Frameworks/Python.framework/Versions/3.7/lib/python3.7/concurrent/futures/_base.py", line 384, in __get_result raise self._exception File "/usr/local/Cellar/python/3.7.3/Frameworks/Python.framework/Versions/3.7/lib/python3.7/concurrent/futures/thread.py", line 57, in run result = self.fn(*self.args, **self.kwargs) File "/usr/local/lib/python3.7/site-packages/ethereumetl/executors/batch_work_executor.py", line 55, in _fail_safe_execute work_handler(batch) File "/usr/local/lib/python3.7/site-packages/ethereumetl/jobs/export_geth_traces_job.py", line 65, in _export_batch response = self.batch_web3_provider.make_batch_request(json.dumps(trace_block_rpc)) File "/usr/local/lib/python3.7/site-packages/ethereumetl/thread_local_proxy.py", line 33, in __getattr__ return getattr(self._get_thread_local_delegate(), name) File "/usr/local/lib/python3.7/site-packages/ethereumetl/thread_local_proxy.py", line 37, in _get_thread_local_delegate self._thread_local._delegate = self._delegate_factory() File "/usr/local/lib/python3.7/site-packages/ethereumetl/cli/export_geth_traces.py", line 51, in <lambda> batch_web3_provider=ThreadLocalProxy(lambda: get_provider_from_uri(provider_uri, batch=True)), File "/usr/local/lib/python3.7/site-packages/ethereumetl/providers/auto.py", line 48, in get_provider_from_uri raise ValueError('Unknown uri scheme {}'.format(uri_string)) ValueError: Unknown uri scheme /Users/luolixuan/Library/Ethereum/geth.ipc

And I check in the terminal, there exists a geth.ipc in the above address.
image

Could you please help me look into it? Thanks!

@medvedev1088
Copy link
Member

Try using --provider-uri file://$HOME/Library/Ethereum/geth.ipc

@luolixuan
Copy link
Author

@medvedev1088 Thanks! It works! Originally I thought this uri is for linux. And I searched the uri ops MacOS and changed it. It works with the uri you provided. Thanks so much for the help!

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
None yet
Projects
None yet
Development

No branches or pull requests

2 participants