我试图用gcc 7编译代码,其中构建间歇性失败,问题:-
x86_64-pc-linux-gnu-g++: internal compiler error: Segmentation fault (program /home/comp/gcc-work/test/lib/ld-linux.so.2)
Please submit a full bug report,
with preprocessed source if appropriate.
See <https://gcc.gnu.org/bugs/> for instructions.
我在互联网上看到一些gcc相关的论坛,因为使用旧的gcc版本可能会导致这种情况,升级到gcc 10可能会有所帮助。因此,我尝试将gcc版本从gcc 7升级到gcc 10。我多次启动构建,并注意到没有一个“分段故障”的构建失败示例。
我的疑问是:-如果现有的GCC(即gcc 7)工具链真的有问题,构建必须在所有运行中失败,对吗?为什么会有不一致的行为?
注意:- build不应始终在同一台计算机上运行。我们的基础结构应从池中随机选择计算机。我无法找到故障的确切根本原因,无论是硬件还是工具链。
1条答案
按热度按时间xmd2e60i1#
如果现有的GCC(即gcc7)工具链确实存在问题,
internal compiler error:
* 总是 * 表示工具链 * 存在 * 问题--它 * 就在那里 * 告诉您。1所有运行的构建都必须失败,对吗?为什么会有不一致的行为?
不对。有很多错误表现为间歇性的故障。
一些例子:
free
d内存是否已被覆盖)1我认为一些
internal compiler error
可能是由内存故障触发的,而不是编译器本身的bug,但这些故障应该仅限于单个主机。