[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