argotorg / argotorg/solidity

isoltest crashes on interactive update in `module_function_deployed.sol`

Open
#16,337 1 comment 0 reactions 0 assignees View on GitHub
bug :bug: low effort low impact should compile without error should have testing :hammer:
Dominant language
C++
Stars
25.7k
Forks
6.2k
Avg merge
1d 11h
Merged PRs (30d)
21

Description

## Steps to reproduce

Run `isoltest` on a specific test (given below), trying to update it interactively to add gas usage to expected output:

```sh
./test/tools/isoltest --no-smt -t "semanticTests/deployedCodeExclusion/module_function_deployed*" --enforce-gas-cost --enforce-gas-cost-min-value 0
```

First, `isoltest` asks if we want to update expectations. On update, the test is re-run with updated expectations and `isoltest` crashes:

```
Re-running test case...
semanticTests/deployedCodeExclusion/module_function_deployed.sol: Unhandled exception during test: /solidity/libsolidity/interface/CompilerStack.cpp(1703): Throw in function const CompilerStack::Contract &solidity::frontend::CompilerStack::contract(const std::string &) const
Dynamic exception type: boost::wrapexcept
std::exception::what: Contract "" not found.
[solidity::util::tag_comment*] = Contract "" not found.
```

Contributor guide

Open the contributing guide

Research direction

Start by running the provided isoltest command against semanticTests/deployedCodeExclusion/module_function_deployed.sol and reproduce the interactive update crash. Then inspect libsolidity/interface/CompilerStack.cpp around line 1703 and the isoltest update path; done means updating expectations no longer raises the empty-contract “Contract "" not found” exception.

Written by the indexing model from the issue text.

Assessment

Tech stack
cpp, solidity
Domain
compilers, testing-qa
Issue type
Bug
Difficulty
4/5
Estimated time
3-5 days
Activity status
Stale
Clarity
Mostly clear
Newbie friendliness
35/100

Get new issues in your inbox

A short digest of beginner-friendly GitHub issues.