C 内部编译器错误

C++ internal compiler error

本文关键字:错误 编译器 内部      更新时间:2023-10-16

由于许多星期,我们的编译服务器在编译我们的C 代码时会随机崩溃。有时,汇编失败了,我们有以下错误:

/usr/include/c++/7/future:429:7: internal compiler error: Segmentation fault

始终从系统库(但并非总是相同)和汇编过程的不同步骤中引起的错误。

我们试图将RAM的大小提高到10 GB和交换的大小(最高5GB),但尚未解决该问题。我们还尝试了CC编译器的多个版本,但没有成功。

我们有一台计算机,但此问题仅在OUT编译服务器上可重现。我们必须修复它,因为该服务器是我们连续集成链的一部分。

源代码由大约10000-20000的代码线组成(不是真的),但我们使用了一些模板。

有人知道如何解决或调查此错误?

系统信息:

compiler = c++ 
compiler version = c++ (Ubuntu 7.2.0-1ubuntu1~16.04) 7.2.0
compilation tools = cmake and make
ubuntu-xenial
RAM  = 10G
Swap = 5G
NbCPU = 4

非常感谢您的帮助

因此,您在(可能还经过良好测试的)系统库中(可能还经过良好测试)内部库中有间歇性错误,并且在多个编译器版本上可以重现问题,但仅在此上可以重现单机器。这指出了硬件问题。

Bad Ram似乎是一个很好的候选人。C 编译器处理中等大小的代码库可能会从例如随机位至少在某些时间中翻转。

您应该测试您的RAM(或将其交换,看看失败是否消失)。