Functions annotated on with `pure` and `view` cause `Manticore` to result in an error.
Summary of the problem
Manticore version
Latest version from Manticore GitHub repo.
Python version
3.8.10
OS / Environment
Distributor ID: Ubuntu Description: Ubuntu 20.04.3 LTS Release: 20.04 Codename: focal
Dependencies
Latest Manticore from GitHub. Ones in the repo only.
Step to reproduce the behavior
manticore Sample.sol
// SPDX-License-Identifier: GPL-3.0
pragma solidity >=0.4.2 <0.9.0;
// Example Dummy Solidity Code
contract Sample {
uint256 counter = 0;
function returnOne() public pure returns (uint256) {
return 1;
}
function getBalanceOwn() public view returns (uint256 bal) {
return msg.sender.balance;
}
}
Expected behavior
Actual behavior
Any relevant logs
2022-01-12 12:35:47,782: [332877] m.c.worker:ERROR: Exception in state 0: ManticoreError('Forking on unfeasible constraint set') Traceback (most recent call last): File "/home/clustfuzz/.local/lib/python3.8/site-packages/manticore/core/worker.py", line 137, in run current_state.execute() File "/home/clustfuzz/.local/lib/python3.8/site-packages/manticore/ethereum/state.py", line 8, in execute return self._platform.execute() File "/home/clustfuzz/.local/lib/python3.8/site-packages/manticore/platforms/evm.py", line 3106, in execute self.current_vm.execute() File "/home/clustfuzz/.local/lib/python3.8/site-packages/manticore/platforms/evm.py", line 1322, in execute raise Concretize("Symbolic PC", expression=expression, setstate=setstate, policy="ALL") manticore.core.state.Concretize
During handling of the above exception, another exception occurred:
Traceback (most recent call last): File "/home/clustfuzz/.local/lib/python3.8/site-packages/manticore/core/worker.py", line 158, in run m._fork(current_state, exc.expression, exc.policy, exc.setstate) File "/home/clustfuzz/.local/lib/python3.8/site-packages/manticore/core/manticore.py", line 518, in _fork raise ManticoreError("Forking on unfeasible constraint set") manticore.exceptions.ManticoreError: Forking on unfeasible constraint set