-
Notifications
You must be signed in to change notification settings - Fork 376
New issue
Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? Sign in to your account
test: need to fix exclusions at ASAN/LSAN testings #4360
Milestone
Comments
avtikhon
added a commit
that referenced
this issue
Jul 17, 2019
Added ASAN tesing in commit process, used clang-8 for ASAN build under debian-buster image. Added for testing only the passing test suites, the rest of the tests not used and will be enabled durring issue #4360. Also fixed job for testing LTO with clang on debian-buster in travis-ci, changed it to the same as in gitlab-ci, changed default clang to clang-8. Closes #4359
avtikhon
added a commit
that referenced
this issue
Jul 17, 2019
Added ASAN tesing in commit process, used clang-8 for ASAN build under debian-buster image. Added for testing only the passing test suites, the rest of the tests not used and will be enabled durring issue #4360. Also fixed job for testing LTO with clang on debian-buster in travis-ci, changed it to the same as in gitlab-ci, changed default clang to clang-8. Closes #4359
avtikhon
added a commit
that referenced
this issue
Jul 17, 2019
Added ASAN tesing in commit process, used clang-8 for ASAN build under debian-buster image. Added for testing only the passing test suites, the rest of the tests not used and will be enabled durring issue #4360. Also fixed job for testing LTO with clang on debian-buster in travis-ci, changed it to the same as in gitlab-ci, changed default clang to clang-8. Closes #4359
avtikhon
added a commit
that referenced
this issue
Jul 17, 2019
Added ASAN tesing in commit process, used clang-8 for ASAN build under debian-buster image. Added for testing only the passing test suites, the rest of the tests not used and will be enabled durring issue #4360. Also fixed job for testing LTO with clang on debian-buster in travis-ci, changed it to the same as in gitlab-ci, changed default clang to clang-8. Closes #4359
avtikhon
added a commit
that referenced
this issue
Jul 17, 2019
Added ASAN tesing in commit process, used clang-8 for ASAN build under debian-buster image. Added for testing only the passing test suites, the rest of the tests not used and will be enabled durring issue #4360. Also fixed job for testing LTO with clang on debian-buster in travis-ci, changed it to the same as in gitlab-ci, changed default clang to clang-8. Closes #4359
avtikhon
added a commit
that referenced
this issue
Jul 17, 2019
Added ASAN tesing in commit process, used clang-8 for ASAN build under debian-buster image. Added for testing only the passing test suites, the rest of the tests not used and will be enabled durring issue #4360. Also fixed job for testing LTO with clang on debian-buster in travis-ci, changed it to the same as in gitlab-ci, changed default clang to clang-8. Closes #4359
avtikhon
added a commit
that referenced
this issue
Jul 17, 2019
Added ASAN tesing in commit process, used clang-8 for ASAN build under debian-buster image. Added for testing only the passing test suites, the rest of the tests not used and will be enabled durring issue #4360. Also fixed job for testing LTO with clang on debian-buster in travis-ci, changed it to the same as in gitlab-ci, changed default clang to clang-8. Closes #4359
avtikhon
added a commit
that referenced
this issue
Jul 17, 2019
Added ASAN tesing in commit process, used clang-8 for ASAN build under debian-buster image. Added for testing only the passing test suites, the rest of the tests not used and will be enabled durring issue #4360. Also fixed job for testing LTO with clang on debian-buster in travis-ci, changed it to the same as in gitlab-ci, changed default clang to clang-8. Closes #4359
avtikhon
added a commit
that referenced
this issue
Jul 18, 2019
Added ASAN tesing in commit process, used clang-8 for ASAN build under debian-buster image. Added for testing only the passing test suites, the rest of the tests not used and will be enabled durring issue #4360. Also fixed job for testing LTO with clang on debian-buster in travis-ci, changed it to the same as in gitlab-ci, changed default clang to clang-8. Closes #4359
avtikhon
added a commit
that referenced
this issue
Jul 18, 2019
Added ASAN tesing in commit process, used clang-8 for ASAN build under debian-buster image. Added for testing only the passing test suites, the rest of the tests not used and will be enabled durring issue #4360. Also fixed job for testing LTO with clang on debian-buster in travis-ci, changed it to the same as in gitlab-ci, changed default clang to clang-8. Closes #4359
kyukhin
pushed a commit
that referenced
this issue
Jul 19, 2019
Added ASAN tesing in commit process, used clang-8 for ASAN build under debian-buster image. Added for testing only the passing test suites, the rest of the tests not used and will be enabled durring issue #4360. Also fixed job for testing LTO with clang on debian-buster in travis-ci, changed it to the same as in gitlab-ci, changed default clang to clang-8. Closes #4359
avtikhon
added a commit
that referenced
this issue
Aug 22, 2019
Added ASAN tesing in commit process, used clang-8 for ASAN build under debian-buster image. Added for testing only the passing test suites, the rest of the tests not used and will be enabled durring issue #4360. Also fixed job for testing LTO with clang on debian-buster in travis-ci, changed it to the same as in gitlab-ci, changed default clang to clang-8. Closes #4359
avtikhon
added a commit
that referenced
this issue
Nov 6, 2019
Added ASAN tesing in commit process, used clang-8 for ASAN build under debian-buster image. Added for testing only the passing test suites, the rest of the tests not used and will be enabled durring issue #4360. Also fixed job for testing LTO with clang on debian-buster in gitlab-ci, changed default clang to clang-8. Closes #4359
avtikhon
added a commit
that referenced
this issue
Nov 20, 2019
Added memory leaks detection to ASAN testing. Added files for exceptions: - address sanitizer on compilation: asan/ignore_asan.txt - memory leak sanitizer on run-time: asan/ignore_lsan.txt Cmake updated with asan/ignore_asan.txt file added and test run rules changed with asan/ignore_lsan.txt file. Added engine/ and replication/ suites into the testing and blocked some tests that break the testing, all of excepted tests will be enabled durring issue #4360. Close #2058
avtikhon
added a commit
that referenced
this issue
Nov 20, 2019
Added memory leaks detection to ASAN testing. Added files for exceptions: - address sanitizer on compilation: asan/ignore_asan.txt - memory leak sanitizer on run-time: asan/ignore_lsan.txt Cmake updated with asan/ignore_asan.txt file added and test run rules changed with asan/ignore_lsan.txt file. Added engine/ and replication/ suites into the testing and blocked some tests that break the testing, all of excepted tests will be enabled durring issue #4360. Close #2058
avtikhon
added a commit
that referenced
this issue
Nov 21, 2019
Added ASAN tesing in commit process, used clang-8 for ASAN build under debian-buster image. Added for testing only the passing test suites, the rest of the tests not used and will be enabled during issue #4360. On cherry pick changes for LTO were not used, due to LTO testing is not needed on 1.10. Closes #4359 (partly cherry picked from commit 55f7586)
avtikhon
added a commit
that referenced
this issue
Nov 21, 2019
Added memory leaks detection to ASAN testing. Added files for exceptions: - address sanitizer on compilation: asan/ignore_asan.txt - memory leak sanitizer on run-time: asan/ignore_lsan.txt Cmake updated with asan/ignore_asan.txt file added and test run rules changed with asan/ignore_lsan.txt file. Added engine/ and replication/ suites into the testing and blocked some tests that break the testing, all of excepted tests will be enabled durring issue #4360. Close #2058
avtikhon
added a commit
that referenced
this issue
Nov 21, 2019
Added memory leaks detection to ASAN testing. Added files for exceptions: - address sanitizer on compilation: asan/ignore_asan.txt - memory leak sanitizer on run-time: asan/ignore_lsan.txt Cmake updated with asan/ignore_asan.txt file added and test run rules changed with asan/ignore_lsan.txt file. Added 'engine' and replication' suites into the testing and blocked 'box/on_shutdown.test.lua' test that breaks the testing, all of excepted tests will be enabled durring issue #4360. Close #2058
avtikhon
added a commit
that referenced
this issue
Nov 21, 2019
Added ASAN tesing in commit process, used clang-8 for ASAN build under debian-buster image. Added for testing only the passing test suites, the rest of the tests not used and will be enabled during issue #4360. On cherry pick changes for LTO were not used, due to LTO testing is not needed on 1.10. Also added skip condition file for test 'box/func_reload' which fails only on 1.10 with ASAN. Closes #4359 (partly cherry picked from commit 55f7586) t
avtikhon
added a commit
that referenced
this issue
Aug 24, 2020
In asan/lsan check found common leaks after strdup() function, because of its internal allocations in AccessDeniedError class for m_object_name, m_object_type, m_access_type buffers: Indirect leak of 24 byte(s) in 4 object(s) allocated from: #0 0x50b550 in __interceptor_strdup (/tnt/src/tarantool+0x50b550) #1 0xd71a98 in AccessDeniedError::AccessDeniedError(char const*, unsigned int, char const*, char const*, char const*, char const*, bool) /tarantool/src/box/error.cc:309:18 #2 0xd71c5b in BuildAccessDeniedError /tarantool/src/box/error.cc:319:14 #3 0x567864 in access_check_space /tarantool/src/box/space.c:91:5 #4 0x55e58b in check_index(unsigned int, unsigned int, space**, index**) /tarantool/src/box/index.cc:172:6 #5 0x55e58b in box_index_max /tarantool/src/box/index.cc:296 #6 0x2abfea88 (<unknown module>) To fix the found issues better to use local memory allocation in stack for these buffers. In the same situation in a common CustomError class m_custom_type buffer was locally allocated with 64 size. So the buffers were changed from strdup() function internal allocation to local setup with the same size. Suppresion "leak:AccessDeniedError::AccessDeniedError" removed from asan suppressions file. Part of #4360
avtikhon
added a commit
that referenced
this issue
Aug 26, 2020
Found that after commit: eec54b5 "asan/lsan: cleanup suppression lists" where was removed blocking file unit/guard.skipcond for asan testing, it was needed much more fixes from #4609, to enable this test on asan. After investigation the group of needed patches to be ported decided not to use it for 2.4 release branch and to restore the skip condition file to block the issue with the test to restore the release branch stability. Part of #4360
avtikhon
added a commit
that referenced
this issue
Aug 26, 2020
Found that box/on_shutdown.test.lua test fails on asan build with: 2020-08-26 09:04:06.750 [42629] main/102/on_shutdown [string "_ = box.ctl.on_shutdown(function() log.warn("..."]:1 W> on_shutdown 5 Starting instance proxy... Run console at unix/:/tnt/test/var/001_box/proxy.control Start failed: builtin/box/console.lua:865: failed to create server unix/:/tnt/test/var/001_box/proxy.control: Address already in use It happened on ASAN build, because server stop routine test-run/lib/preprocessor.py:TestState.server_stop() -> test-run/lib/tarantool_server.py:TarantoolServer.stop() needs some delay to free the proxy.control socket created by test-run/lib/preprocessor.py:TestState.server_start() -> tarantoolctl:process_local() To fix the issue added fiber.sleep() to give the needed delay. Closes #5260 Part of #4360
avtikhon
added a commit
that referenced
this issue
Aug 27, 2020
Found that box/on_shutdown.test.lua test fails on asan build with: 2020-08-26 09:04:06.750 [42629] main/102/on_shutdown [string "_ = box.ctl.on_shutdown(function() log.warn("..."]:1 W> on_shutdown 5 Starting instance proxy... Run console at unix/:/tnt/test/var/001_box/proxy.control Start failed: builtin/box/console.lua:865: failed to create server unix/:/tnt/test/var/001_box/proxy.control: Address already in use It happened on ASAN build, because server stop routine test-run/lib/preprocessor.py:TestState.server_stop() -> test-run/lib/tarantool_server.py:TarantoolServer.stop() needs some delay to free the proxy.control socket created by test-run/lib/preprocessor.py:TestState.server_start() -> tarantoolctl:process_local() To fix the issue added fiber.sleep() to give the needed delay. Closes #5260 Part of #4360
avtikhon
added a commit
that referenced
this issue
Aug 31, 2020
Found that box/on_shutdown.test.lua test fails on asan build with: 2020-08-26 09:04:06.750 [42629] main/102/on_shutdown [string "_ = box.ctl.on_shutdown(function() log.warn("..."]:1 W> on_shutdown 5 Starting instance proxy... Run console at unix/:/tnt/test/var/001_box/proxy.control Start failed: builtin/box/console.lua:865: failed to create server unix/:/tnt/test/var/001_box/proxy.control: Address already in use It happened on ASAN build, because server stop routine test-run/lib/preprocessor.py:TestState.server_stop() -> test-run/lib/tarantool_server.py:TarantoolServer.stop() needs to free the proxy.control socket created by test-run/lib/preprocessor.py:TestState.server_start() -> tarantoolctl:process_local() On some builds like ASAN server stop routine needs more time to free the 'proxy.control' socket. So instead of time delay before server restart need to use garbage collector to be sure that it will be freed. Closes #5260 Part of #4360
avtikhon
added a commit
to tarantool/msgpuck
that referenced
this issue
Sep 4, 2020
Found ASAN error: [001] + ok 206 - ================================================================= [001] +==6889==ERROR: AddressSanitizer: heap-buffer-overflow on address 0x604000000031 at pc 0x0000005a72e7 bp 0x7ffe47c30c80 sp 0x7ffe47c30c78 [001] +WRITE of size 1 at 0x604000000031 thread T0 [001] + #0 0x5a72e6 in mp_store_u8 /tarantool/src/lib/msgpuck/msgpuck.h:258:1 [001] + #1 0x5a72e6 in mp_encode_uint /tarantool/src/lib/msgpuck/msgpuck.h:1768 [001] + #2 0x4fa657 in test_mp_print /tarantool/src/lib/msgpuck/test/msgpuck.c:957:16 [001] + #3 0x509024 in main /tarantool/src/lib/msgpuck/test/msgpuck.c:1331:2 [001] + #4 0x7f3658fd909a in __libc_start_main (/lib/x86_64-linux-gnu/libc.so.6+0x2409a) [001] + #5 0x41f339 in _start (/tnt/test/unit/msgpack.test+0x41f339) [001] + [001] +0x604000000031 is located 0 bytes to the right of 33-byte region [0x604000000010,0x604000000031) [001] +allocated by thread T0 here: [001] + #0 0x4cace3 in malloc (/tnt/test/unit/msgpack.test+0x4cace3) [001] + #1 0x4fa5db in test_mp_print /tarantool/src/lib/msgpuck/test/msgpuck.c:945:18 [001] + #2 0x509024 in main /tarantool/src/lib/msgpuck/test/msgpuck.c:1331:2 [001] + #3 0x7f3658fd909a in __libc_start_main (/lib/x86_64-linux-gnu/libc.so.6+0x2409a) [001] + [001] +SUMMARY: AddressSanitizer: heap-buffer-overflow /tarantool/src/lib/msgpuck/msgpuck.h:258:1 in mp_store_u8 [001] +Shadow bytes around the buggy address: [001] + 0x0c087fff7fb0: 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 [001] + 0x0c087fff7fc0: 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 [001] + 0x0c087fff7fd0: 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 [001] + 0x0c087fff7fe0: 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 [001] + 0x0c087fff7ff0: 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 [001] +=>0x0c087fff8000: fa fa 00 00 00 00[01]fa fa fa fa fa fa fa fa fa [001] + 0x0c087fff8010: fa fa fa fa fa fa fa fa fa fa fa fa fa fa fa fa [001] + 0x0c087fff8020: fa fa fa fa fa fa fa fa fa fa fa fa fa fa fa fa [001] + 0x0c087fff8030: fa fa fa fa fa fa fa fa fa fa fa fa fa fa fa fa [001] + 0x0c087fff8040: fa fa fa fa fa fa fa fa fa fa fa fa fa fa fa fa [001] + 0x0c087fff8050: fa fa fa fa fa fa fa fa fa fa fa fa fa fa fa fa [001] +Shadow byte legend (one shadow byte represents 8 application bytes): [001] + Addressable: 00 [001] + Partially addressable: 01 02 03 04 05 06 07 [001] + Heap left redzone: fa [001] + Freed heap region: fd [001] + Stack left redzone: f1 [001] + Stack mid redzone: f2 [001] + Stack right redzone: f3 [001] + Stack after return: f5 [001] + Stack use after scope: f8 [001] + Global redzone: f9 [001] + Global init order: f6 [001] + Poisoned by user: f7 [001] + Container overflow: fc [001] + Array cookie: ac [001] + Intra object redzone: bb [001] + ASan internal: fe [001] + Left alloca redzone: ca Investigated the buffer size that was allocated was 33 bytes, but it needed 34. The fix was to increase this buffer for another mp_encode_array(1). Part of tarantool/tarantool#4360
avtikhon
added a commit
that referenced
this issue
Sep 4, 2020
ASAN should the issue in msgpuck repository in file test/msgpuck.c which was the cause of the fail in unit/msgpack test. The issue was fixed in msgpuck repository and ASAN suppression was removed for it. Also removed skip condition file, which blocked the test when it failed. Part of #4360
avtikhon
added a commit
to tarantool/msgpuck
that referenced
this issue
Sep 4, 2020
Found ASAN error: [001] + ok 206 - ================================================================= [001] +==6889==ERROR: AddressSanitizer: heap-buffer-overflow on address 0x604000000031 at pc 0x0000005a72e7 bp 0x7ffe47c30c80 sp 0x7ffe47c30c78 [001] +WRITE of size 1 at 0x604000000031 thread T0 [001] + #0 0x5a72e6 in mp_store_u8 /tarantool/src/lib/msgpuck/msgpuck.h:258:1 [001] + #1 0x5a72e6 in mp_encode_uint /tarantool/src/lib/msgpuck/msgpuck.h:1768 [001] + #2 0x4fa657 in test_mp_print /tarantool/src/lib/msgpuck/test/msgpuck.c:957:16 [001] + #3 0x509024 in main /tarantool/src/lib/msgpuck/test/msgpuck.c:1331:2 [001] + #4 0x7f3658fd909a in __libc_start_main (/lib/x86_64-linux-gnu/libc.so.6+0x2409a) [001] + #5 0x41f339 in _start (/tnt/test/unit/msgpack.test+0x41f339) [001] + [001] +0x604000000031 is located 0 bytes to the right of 33-byte region [0x604000000010,0x604000000031) [001] +allocated by thread T0 here: [001] + #0 0x4cace3 in malloc (/tnt/test/unit/msgpack.test+0x4cace3) [001] + #1 0x4fa5db in test_mp_print /tarantool/src/lib/msgpuck/test/msgpuck.c:945:18 [001] + #2 0x509024 in main /tarantool/src/lib/msgpuck/test/msgpuck.c:1331:2 [001] + #3 0x7f3658fd909a in __libc_start_main (/lib/x86_64-linux-gnu/libc.so.6+0x2409a) [001] + [001] +SUMMARY: AddressSanitizer: heap-buffer-overflow /tarantool/src/lib/msgpuck/msgpuck.h:258:1 in mp_store_u8 [001] +Shadow bytes around the buggy address: [001] + 0x0c087fff7fb0: 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 [001] + 0x0c087fff7fc0: 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 [001] + 0x0c087fff7fd0: 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 [001] + 0x0c087fff7fe0: 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 [001] + 0x0c087fff7ff0: 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 [001] +=>0x0c087fff8000: fa fa 00 00 00 00[01]fa fa fa fa fa fa fa fa fa [001] + 0x0c087fff8010: fa fa fa fa fa fa fa fa fa fa fa fa fa fa fa fa [001] + 0x0c087fff8020: fa fa fa fa fa fa fa fa fa fa fa fa fa fa fa fa [001] + 0x0c087fff8030: fa fa fa fa fa fa fa fa fa fa fa fa fa fa fa fa [001] + 0x0c087fff8040: fa fa fa fa fa fa fa fa fa fa fa fa fa fa fa fa [001] + 0x0c087fff8050: fa fa fa fa fa fa fa fa fa fa fa fa fa fa fa fa [001] +Shadow byte legend (one shadow byte represents 8 application bytes): [001] + Addressable: 00 [001] + Partially addressable: 01 02 03 04 05 06 07 [001] + Heap left redzone: fa [001] + Freed heap region: fd [001] + Stack left redzone: f1 [001] + Stack mid redzone: f2 [001] + Stack right redzone: f3 [001] + Stack after return: f5 [001] + Stack use after scope: f8 [001] + Global redzone: f9 [001] + Global init order: f6 [001] + Poisoned by user: f7 [001] + Container overflow: fc [001] + Array cookie: ac [001] + Intra object redzone: bb [001] + ASan internal: fe [001] + Left alloca redzone: ca Investigated the buffer size that was allocated was 33 bytes, but it needed 34. The fix was to increase this buffer for another mp_encode_array(1). Part of tarantool/tarantool#4360 Reviewed-by: Vladislav Shpilevoy <v.shpilevoy@tarantool.org>
avtikhon
added a commit
that referenced
this issue
Sep 4, 2020
ASAN should the issue in msgpuck repository in file test/msgpuck.c which was the cause of the fail in unit/msgpack test. The issue was fixed in msgpuck repository and ASAN suppression was removed for it. Also removed skip condition file, which blocked the test when it failed. Part of #4360
avtikhon
added a commit
to tarantool/msgpuck
that referenced
this issue
Sep 4, 2020
Found ASAN error: [001] + ok 206 - ================================================================= [001] +==6889==ERROR: AddressSanitizer: heap-buffer-overflow on address 0x604000000031 at pc 0x0000005a72e7 bp 0x7ffe47c30c80 sp 0x7ffe47c30c78 [001] +WRITE of size 1 at 0x604000000031 thread T0 [001] + #0 0x5a72e6 in mp_store_u8 /tarantool/src/lib/msgpuck/msgpuck.h:258:1 [001] + #1 0x5a72e6 in mp_encode_uint /tarantool/src/lib/msgpuck/msgpuck.h:1768 [001] + #2 0x4fa657 in test_mp_print /tarantool/src/lib/msgpuck/test/msgpuck.c:957:16 [001] + #3 0x509024 in main /tarantool/src/lib/msgpuck/test/msgpuck.c:1331:2 [001] + #4 0x7f3658fd909a in __libc_start_main (/lib/x86_64-linux-gnu/libc.so.6+0x2409a) [001] + #5 0x41f339 in _start (/tnt/test/unit/msgpack.test+0x41f339) [001] + [001] +0x604000000031 is located 0 bytes to the right of 33-byte region [0x604000000010,0x604000000031) [001] +allocated by thread T0 here: [001] + #0 0x4cace3 in malloc (/tnt/test/unit/msgpack.test+0x4cace3) [001] + #1 0x4fa5db in test_mp_print /tarantool/src/lib/msgpuck/test/msgpuck.c:945:18 [001] + #2 0x509024 in main /tarantool/src/lib/msgpuck/test/msgpuck.c:1331:2 [001] + #3 0x7f3658fd909a in __libc_start_main (/lib/x86_64-linux-gnu/libc.so.6+0x2409a) [001] + [001] +SUMMARY: AddressSanitizer: heap-buffer-overflow /tarantool/src/lib/msgpuck/msgpuck.h:258:1 in mp_store_u8 [001] +Shadow bytes around the buggy address: [001] + 0x0c087fff7fb0: 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 [001] + 0x0c087fff7fc0: 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 [001] + 0x0c087fff7fd0: 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 [001] + 0x0c087fff7fe0: 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 [001] + 0x0c087fff7ff0: 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 [001] +=>0x0c087fff8000: fa fa 00 00 00 00[01]fa fa fa fa fa fa fa fa fa [001] + 0x0c087fff8010: fa fa fa fa fa fa fa fa fa fa fa fa fa fa fa fa [001] + 0x0c087fff8020: fa fa fa fa fa fa fa fa fa fa fa fa fa fa fa fa [001] + 0x0c087fff8030: fa fa fa fa fa fa fa fa fa fa fa fa fa fa fa fa [001] + 0x0c087fff8040: fa fa fa fa fa fa fa fa fa fa fa fa fa fa fa fa [001] + 0x0c087fff8050: fa fa fa fa fa fa fa fa fa fa fa fa fa fa fa fa [001] +Shadow byte legend (one shadow byte represents 8 application bytes): [001] + Addressable: 00 [001] + Partially addressable: 01 02 03 04 05 06 07 [001] + Heap left redzone: fa [001] + Freed heap region: fd [001] + Stack left redzone: f1 [001] + Stack mid redzone: f2 [001] + Stack right redzone: f3 [001] + Stack after return: f5 [001] + Stack use after scope: f8 [001] + Global redzone: f9 [001] + Global init order: f6 [001] + Poisoned by user: f7 [001] + Container overflow: fc [001] + Array cookie: ac [001] + Intra object redzone: bb [001] + ASan internal: fe [001] + Left alloca redzone: ca Investigated the buffer size that was allocated was 33 bytes, but it needed 34. The fix was to increase this buffer for another mp_encode_array(1). Part of tarantool/tarantool#4360 Reviewed-by: Vladislav Shpilevoy <v.shpilevoy@tarantool.org>
avtikhon
added a commit
that referenced
this issue
Sep 4, 2020
ASAN should the issue in msgpuck repository in file test/msgpuck.c which was the cause of the fail in unit/msgpack test. The issue was fixed in msgpuck repository and ASAN suppression was removed for it. Also removed skip condition file, which blocked the test when it failed. Part of #4360
kyukhin
pushed a commit
to tarantool/msgpuck
that referenced
this issue
Sep 8, 2020
Found ASAN error: [001] + ok 206 - ================================================================= [001] +==6889==ERROR: AddressSanitizer: heap-buffer-overflow on address 0x604000000031 at pc 0x0000005a72e7 bp 0x7ffe47c30c80 sp 0x7ffe47c30c78 [001] +WRITE of size 1 at 0x604000000031 thread T0 [001] + #0 0x5a72e6 in mp_store_u8 /tarantool/src/lib/msgpuck/msgpuck.h:258:1 [001] + #1 0x5a72e6 in mp_encode_uint /tarantool/src/lib/msgpuck/msgpuck.h:1768 [001] + #2 0x4fa657 in test_mp_print /tarantool/src/lib/msgpuck/test/msgpuck.c:957:16 [001] + #3 0x509024 in main /tarantool/src/lib/msgpuck/test/msgpuck.c:1331:2 [001] + #4 0x7f3658fd909a in __libc_start_main (/lib/x86_64-linux-gnu/libc.so.6+0x2409a) [001] + #5 0x41f339 in _start (/tnt/test/unit/msgpack.test+0x41f339) [001] + [001] +0x604000000031 is located 0 bytes to the right of 33-byte region [0x604000000010,0x604000000031) [001] +allocated by thread T0 here: [001] + #0 0x4cace3 in malloc (/tnt/test/unit/msgpack.test+0x4cace3) [001] + #1 0x4fa5db in test_mp_print /tarantool/src/lib/msgpuck/test/msgpuck.c:945:18 [001] + #2 0x509024 in main /tarantool/src/lib/msgpuck/test/msgpuck.c:1331:2 [001] + #3 0x7f3658fd909a in __libc_start_main (/lib/x86_64-linux-gnu/libc.so.6+0x2409a) [001] + [001] +SUMMARY: AddressSanitizer: heap-buffer-overflow /tarantool/src/lib/msgpuck/msgpuck.h:258:1 in mp_store_u8 [001] +Shadow bytes around the buggy address: [001] + 0x0c087fff7fb0: 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 [001] + 0x0c087fff7fc0: 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 [001] + 0x0c087fff7fd0: 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 [001] + 0x0c087fff7fe0: 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 [001] + 0x0c087fff7ff0: 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 [001] +=>0x0c087fff8000: fa fa 00 00 00 00[01]fa fa fa fa fa fa fa fa fa [001] + 0x0c087fff8010: fa fa fa fa fa fa fa fa fa fa fa fa fa fa fa fa [001] + 0x0c087fff8020: fa fa fa fa fa fa fa fa fa fa fa fa fa fa fa fa [001] + 0x0c087fff8030: fa fa fa fa fa fa fa fa fa fa fa fa fa fa fa fa [001] + 0x0c087fff8040: fa fa fa fa fa fa fa fa fa fa fa fa fa fa fa fa [001] + 0x0c087fff8050: fa fa fa fa fa fa fa fa fa fa fa fa fa fa fa fa [001] +Shadow byte legend (one shadow byte represents 8 application bytes): [001] + Addressable: 00 [001] + Partially addressable: 01 02 03 04 05 06 07 [001] + Heap left redzone: fa [001] + Freed heap region: fd [001] + Stack left redzone: f1 [001] + Stack mid redzone: f2 [001] + Stack right redzone: f3 [001] + Stack after return: f5 [001] + Stack use after scope: f8 [001] + Global redzone: f9 [001] + Global init order: f6 [001] + Poisoned by user: f7 [001] + Container overflow: fc [001] + Array cookie: ac [001] + Intra object redzone: bb [001] + ASan internal: fe [001] + Left alloca redzone: ca Investigated the buffer size that was allocated was 33 bytes, but it needed 34. The fix was to increase this buffer for another mp_encode_array(1). Part of tarantool/tarantool#4360 Reviewed-by: Vladislav Shpilevoy <v.shpilevoy@tarantool.org>
avtikhon
added a commit
that referenced
this issue
Sep 8, 2020
ASAN should the issue in msgpuck repository in file test/msgpuck.c which was the cause of the fail in unit/msgpack test. The issue was fixed in msgpuck repository and ASAN suppression was removed for it. Also removed skip condition file, which blocked the test when it failed. Part of #4360
avtikhon
added a commit
that referenced
this issue
Sep 8, 2020
Removed lsan suppresions that were not reproduced. Part of #4360
kyukhin
pushed a commit
that referenced
this issue
Sep 9, 2020
Removed lsan suppresions that were not reproduced. Part of #4360
avtikhon
added a commit
that referenced
this issue
Sep 9, 2020
ASAN should the issue in msgpuck repository in file test/msgpuck.c which was the cause of the fail in unit/msgpack test. The issue was fixed in msgpuck repository and ASAN suppression was removed for it. Also removed skip condition file, which blocked the test when it failed. Part of #4360
kyukhin
pushed a commit
that referenced
this issue
Sep 9, 2020
ASAN should the issue in msgpuck repository in file test/msgpuck.c which was the cause of the fail in unit/msgpack test. The issue was fixed in msgpuck repository and ASAN suppression was removed for it. Also removed skip condition file, which blocked the test when it failed. Part of #4360 (cherry picked from commit 35f99e6)
kyukhin
pushed a commit
that referenced
this issue
Sep 9, 2020
ASAN should the issue in msgpuck repository in file test/msgpuck.c which was the cause of the fail in unit/msgpack test. The issue was fixed in msgpuck repository and ASAN suppression was removed for it. Also removed skip condition file, which blocked the test when it failed. Part of #4360 (cherry picked from commit 35f99e6)
kyukhin
pushed a commit
that referenced
this issue
Sep 9, 2020
ASAN should the issue in msgpuck repository in file test/msgpuck.c which was the cause of the fail in unit/msgpack test. The issue was fixed in msgpuck repository and ASAN suppression was removed for it. Also removed skip condition file, which blocked the test when it failed. Part of #4360 (cherry picked from commit 35f99e6)
kyukhin
pushed a commit
that referenced
this issue
Sep 9, 2020
ASAN should the issue in msgpuck repository in file test/msgpuck.c which was the cause of the fail in unit/msgpack test. The issue was fixed in msgpuck repository and ASAN suppression was removed for it. Also removed skip condition file, which blocked the test when it failed. Part of #4360
Issues split to:
|
VitaliyaIoffe
added a commit
to tarantool/test-run
that referenced
this issue
May 17, 2021
Found ASAN error: [001] + ok 206 - ================================================================= [001] +==6889==ERROR: AddressSanitizer: heap-buffer-overflow on address 0x604000000031 at pc 0x0000005a72e7 bp 0x7ffe47c30c80 sp 0x7ffe47c30c78 [001] +WRITE of size 1 at 0x604000000031 thread T0 [001] + #0 0x5a72e6 in mp_store_u8 /tarantool/src/lib/msgpuck/msgpuck.h:258:1 [001] + #1 0x5a72e6 in mp_encode_uint /tarantool/src/lib/msgpuck/msgpuck.h:1768 [001] + #2 0x4fa657 in test_mp_print /tarantool/src/lib/msgpuck/test/msgpuck.c:957:16 [001] + #3 0x509024 in main /tarantool/src/lib/msgpuck/test/msgpuck.c:1331:2 [001] + #4 0x7f3658fd909a in __libc_start_main (/lib/x86_64-linux-gnu/libc.so.6+0x2409a) [001] + #5 0x41f339 in _start (/tnt/test/unit/msgpack.test+0x41f339) [001] + [001] +0x604000000031 is located 0 bytes to the right of 33-byte region [0x604000000010,0x604000000031) [001] +allocated by thread T0 here: [001] + #0 0x4cace3 in malloc (/tnt/test/unit/msgpack.test+0x4cace3) [001] + #1 0x4fa5db in test_mp_print /tarantool/src/lib/msgpuck/test/msgpuck.c:945:18 [001] + #2 0x509024 in main /tarantool/src/lib/msgpuck/test/msgpuck.c:1331:2 [001] + #3 0x7f3658fd909a in __libc_start_main (/lib/x86_64-linux-gnu/libc.so.6+0x2409a) [001] + [001] +SUMMARY: AddressSanitizer: heap-buffer-overflow /tarantool/src/lib/msgpuck/msgpuck.h:258:1 in mp_store_u8 [001] +Shadow bytes around the buggy address: [001] + 0x0c087fff7fb0: 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 [001] + 0x0c087fff7fc0: 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 [001] + 0x0c087fff7fd0: 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 [001] + 0x0c087fff7fe0: 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 [001] + 0x0c087fff7ff0: 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 [001] +=>0x0c087fff8000: fa fa 00 00 00 00[01]fa fa fa fa fa fa fa fa fa [001] + 0x0c087fff8010: fa fa fa fa fa fa fa fa fa fa fa fa fa fa fa fa [001] + 0x0c087fff8020: fa fa fa fa fa fa fa fa fa fa fa fa fa fa fa fa [001] + 0x0c087fff8030: fa fa fa fa fa fa fa fa fa fa fa fa fa fa fa fa [001] + 0x0c087fff8040: fa fa fa fa fa fa fa fa fa fa fa fa fa fa fa fa [001] + 0x0c087fff8050: fa fa fa fa fa fa fa fa fa fa fa fa fa fa fa fa [001] +Shadow byte legend (one shadow byte represents 8 application bytes): [001] + Addressable: 00 [001] + Partially addressable: 01 02 03 04 05 06 07 [001] + Heap left redzone: fa [001] + Freed heap region: fd [001] + Stack left redzone: f1 [001] + Stack mid redzone: f2 [001] + Stack right redzone: f3 [001] + Stack after return: f5 [001] + Stack use after scope: f8 [001] + Global redzone: f9 [001] + Global init order: f6 [001] + Poisoned by user: f7 [001] + Container overflow: fc [001] + Array cookie: ac [001] + Intra object redzone: bb [001] + ASan internal: fe [001] + Left alloca redzone: ca Investigated the buffer size that was allocated was 33 bytes, but it needed 34. The fix was to increase this buffer for another mp_encode_array(1). Part of tarantool/tarantool#4360 Reviewed-by: Vladislav Shpilevoy <v.shpilevoy@tarantool.org> test: obuf test refactoring Added slab_arena_destroy for graceful resources release, removed global seed value, removed unused value from enum. Merge pull request #136 from tbeu/patch-1 Update README.rst test: move unit/ to test/ This virtually reverts commit 436218defd4c284134f59975d4642405bdf2d918 ('move unit tests to unit'), that was made in the scope of #106. Despite the fact that testing of the connector uses `unittest` framework, it is functional (and integration) testing by its nature: most of the test cases verify that public API of the connector properly works with tarantool. In seems meaningful to locate such kind of test cases in the `test/` directory, not `unit/`, disregarding of used framework. Follows up #106. Add timeout for starting tarantool server Checking that tarantool server is started by finding pattern 'entering the event loop|will retry binding|hot standby mode' in the xlog. If server is hanging it could be killed after test timeout. Was added start-server-timeout. Now the pattern is searching until this timeout. If there is no pattern functions wait_until_started returns False (else True) and TarantoolServer.start() returns same. Default value of start-server-timeout is 90 sec. Fixes: #276 RELEASE-NOTES: synced curl 7.76.0 release Use rawset() when exporting functions to _G test: fix directory detection in lua-Harness suite A test <314-regex.t> uses `arg[0]:find'314'` to determine the name of the directory where rx_* files are located. This leads to the test failure, when lua-Harness suite runs in a directory containing "314" in its name, because the found path doesn't contain the required files. This patch fixes directory name detection. Follows up tarantool/tarantool#5844 Reviewed-by: Igor Munkin <imun@tarantool.org> Reviewed-by: Sergey Ostanevich <sergos@tarantool.org> Signed-off-by: Igor Munkin <imun@tarantool.org> Add the chdir option for make Flag --chdir for make command (with help) has been added. It's add possibility to specify a source directory of the rock when make. Merge pull request #2435 from facebook/dev v1.4.8 hotfix
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment
Tarantool version:
OS version:
Debian
Bug description:
https://github.com/google/sanitizers/wiki/AddressSanitizer
https://groups.google.com/forum/#!forum/address-sanitizer
https://github.com/google/sanitizers/wiki/AddressSanitizerFlags
https://clang.llvm.org/docs/AddressSanitizer.html#issue-suppression
NOTE: more aggressive version to run is
Exclusion rules:
https://clang.llvm.org/docs/AddressSanitizer.html#suppressing-reports-in-external-libraries
WARNING: To check the code on each edit use:
Some suites and tests were skipped from ASAN testing:
Steps to reproduce:
Optional (but very desirable):
The text was updated successfully, but these errors were encountered: