nevillegrech / gigahorse-toolchain

A binary lifter and analysis framework for Ethereum smart contracts
Other
299 stars 63 forks source link

I write a client datalog,but when I run "./gigahorse.py -C clients/test.dl demo_contracts/transfer/transfer.hex" , something goes wrong #151

Closed PlutoEr-001 closed 1 month ago

PlutoEr-001 commented 1 month ago

Here is the Error: Process Process-4: Traceback (most recent call last): File "/usr/lib/python3.10/multiprocessing/process.py", line 314, in _bootstrap self.run() File "/usr/lib/python3.10/multiprocessing/process.py", line 108, in run self._target(*self._args, *self._kwargs) File "/home/shawn/gigahorse-toolchain/src/runners.py", line 171, in compile_datalog assert not(preproc_process.returncode), f"Preprocessing for {spec} failed. Stopping." AssertionError: Preprocessing for clients/test.dl failed. Stopping. Compiling /home/shawn/gigahorse-toolchain/src/../logic/fallback_scalable.dl to C++ program and executable Compiling /home/shawn/gigahorse-toolchain/src/../logic/main.dl to C++ program and executable Compiling /home/shawn/gigahorse-toolchain/src/../clientlib/function_inliner.dl to C++ program and executable Warning: No rules/facts defined for relation incompleteGlobal.sens.ImportantBlockEdge in abstract_context.dl:19:9 Warning: No rules/facts defined for relation FunctionIsInner in decompiler_output.dl:285:7 Warning: No rules/facts defined for relation revertCloner.Prev_Block_OriginalBlock in statement_insertor.dl:250:9 Warning: No rules/facts defined for relation blockCloner.analysis.sens.ImportantBlockEdge in abstract_context.dl:19:9 Warning: No rules/facts defined for relation incompleteGlobal.sens.ImportantBlockEdge in abstract_context.dl:19:9 Warning: No rules/facts defined for relation FunctionIsInner in decompiler_output.dl:285:7 Warning: No rules/facts defined for relation revertCloner.Prev_Block_OriginalBlock in statement_insertor.dl:250:9 c++: fatal error: Killed signal terminated program cc1plus compilation terminated. failed to compile C++ source </home/shawn/gigahorse-toolchain/src/../cache/7b358d7eb59bb9bc2466f4c9a1f51ae2.cpp> Process Process-3: Traceback (most recent call last): File "/usr/lib/python3.10/multiprocessing/process.py", line 314, in _bootstrap self.run() File "/usr/lib/python3.10/multiprocessing/process.py", line 108, in run self._target(self._args, **self._kwargs) File "/home/shawn/gigahorse-toolchain/src/runners.py", line 185, in compile_datalog assert not(process.returncode), f"Compilation for {spec} failed. Stopping." AssertionError: Compilation for /home/shawn/gigahorse-toolchain/src/../clientlib/function_inliner.dl failed. Stopping. Traceback (most recent call last): File "/home/shawn/gigahorse-toolchain/./gigahorse.py", line 606, in run_gigahorse(args, DecompilerFactGenerator(args, tac_gen["fileRegex"])) File "/home/shawn/gigahorse-toolchain/./gigahorse.py", line 547, in run_gigahorse open(get_souffle_executable_path(args.cache_dir, file), 'r') # check program exists FileNotFoundError: [Errno 2] No such file or directory: '/home/shawn/gigahorse-toolchain/src/../cache/function_inliner.dl_compiled'

sifislag commented 1 month ago

Hi, this looks like a c preprocessor error, you can try running cpp clients/test.dl to get more insights.

PlutoEr-001 commented 1 month ago

Hi, this looks like a c preprocessor error, you can try running cpp clients/test.dl to get more insights.

It works! thanks for your help.