argotorg / argotorg/solidity

[BUG] Uncaught exception /usr/include/boost/multiprecision/cpp_int.hpp(1781) Unexpected character encountered in input.

Open
#15,738 0 comments 0 reactions 0 assignees View on GitHub
bug :bug:
Dominant language
C++
Stars
25.7k
Forks
6.2k
Avg merge
1d 11h
Merged PRs (30d)
21

Description

## Description

Error:
```
Uncaught exception:
/usr/include/boost/multiprecision/cpp_int.hpp(1781): Throw in function void boost::multiprecision::backends::cpp_int_backend::do_assign_string(const char*, const false_&) [with unsigned int MinBits = 0; unsigned int MaxBits = 0; boost::multiprecision::cpp_integer_type SignType = boost::multiprecision::signed_magnitude; boost::multiprecision::cpp_int_check_type Checked = boost::multiprecision::unchecked; Allocator = std::allocator; mpl_::false_ = mpl_::bool_]
Dynamic exception type: boost::wrapexcept
std::exception::what: Unexpected character encountered in input.
```

## Environment

- Compiler version: Version: 0.8.28-develop.2025.1.19+commit.7893614a.mod.Linux.g++
- Compilation pipeline (legacy, IR, EOF):
- Target EVM version (as per compiler settings):
- Framework/IDE (e.g. Foundry, Hardhat, Remix):
- EVM execution environment / backend / blockchain client:
- Operating system: Ubuntu 22.04

## Steps to Reproduce

poc.sol (fuzzer-generated):
```solidity
pragma experimental SMTChecker;

contract c {
struct S {
uint8 a;
address b;
uint[2] c;
uint8[] d;
}

function f(S memory _s) public {
assert(1 == 4);
}
}
```

To reproduce:
`solc --bin -o poc poc.sol`

Contributor guide

Open the contributing guide

Research direction

Start by running `solc --bin -o poc poc.sol` on the fuzzer-generated `poc.sol` example, focusing on the `pragma experimental SMTChecker` path and the Boost `cpp_int` exception. Trace where the uncaught exception is produced; done means this input no longer triggers the reported unexpected-character failure.

Written by the indexing model from the issue text.

Assessment

Tech stack
cpp, solidity
Domain
compilers
Issue type
Bug
Difficulty
3/5
Estimated time
1-2 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.