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

Igor Munkin imun at tarantool.org
Fri Mar 12 23:01:05 MSK 2021


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