<HTML><BODY>Igor,<br><br>Thanks a lot for the review, I've changed/fixed the comment to the patch as you suggested.<br><br><br><blockquote style="border-left:1px solid #0857A6; margin:10px; padding:0 0 0 10px;">
        Четверг, 21 ноября 2019, 14:34 +03:00 от Igor Munkin <imun@tarantool.org>:<br>
        <br>
        <div id="">






<div class="js-helper js-readmsg-msg">
        <style type="text/css"></style>
        <div>
                
                
            <div id="style_15743360461460715640_BODY">Sasha,<br>
<br>
Thanks, the changeset LGTM now, but please consider minor comments I<br>
left for the commit message.<br>
<br>
On 21.11.19, Alexander V. Tikhonov wrote:<br>
                                 > Added ASAN tesing in commit process, used clang-8 for<br>
      <br>
Typo: s/tesing/testing/.<br>
<br>
> ASAN build under debian-buster image. Added for testing<br>
> only the passing test suites, the rest of the tests<br>
> not used and will be enabled during issue #4360.<br>
> On cherry pick changes for LTO were not used, due to<br>
> LTO testing is not needed on 1.10.<br>
<br>
Minor: I see the prior sentence as the following one:<br>
| Due to the lack of LTO testing for 1.10 branch, all LTO related<br>
| changes have been stripped from the original commit.<br>
<br>
> Also added skip condition files for tests:<br>
>   box/func_reload<br>
>   box/function1<br>
> which fail only on 1.10 with ASAN.<br>
> <br>
> Closes #4359<br>
> <br>
> (partly cherry picked from commit 55f7586ac36760f31255fee7b70606f466f30e04)<br>
> ---<br>
> <br>
> Github: <a href="https://github.com/tarantool/tarantool/tree/avtikhon/asan_1.10" target="_blank">https://github.com/tarantool/tarantool/tree/avtikhon/asan_1.10</a><br>
> Issue: <a href="https://github.com/tarantool/tarantool/issues/4359" target="_blank">https://github.com/tarantool/tarantool/issues/4359</a><br>
> <br>
>  .gitlab-ci.yml                |  5 +++++<br>
>  .travis.mk                    | 22 ++++++++++++++++++++++<br>
>  test/app-tap/json.skipcond    |  7 +++++++<br>
>  test/box/func_reload.skipcond |  7 +++++++<br>
>  test/box/function1.skipcond   |  7 +++++++<br>
>  test/unit/guard.skipcond      |  7 +++++++<br>
>  test/unit/msgpack.skipcond    |  7 +++++++<br>
>  7 files changed, 62 insertions(+)<br>
>  create mode 100644 test/app-tap/json.skipcond<br>
>  create mode 100644 test/box/func_reload.skipcond<br>
>  create mode 100644 test/box/function1.skipcond<br>
>  create mode 100644 test/unit/guard.skipcond<br>
>  create mode 100644 test/unit/msgpack.skipcond<br>
> <br>
> diff --git a/.gitlab-ci.yml b/.gitlab-ci.yml<br>
> index 04bb4b1cc..5d3702ae5 100644<br>
> --- a/.gitlab-ci.yml<br>
> +++ b/.gitlab-ci.yml<br>
> @@ -85,6 +85,11 @@ release_lto_clang8:<br>
>    script:<br>
>      - ${GITLAB_MAKE} test_debian_no_deps<br>
>  <br>
> +release_asan_clang8:<br>
> +  <<: *docker_test_clang8_definition<br>
> +  script:<br>
> +    - ${GITLAB_MAKE} test_asan_debian_no_deps<br>
> +<br>
>  osx_13_release:<br>
>    <<: *release_only_definition<br>
>    <<: *vbox_definition<br>
> diff --git a/.travis.mk b/.travis.mk<br>
> index bfb3016da..30255d6f7 100644<br>
> --- a/.travis.mk<br>
> +++ b/.travis.mk<br>
> @@ -16,6 +16,7 @@ test: test_$(TRAVIS_OS_NAME)<br>
>  # Redirect some targets via docker<br>
>  test_linux: docker_test_debian<br>
>  coverage: docker_coverage_debian<br>
> +asan: docker_test_asan_debian<br>
>  <br>
>  docker_%:<br>
>    mkdir -p ~/.cache/ccache<br>
> @@ -68,6 +69,8 @@ deps_buster_clang_8: deps_debian<br>
>    apt-get update<br>
>    apt-get install -y clang-8 llvm-8-dev<br>
>  <br>
> +# Release<br>
> +<br>
>  build_debian:<br>
>    cmake . -DCMAKE_BUILD_TYPE=RelWithDebInfo -DENABLE_WERROR=ON ${CMAKE_EXTRA_PARAMS}<br>
>    make -j<br>
> @@ -77,6 +80,10 @@ test_debian_no_deps: build_debian<br>
>  <br>
>  test_debian: deps_debian test_debian_no_deps<br>
>  <br>
> +test_debian_clang8: deps_debian deps_buster_clang_8 test_debian_no_deps<br>
> +<br>
> +# Debug with coverage<br>
> +<br>
>  build_coverage_debian:<br>
>    cmake . -DCMAKE_BUILD_TYPE=Debug -DENABLE_GCOV=ON<br>
>    make -j<br>
> @@ -97,6 +104,21 @@ test_coverage_debian_no_deps: build_coverage_debian<br>
>  <br>
>  coverage_debian: deps_debian test_coverage_debian_no_deps<br>
>  <br>
> +# ASAN<br>
> +<br>
> +build_asan_debian:<br>
> +  CC=clang-8 CXX=clang++-8 cmake . -DCMAKE_BUILD_TYPE=RelWithDebInfo -DENABLE_WERROR=ON ${CMAKE_EXTRA_PARAMS}<br>
> +  CC=clang-8 CXX=clang++-8 cmake . -DENABLE_ASAN=ON ${CMAKE_EXTRA_PARAMS}<br>
> +  make -j<br>
> +<br>
> +test_asan_debian_no_deps: build_asan_debian<br>
> +  # temporary excluded engine/ and replication/ suites with some tests from other suites by issue #4360<br>
> +  cd test && ASAN=ON ASAN_OPTIONS=detect_leaks=0 ./test-run.py --force $(TEST_RUN_EXTRA_PARAMS) \<br>
> +          app/ app-tap/ box/ box-py/ box-tap/ engine_long/ long_run-py/ luajit-tap/ \<br>
> +          replication-py/ small/ sql/ sql-tap/ swim/ unit/ vinyl/ wal_off/ xlog/ xlog-py/<br>
> +<br>
> +test_asan_debian: deps_debian deps_buster_clang_8 test_asan_debian_no_deps<br>
> +<br>
>  #######<br>
>  # OSX #<br>
>  #######<br>
> diff --git a/test/app-tap/json.skipcond b/test/app-tap/json.skipcond<br>
> new file mode 100644<br>
> index 000000000..e46fd1088<br>
> --- /dev/null<br>
> +++ b/test/app-tap/json.skipcond<br>
> @@ -0,0 +1,7 @@<br>
> +import os<br>
> +<br>
> +# Disabled at ASAN build due to issue #4360.<br>
> +if os.getenv("ASAN") == 'ON':<br>
> +    self.skip = 1<br>
> +<br>
> +# vim: set ft=python:<br>
> diff --git a/test/box/func_reload.skipcond b/test/box/func_reload.skipcond<br>
> new file mode 100644<br>
> index 000000000..e46fd1088<br>
> --- /dev/null<br>
> +++ b/test/box/func_reload.skipcond<br>
> @@ -0,0 +1,7 @@<br>
> +import os<br>
> +<br>
> +# Disabled at ASAN build due to issue #4360.<br>
> +if os.getenv("ASAN") == 'ON':<br>
> +    self.skip = 1<br>
> +<br>
> +# vim: set ft=python:<br>
> diff --git a/test/box/function1.skipcond b/test/box/function1.skipcond<br>
> new file mode 100644<br>
> index 000000000..e46fd1088<br>
> --- /dev/null<br>
> +++ b/test/box/function1.skipcond<br>
> @@ -0,0 +1,7 @@<br>
> +import os<br>
> +<br>
> +# Disabled at ASAN build due to issue #4360.<br>
> +if os.getenv("ASAN") == 'ON':<br>
> +    self.skip = 1<br>
> +<br>
> +# vim: set ft=python:<br>
> diff --git a/test/unit/guard.skipcond b/test/unit/guard.skipcond<br>
> new file mode 100644<br>
> index 000000000..e46fd1088<br>
> --- /dev/null<br>
> +++ b/test/unit/guard.skipcond<br>
> @@ -0,0 +1,7 @@<br>
> +import os<br>
> +<br>
> +# Disabled at ASAN build due to issue #4360.<br>
> +if os.getenv("ASAN") == 'ON':<br>
> +    self.skip = 1<br>
> +<br>
> +# vim: set ft=python:<br>
> diff --git a/test/unit/msgpack.skipcond b/test/unit/msgpack.skipcond<br>
> new file mode 100644<br>
> index 000000000..e46fd1088<br>
> --- /dev/null<br>
> +++ b/test/unit/msgpack.skipcond<br>
> @@ -0,0 +1,7 @@<br>
> +import os<br>
> +<br>
> +# Disabled at ASAN build due to issue #4360.<br>
> +if os.getenv("ASAN") == 'ON':<br>
> +    self.skip = 1<br>
> +<br>
> +# vim: set ft=python:<br>
> -- <br>
> 2.17.1<br>
> <br>
<br>
-- <br>
Best regards,<br>
IM<br>
</div>
            
        
                
        </div>

        
</div>


</div>
</blockquote>
<br>
<br>-- <br>Alexander Tikhonov<br></BODY></HTML>