Tarantool development patches archive
 help / color / mirror / Atom feed
* [Tarantool-patches] [PATCH v1] test: fix box/push.test.lua for ASAN
@ 2020-05-27 15:20 Alexander V. Tikhonov
  2020-05-27 22:21 ` Vladislav Shpilevoy
  0 siblings, 1 reply; 2+ messages in thread
From: Alexander V. Tikhonov @ 2020-05-27 15:20 UTC (permalink / raw)
  To: Oleg Piskunov, Sergey Bronnikov, Vladislav Shpilevoy; +Cc: tarantool-patches

After commit:
03790ac5510648d1d9648bb2281857a7992d0593 ("cmake: remove dynamic-list linker option")

the issue with test initialy appeared:

 [001] box/push.test.lua
 [001]
 [001] [Instance "box" returns with non-zero exit code: 1]
 [001]
 [001] Last 15 lines of Tarantool Log file [Instance "box"][test/var/001_box/box.log]:
 [001] ==25624==ERROR: AddressSanitizer: odr-violation (0x000001123b60):
 [001]   [1] size=1024 'mp_type_hint' src/lib/msgpuck/hints.c:39:20
 [001]   [2] size=1024 'mp_type_hint' src/lib/msgpuck/hints.c:39:20
 [001] These globals were registered at these points:
 [001]   [1]:
 [001]     #0 0x478b8e in __asan_register_globals (src/tarantool+0x478b8e)
 [001]     #1 0x7ff7a9bc9d0b in asan.module_ctor (function1.so+0x6d0b)
 [001]
 [001]   [2]:
 [001]     #0 0x478b8e in __asan_register_globals (src/tarantool+0x478b8e)
 [001]     #1 0xab990b in asan.module_ctor (src/tarantool+0xab990b)
 [001]
 [001] ==25624==HINT: if you don't care about these errors you may set ASAN_OPTIONS=detect_odr_violation=0
 [001] SUMMARY: AddressSanitizer: odr-violation: global 'mp_type_hint' at src/lib/msgpuck/hints.c:39:20
 [001] ==25624==ABORTING
 [001] [ fail ]

the following issue was created:

  https://github.com/tarantool/tarantool/issues/5001

The fail was described there by Vladislav Shpilevoy:
"""
  I see why ASAN complains about mp_type_hint. This is because the
  symbol is defined both in Tarantool executable, and in the shared
  library function1.so. I think this is fine, and should be ignored.
  But it definitely has nothing to do with the current ticket. The
  problem existed always, but asan noticed it only now somewhy. And
  it is not a problem actually.
"""

He added suggestion to try RTLD_DEEPBIND, but in real it is not
supported on OSX and the same issue with discussion can be found here:

  https://github.com/root-project/root/pull/4668

The initial issue closed and the new one created especialy for the
test. The fix was made in ASAN suppresion list to block the ASAN
check for file:

  src/lib/msgpuck/hints.c

Closes #5023
---

Github: https://github.com/tarantool/tarantool/tree/avtikhon/gh-5023_fix-box-push-test-for-asan-full-ci
Issue: https://github.com/tarantool/tarantool/issues/5023

 asan/asan.supp | 4 ++++
 1 file changed, 4 insertions(+)

diff --git a/asan/asan.supp b/asan/asan.supp
index 79c13ec7d..b806873a5 100644
--- a/asan/asan.supp
+++ b/asan/asan.supp
@@ -9,6 +9,10 @@
 # source: third_party/lua-cjson/lua_cjson.c
 fun:json_decode
 
+# test: box/push.test.lua
+# source: src/lib/msgpuck/hints.c:39:20
+src:*src/lib/msgpuck/hints.c
+
 # test: unit/base64.test.lua
 # source: third_party/base64.c
 fun:base64_decode_block
-- 
2.17.1

^ permalink raw reply	[flat|nested] 2+ messages in thread

end of thread, other threads:[~2020-05-27 22:21 UTC | newest]

Thread overview: 2+ messages (download: mbox.gz / follow: Atom feed)
-- links below jump to the message on this page --
2020-05-27 15:20 [Tarantool-patches] [PATCH v1] test: fix box/push.test.lua for ASAN Alexander V. Tikhonov
2020-05-27 22:21 ` Vladislav Shpilevoy

This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox