[Development] Qt with sanitizers
Jedrzej Nowacki
jedrzej.nowacki at qt.io
Wed Oct 18 11:02:48 CEST 2017
Hi,
I made an experiment to see if we should enable sanitizers in CI, by
default. Essentially, how much we would slow down integrations and what would
be the tests pass rate. Short answer is that, currently, it is not an option,
but I produced some data, if someone is interested, please keep reading
Platform:
Linux Ubuntu_16_04 (gcc-x86_64) DeveloperBuild, OutOfSourceBuild, QtLibInfix,
QtNamespace, BuildExamples, Documentation
GCC 5.4 (yes, it is quite old)
CPU count = 4
Build
qt/qtbase a6546a56fa978bc9ed63203b4ef547adcfd59408 (3/5 completed)
State Features Duration
------- --------------------------------- ---------
Done Normal build 28min1s
Done ConfigureWithAddressSanitizer 35min47s
Done ConfigureWithThreadSanitizer 42min44s
Error ConfigureWithMemorySanitizer 0min55s
Error ConfigureWithUndefinedSanitizer 4min35s
Test
qt/qtbase a6546a56fa978bc9ed63203b4ef547adcfd59408 (1/5 completed)
State Features Duration
----------- ------------------------------- ---------
Done Normal build 51min59s
Error ConfigureWithAddressSanitizer 1h9min57s
Error ConfigureWithThreadSanitizer 1h49min8s
Cancelled ConfigureWithMemorySanitizer
Cancelled ConfigureWithUndefinedSanitizer
At first, I could not even build qtbase, only after applying this https://
codereview.qt-project.org/#/c/208359/ I managed to fix linking issues. Sadly
ConfigureWithMemorySanitizer and ConfigureWithUndefinedSanitizer failed to build
and I had no immediate idea how to fix them so I ignored the problem.
The logs from the tests execution are big. Quite a lot of issues were found
and some were definitely valid. If you look into them, remember that some tests
failed, therefore they could potentially produce an odd outcome.
Interesting part of logs are here:
Filename: logs.tar.gz
Filesize: 4.29 MB
Download link: https://filesender.qt.io/?vid=3775e69f-3d64-f5a9-a225-00003c357692
The file is available until 07-11-2017 after which it will be automatically
deleted.
Cheers,
Jędrek
More information about the Development
mailing list