You are viewing a plain text version of this content. The canonical link for it is here.
Posted to issues@mesos.apache.org by "Andrei Sekretenko (Jira)" <ji...@apache.org> on 2020/03/20 22:17:00 UTC

[jira] [Created] (MESOS-10105) Make tests of builds with -fsanitize=address/memory/undefined/thread pass.

Andrei Sekretenko created MESOS-10105:
-----------------------------------------

             Summary: Make tests of builds with  -fsanitize=address/memory/undefined/thread pass.
                 Key: MESOS-10105
                 URL: https://issues.apache.org/jira/browse/MESOS-10105
             Project: Mesos
          Issue Type: Wish
            Reporter: Andrei Sekretenko


As exemplified by various C++ projects and also by targeting specific issues in Mesos (for example, MESOS-10102), running code built with clang sanitizers helps with uncovering undefined behavior and data races.

Sanitizer adoption usually happens as a sequence of steps which unblock each other:

1) making local tests pass under sanitizer at least once

2) making CI regularly run sanitizer builds (so that new sanitizable bugs are not introduced and more bugs not triggered deterministically are uncovered)

3) running high-level integration tests, betas, etc. with sanitizer builds

--
(3) is definitely out of scope of this wish, and it is not clear if (2) will fit into ASF CI, but (1) is definitely doable, and on its own can lead to figuring out causes of mysterious rare bugs (which might turn out to be not so rare under certain conditions).

--
State of Mesos w.r.t sanitizers:
 - as of Mar 2020, Mesos tests built with -fsanitize=address crash due to several locations that leak one object per thread lifetime
 - as of Nov 2019, libprocess tests were crashing thread sanitizer; IIRC, the issues in libprocess on Linux/amd64 are also "technical", but probably could result in a very real problems on a different platform



--
This message was sent by Atlassian Jira
(v8.3.4#803005)