[Tarantool-patches] [PATCH] asan: suppress all LSAN warnings related to LuaJIT

Alexander V. Tikhonov avtikhon at tarantool.org
Mon Mar 15 16:41:10 MSK 2021


Hi Igor, thanks for your patch, it helped to return 1.10 testing in
green, patch LGTM [1].

[1]: https://github.com/tarantool/tarantool/runs/2096939827#step:5:4388

On Fri, Mar 12, 2021 at 11:01:05PM +0300, Igor Munkin wrote:
> After porting LuaJIT build system to CMake in commit
> 07c83aab5c066ca75c149112b331b4dbb81b3f38 ('build: adjust LuaJIT build
> system'), its build options are not fully maintained in Tarantool. E.g.
> several compile flags, such as -fomit-frame-pointer, are set within
> LuaJIT CMake machinery and there is no way to tweak them outside. As a
> result ASAN + LSAN build in Tarantool CI[1] reports new leaks related to
> LuaJIT runtime, but there is none of them actually (no source code
> changes are made in scope of the applied patchset). Hence it was decided
> to consider all LuaJIT related warnings as false positives for now and
> suppress them until #5878 is resolved.
> 
> [1]: https://github.com/tarantool/tarantool/runs/1999839396
> 
> Follows up #4862
> Relates to #5878
> 
> Signed-off-by: Igor Munkin <imun at tarantool.org>
> ---
> 
> This is a temporary solution, until #5878 is resolved. BTW, it looks
> like a ASAN/LSAN problem since, running it with fast_unwind_on_malloc=0
> doesn't make CI green and otherwise I have no idea why
> -fno-omit-frame-pointer is obligatory for sanitizers (I found not a
> single word in Google sanitizers docs regarding it). Though there is no
> problems on the stable branches other than 1.10, I believe this patch
> should be applied to all branches containing
> 07c83aab5c066ca75c149112b331b4dbb81b3f38 ('build: adjust LuaJIT build
> system') to reduce the chance of unexpected CI breakage either on
> working or on stable branch.
> 
> Issues:
> * https://github.com/tarantool/tarantool/issues/4862
> * https://github.com/tarantool/tarantool/issues/5878
> Branches: one with the patch and another providing CI is green on 1.10
> * https://github.com/tarantool/tarantool/tree/imun/suppress-asan-for-luajit
> * https://github.com/tarantool/tarantool/tree/imun/suppress-asan-for-luajit-1.10
> 
>  asan/lsan.supp | 7 +++++--
>  1 file changed, 5 insertions(+), 2 deletions(-)
> 
> diff --git a/asan/lsan.supp b/asan/lsan.supp
> index e3b62e653..198df89c3 100644
> --- a/asan/lsan.supp
> +++ b/asan/lsan.supp
> @@ -24,9 +24,12 @@ leak:Curl_resolver_init
>  # source: /usr/lib/x86_64-linux-gnu/gconv/UTF-16.so
>  leak:gconv_init
>  
> -# test: box*/
> +# XXX: All warnings reported for LuaJIT runtime are considered
> +# false positive until sanitizers support is not introduced in
> +# LuaJIT. See the issue below for more info.
> +# https://github.com/tarantool/tarantool/issues/5878
>  # source: third_party/luajit
> -leak:lj_BC_FUNCC
> +leak:lj_*
>  
>  # test: box/access.test.lua
>  # test: box/access_bin.test.lua
> -- 
> 2.25.0
> 


More information about the Tarantool-patches mailing list