Внутренние ошибки в Coverity при сборке кода C ++ 11

Я получаю внутренние ошибки в Coverity при создании проекта C ++ 11. Журнал показывает ошибки как это:

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

Буду признателен за любую оказанную помощь.

1

Решение

Я заглянул в журнал сборки, и он, похоже, не связан с вашей конфигурацией Clang (что хорошо, так как для этого нужно использовать FE на основе Clang, а не FE на основе EDG).

Один из оскорбительных сборников:

/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, поэтому, похоже, оно представляет ранее неизвестную проблему в FE на основе EDG. Если бы вы могли создать репродуктор и отправить его 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 / preprocessed).

3

Другие решения

Других решений пока нет …