[Tarantool-patches] [PATCH v6 1/2] base64: fix decoder output buffer overrun (reads)
Alexander Turenko
alexander.turenko at tarantool.org
Sat Feb 20 14:30:34 MSK 2021
On Tue, Jan 26, 2021 at 07:48:48PM +0300, Sergey Nikiforov wrote:
> On 26.01.2021 19:37, Sergey Nikiforov wrote:
> > On 21.01.2021 5:16, Alexander Turenko wrote:
> > > On Mon, Jan 11, 2021 at 12:45:00PM +0300, Sergey Nikiforov wrote:
> > > > Was caught by base64 test with enabled ASAN.
> > >
> > > It seems, we have a problem in CI, otherwise it would be detected. At
> > > least, I don't see an explicit suppression relevant to the base64 code
> > > or disabling the test under this CI job.
> > >
> > > Can you, please, investigate, how to enable it in CI, so we'll catch the
> > > similar problem next time if it'll appear?
> >
> > ASAN is not used in CI now. Which is clearly wrong.
There is something called 'ASAN' in CI, see [1]. And it seems to be
problematic. That's why I asked.
[1]: https://github.com/tarantool/tarantool/blob/6610bce9bf43a139043518cd76d3c0c81c981ce2/.github/workflows/release_asan_clang11.yml#L36
> > Right now a lot of tests fail if LeakSanitizer is enabled (the default
> > for ASAN), but only 1 test (unit/guard.test) fails if LeakSanitizer if
> > disabled. So it is quite straightforward:
> >
> > CC=clang CXX=clang++ cmake . -DENABLE_ASAN=ON && make -j
> > ASAN_OPTIONS=detect_leaks=0 test/test-run.py
> >
> > (test-run.py is launched from several Makefiles)
> >
> > I propose creating tasks to make unit/guard.test "ASAN-tolerant" (ASAN
> > prints warning which causes .result mismatch) and to add ASAN targets to
> > CI. Should it be GitLab or GitHub Actions?
This is quite specific 'hacky' test and it is okay to exclude it when
we're run with ASAN.
> >
> > We should probably also look on LeakSanitizer issues, some of them are
> > probably real bugs and not just tests sloppiness.
>
> ASAN with LeakSanitizer enabled (the default):
> Statistics:
> * disabled: 127
> * fail: 755
> * pass: 414
>
> Fixing this is a BIG task.
We can enable ASAN test by test to a regular CI runs.
I've added a note to [2].
[2]: https://github.com/tarantool/tarantool-qa/issues/18
More information about the Tarantool-patches
mailing list