Skip to content

Unhandled Exception PluginSkipWorldState #14

Description

@metagon

The laser plugin CallDepthLimit throws an exception that is not being handled in _execute_pre_hook.

Affected Version

Ithildin v0.2.2

How to reproduce

Analyze the contract at address 0x5c367c1b2603ed166c62cec0e4d47e9d5dc1c073 while having all strategies disabled except of Ownership and allow for a higher timeout, e.g. --timeout 120.

Log

[INFO   ] 2021-02-19 19:48:01,093 - ithildin.tools.benchmark Analyzing contract 54597/127010 at address 0x5c367c1b2603ed166c62cec0e4d47e9d5dc1c073
[INFO   ] 2021-02-19 19:48:01,095 - ithildin.analysis.symbolic Running symbolic execution in existing mode...
Laser plugin with name coverage was already loaded, skipping...
Laser plugin with name mutation-pruner was already loaded, skipping...
Laser plugin with name call-depth-limit was already loaded, skipping...
Laser plugin with name instruction-profiler was already loaded, skipping...
Laser plugin with name dependency-pruner was already loaded, skipping...
[INFO   ] 2021-02-19 19:48:07,057 - ithildin.analysis.base Analysis strategy Ownership got a hit in function fallback
[INFO   ] 2021-02-19 19:48:09,948 - ithildin.analysis.base Analysis strategy Ownership got a hit in function blockHashAddendsInexpansible(uint256)
[INFO   ] 2021-02-19 19:48:11,140 - ithildin.analysis.base Analysis strategy Ownership got a hit in function _function_0x0ec2e821
[INFO   ] 2021-02-19 19:48:19,585 - ithildin.analysis.base Analysis strategy Ownership got a hit in function transfer(address,address,address,uint256)
[INFO   ] 2021-02-19 19:48:30,973 - ithildin.analysis.base Analysis strategy Ownership got a hit in function _function_0x28342ecf
Traceback (most recent call last):
  File "/home/philippos/.local/bin/ithil", line 8, in <module>
    sys.exit(main())
  File "/home/philippos/.local/lib/python3.8/site-packages/ithildin/__main__.py", line 5, in main
    cli.main()
  File "/home/philippos/.local/lib/python3.8/site-packages/ithildin/interfaces/cli.py", line 140, in main
    benchmark(args)
  File "/home/philippos/.local/lib/python3.8/site-packages/ithildin/tools/benchmark.py", line 282, in benchmark
    new_benchmark(args)
  File "/home/philippos/.local/lib/python3.8/site-packages/ithildin/tools/benchmark.py", line 246, in new_benchmark
    analysis_report = LaserWrapper().execute(contract_loader=contract_loader, timeout=args.timeout, max_depth=args.max_depth)
  File "/home/philippos/.local/lib/python3.8/site-packages/ithildin/analysis/symbolic.py", line 86, in execute
    laser.sym_exec(creation_code=creation_code,
  File "/home/philippos/.local/lib/python3.8/site-packages/mythril/laser/ethereum/svm.py", line 155, in sym_exec
self._execute_transactions(symbol_factory.BitVecVal(target_address, 256))
  File "/home/philippos/.local/lib/python3.8/site-packages/mythril/laser/ethereum/svm.py", line 216, in _execute_transactions
    execute_message_call(self, address)
  File "/home/philippos/.local/lib/python3.8/site-packages/mythril/laser/ethereum/transaction/symbolic.py", line 108, in execute_message_call
    laser_evm.exec()
  File "/home/philippos/.local/lib/python3.8/site-packages/mythril/laser/ethereum/svm.py", line 253, in exec
    new_states, op_code = self.execute_state(global_state)
  File "/home/philippos/.local/lib/python3.8/site-packages/mythril/laser/ethereum/svm.py", line 335, in execute_state
    self._execute_pre_hook(op_code, global_state)
  File "/home/philippos/.local/lib/python3.8/site-packages/mythril/laser/ethereum/svm.py", line 654, in _execute_pre_hook
    hook(global_state)
  File "/home/philippos/.local/lib/python3.8/site-packages/mythril/laser/plugin/plugins/call_depth_limiter.py", line 30, in sstore_mutator_hook
    raise PluginSkipWorldState
mythril.laser.plugin.signals.PluginSkipWorldState 

Metadata

Metadata

Assignees

No one assigned

    Labels

    No labels
    No labels

    Projects

    No projects

    Milestone

    No milestone

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions