Solidity编译器崩溃:一场由古老Bug引发的完美风暴

2025-08-16
Solidity编译器崩溃:一场由古老Bug引发的完美风暴

Solidity编译器最近出现了一个令人费解的崩溃问题:即使编译完全有效的代码,也会导致段错误。经过追踪,发现问题源于G++ 11.4以下版本在C++20下处理Boost库中的boost::rational类型时,一个长达12年的重载解析bug与C++20的隐式比较重写规则共同作用,导致无限递归,最终引发堆栈溢出。此问题并非Solidity代码本身错误,而是多个组件(G++、Boost、C++20)的组合导致的意外结果。解决方案是升级Boost库至1.75或以上版本,或将G++升级至14或以上版本。

阅读更多
开发 Solidity C++ Bug