代码(我的原始代码使用assert
,但这更短sscce)
#include <cstdlib>
int main() {
abort();
return 0;
}
编译器版本:
$ g++ --version
g++ (GCC) 4.8.0
Copyright (C) 2013 Free Software Foundation, Inc.
This is free software; see the source for copying conditions. There is NO
warranty; not even for MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.
编译:
$ g++ test.cpp -o test
运行时:
$ ./test
无限期挂起。检查top
我注意到abrt-hook-ccpp
(以root为单位)占用整个CPU(固定为75%,。/ test占25%)。
其他注意事项:此行为似乎很脆弱,仅在大约80%的时间内发生。我尝试了每个优化级别(O0到O4)并且没有差异。
此外,我无法在本地计算机上重现此行为(g ++ 4.8.1)
答案 0 :(得分:3)
这可能是Redhat自动错误报告工具中的一个错误。尝试禁用ABRT服务,看看它是否有效。
您可以禁用abrt-ccpp:
# chkconfig abrt-ccpp off
# service abrt-ccpp stop
或整个服务:
# chkconfig abrtd off
# service abrtd stop