On Fri, Jan 25, 2019 at 1:56 PM Raffi Enficiaud via Boost < boost@lists.boost.org> wrote:
On 16.01.19 02:00, Raffi Enficiaud via Boost wrote:
Hi,
I am trying to correct for the errors reported by UBSAN in boost.test. A lot of them were false positive, as ... in boost.test, we check the capacity of the framework to catch various errors in the program.
I compile/run the tests with the following:
.../../../b2 \ --toolset=clang \ cxxflags=-std=c++11 \ cxxflags=-fno-omit-frame-pointer \ cxxflags=-fsanitize=undefined \ cxxflags=-fno-sanitize-recover=undefined \ cxxflags=-fsanitize-recover=integer-divide-by-zero \ cxxflags=-fsanitize-recover=float-divide-by-zero \ linkflags=-fsanitize=undefined \ linkflags=-fno-sanitize-recover=undefined \ linkflags=-fsanitize-recover=integer-divide-by-zero \ linkflags=-fsanitize-recover=float-divide-by-zero \ linkflags=-fuse-ld=gold \ variant=debug
I have an exception that is failing the tests on clang-6/ubuntu18.04 (UBSAN exiting the process), but not on gcc-8/ubuntu18.04 (full log below).
UndefinedBehaviorSanitizer:DEADLYSIGNAL ==8303==ERROR: UndefinedBehaviorSanitizer: FPE on unknown address
This FPE is happening for instance after reading from a null pointer.
I've searched on how to silence/blacklist this, but none of the approaches worked so far, and I am not sure what is provoking this FPE.
Is there any UBsan specialist? Does anyone have an idea?
Thanks, Raffi
I am a bit blocked by this now, any specialist in the room or should I just discard ubsan with clang 6?
Thanks! Raffi
Something you could do (for now) is leave the CI job in place but mark it as an allowed failure. That way the CI job will pass even if this fails, and you will have a constant reminder of it whenever you look at build results in CI. - Jim