argotorg / argotorg/solidity

ICE in `Z3Interface::fromZ3Expr()` when running tests on Arch Linux

Open
#15,196 8 comments 0 reactions 0 assignees View on GitHub
bug :bug: high impact low effort must have smt
Dominant language
C++
Stars
25.7k
Forks
6.2k
Avg merge
2d 19h
Merged PRs (30d)
29

Description

Trying to compile solidity from source I run into this:
```
******************************************/solidity/test/soltest.cpp(120): error: in "smtCheckerTests/try_catch/try_5": Exception during extracted test: /solidity/libsmtutil/Z3Interface.cpp(398): Throw in function solidity::smtutil::Expression solidity::smtutil::Z3Interface::fromZ3Expr(const z3::expr&)
Dynamic exception type: boost::wrapexcept
std::exception::what: SMT assertion failed
[solidity::util::tag_comment*] = SMT assertion failed
```

I think I'm building `solidity_0.8.26`

Steps to repro:
```
yay -S solidity
```

Contributor guide

Open the contributing guide

Research direction

Reproduce the failure with the Arch Linux package build, then inspect libsm tutil/Z3Interface.cpp around Z3Interface::fromZ3Expr() and the failing smtCheckerTests/try_catch/try_5 test in soltest.cpp. Done means the test no longer throws the SMT assertion failure, with the intended behavior confirmed by the existing test suite.

Written by the indexing model from the issue text.

Assessment

Tech stack
cpp
Domain
compilers
Issue type
Bug
Difficulty
4/5
Estimated time
3-5 days
Activity status
Stale
Clarity
Needs clarification
Newbie friendliness
38/100

Get new issues in your inbox

A short digest of beginner-friendly GitHub issues.