构建 C++11 代码时 Coverity 中的内部错误
Internal errors in Coverity when building C++11 code
我在构建 C++11 项目时在 Coverity 中遇到内部错误。日志显示如下错误:
Internal error #2688: assertion failed at: "edg/src/lower_name.c", line 4810
internal error #2688: assertion failed at: "edg/src/scope_stk.c", line 10898
我正在使用Mac OS X(Sierra)并使用以下命令配置编译器:
cov-configure --comptype clangcxx -co /usr/bin/c++
以下是重现问题的所有步骤:
git clone --recursive -b develop https://github.com/actor-framework/actor-framework.git
cd actor-framework
./configure --build-type=debug --with-runtime-checks --no-opencl --no-python
cov-build --dir "cov-int" make
我已经在这里上传了完整的构建日志(它很大,你已经被警告过了):https://gist.githubusercontent.com/Neverlord/bb5709452236d584fcaabf56c0ae7295/raw/aad490f79b4fa2fab40dd99ffbe9aa75611b2fff/build-log.txt
任何帮助都非常感谢。
我看了一下构建日志,它似乎与您的 Clang 配置无关(这很好,因为这应该使用 Coverity 基于 Clang 的 FE,而不是基于 EDG 的 FE。
其中一个有问题的汇编是:
/opt/local/bin/g++-mp-4.9 -Dlibcaf_core_shared_EXPORTS -I/opt/local/include -I/Users/jenkins/jenkins_home/workspace/CAF/nightly/actor-framework/libcaf_opencl -I/Users/jenkins/jenkins_home/workspace/CAF/nightly/actor-framework/libcaf_core -I/Users/jenkins/jenkins_home/workspace/CAF/nightly/actor-framework/libcaf_io -I/Users/jenkins/jenkins_home/workspace/CAF/nightly/actor-framework/libcaf_test -I/Users/jenkins/jenkins_home/workspace/CAF/nightly/actor-framework/libcaf_core/. -std=c++11 -Wextra -Wall -pedantic -Wno-missing-field-initializers -fPIC -g -fPIC -o CMakeFiles/libcaf_core_shared.dir/src/abstract_coordinator.cpp.o -c /Users/jenkins/jenkins_home/workspace/CAF/nightly/actor-framework/libcaf_core/src/abstract_coordinator.cpp
内部断言似乎不在 Coverity 的错误数据库中,因此这看起来代表了基于 EDG 的 FE 中以前未知的问题。如果您可以创建一个复制器并将其发送给scan-admin@coverity.com
,将不胜感激;诸如此类的内部错误会失败Coverity的错误恢复,并且通常是要修复的高优先级。
一旦确定了导致断言的代码结构,就可以解决它(例如,使用--ppp_translator
)。
以下步骤可以帮助您创建复制器:
$ cov-manage-emit --dir <idir> -tp 'failure()' list
(从失败列表中选择一个与您在构建日志中看到的内部断言匹配的失败,记下 TU 编号)
$ cov-manage-emit --dir <idir> --tu <TU> reduce
(缩减的文件将放在/output/预处理下)。
相关文章:
- 致命错误 C1001 :vs2017 15.8.4 的内部错误(编译器文件"msc1.cpp",第
- mingw32_gt_pch_use_address中的内部错误,在config/i386/host-mingw32.c
- 有关使用标志位设置内部错误标志的说明
- 致命错误 C1001:编译器中发生内部错误。'f:\dd\VCtools\Compiler\cxFE\SL\P1\C\P0io.c'
- 在函数内部错误定位后,从函数中释放返回的指针会导致芯片崩溃
- ssl3_read_bytes:TLSV1警报内部错误,安全套接字,OpenSSL,C ,获取HTTPS页面
- 构建 C++11 代码时 Coverity 中的内部错误
- 重新打开和 cout 创建内部错误
- 使用variadic概念模板时GCC内部错误
- C1001:编译器中包含 <boost/shared_ptr.hpp 时发生内部错误>
- 错误 C1001:编译器中发生内部错误
- CDT 在以下期间发生内部错误: "Setting up indexer"
- 代码块中存在内部错误
- 致命错误C1001:编译器中发生内部错误
- C++致命错误 C1001:编译器中发生内部错误
- 错误 C1001:调试模式下的编译器中发生内部错误
- 致命错误 C1001:尝试使用模板时出现内部错误
- GDB 在启动时崩溃(内部错误:follow_die_offset)
- C++ CodeDOM 解析器错误:行:75,列:57 ---内部错误
- 嵌套类模板专用化未正确匹配+msvc内部错误