Skip to content
Snippets Groups Projects
  1. Apr 14, 2021
    • Alexander V. Tikhonov's avatar
      test: ASAN leak on feedback demon call using cURL · c5049edc
      Alexander V. Tikhonov authored
      Found that after patch set of 5 commits:
      
        aa97a185 ("feedback_daemon: count and report some events")
        e9c9832a ("feedback_daemon: generate report right before sending")
        bc15e0f0 ("feedback_daemon: send feedback on server start")
        670acf0d ("feedback_daemon: rename `send_test` to `send`")
        c5d595bc ("feedback_daemon: include server uptime in the report")
      
      began to leak feedback demon on using cURL. To avoid of it decided to
      add LSAN suppresions:
      
        1. for /lib/x86_64-linux-gnu/libcrypto.so
           leak:libcrypto.so*
        2. for /lib/x86_64-linux-gnu/libssl.so
           leak:libssl.so*
      
      Needed for tarantool/tarantool-qa#116
      c5049edc
  2. Mar 16, 2021
  3. Oct 13, 2020
    • Alexander V. Tikhonov's avatar
      asan: add leak suppressions for flaky test · 389c12b4
      Alexander V. Tikhonov authored
      Met flaky issues on test:
      
        replication/gh-3637-misc-error-on-replica-auth-fail.test.lua
      
      Found memory leaks:
      
      [093] Last 15 lines of Tarantool Log file [Instance "replica_auth"][/builds/DtQXhC5e/0/tarantool/tarantool/test/var/093_replication/replica_auth.log]:
      [093]     #3 0xa13df8 in coio_on_call /builds/DtQXhC5e/0/tarantool/tarantool/src/lib/core/coio_task.c:264:16
      [093]     #4 0xfcedbe in eio_execute /builds/DtQXhC5e/0/tarantool/tarantool/third_party/libeio/eio.c:2015:9
      [093]     #5 0xfcedbe in etp_proc /builds/DtQXhC5e/0/tarantool/tarantool/third_party/libeio/etp.c:373
      [093]     #6 0x7f8c8260ffa2 in start_thread (/lib/x86_64-linux-gnu/libpthread.so.0+0x7fa2)
      [093]
      [093] Indirect leak of 4 byte(s) in 1 object(s) allocated from:
      [093]     #0 0x525dfa in calloc (/builds/DtQXhC5e/0/tarantool/tarantool/src/tarantool+0x525dfa)
      [093]     #1 0xa2eb4a in mh_i64ptr_new /builds/DtQXhC5e/0/tarantool/tarantool/src/lib/salad/mhash.h:408:22
      [093]     #2 0x8a516d in vy_recovery_new_f /builds/DtQXhC5e/0/tarantool/tarantool/src/box/vy_log.c:2321:23
      [093]     #3 0xa13df8 in coio_on_call /builds/DtQXhC5e/0/tarantool/tarantool/src/lib/core/coio_task.c:264:16
      [093]     #4 0xfcedbe in eio_execute /builds/DtQXhC5e/0/tarantool/tarantool/third_party/libeio/eio.c:2015:9
      [093]     #5 0xfcedbe in etp_proc /builds/DtQXhC5e/0/tarantool/tarantool/third_party/libeio/etp.c:373
      [093]     #6 0x7f8c8260ffa2 in start_thread (/lib/x86_64-linux-gnu/libpthread.so.0+0x7fa2)
      
      To stabilize testing these leaks added as suppressions to asan list.
      
      Part of #5343
      389c12b4
  4. Sep 23, 2020
    • Kirill Yukhin's avatar
      coio: fix cord leak on stop · 8477b6c0
      Kirill Yukhin authored
      cord_ptr variable is calloc()-ated in coio_on_start()
      and is not free()-ed, which triggers ASAN. free() it
      in coio_on_stop().
      
      Closes #5308
      8477b6c0
  5. Sep 11, 2020
    • Alexander V. Tikhonov's avatar
      asan: leak unit/swim.test:swim_test_encryption · ee9e3aed
      Alexander V. Tikhonov authored
      
      Found leak issue:
      
        [001] +==41031==ERROR: LeakSanitizer: detected memory leaks
        [001] +
        [001] +Direct leak of 96 byte(s) in 2 object(s) allocated from:
        [001] +    #0 0x4d8e53 in __interceptor_malloc (/tnt/test/unit/swim.test+0x4d8e53)
        [001] +    #1 0x53560f in crypto_codec_new /source/src/lib/crypto/crypto.c:239:51
        [001] +    #2 0x5299c4 in swim_scheduler_set_codec /source/src/lib/swim/swim_io.c:700:30
        [001] +    #3 0x511fe6 in swim_cluster_set_codec /source/test/unit/swim_test_utils.c:251:2
        [001] +    #4 0x50b3ae in swim_test_encryption /source/test/unit/swim.c:767:2
        [001] +    #5 0x50b3ae in main_f /source/test/unit/swim.c:1123
        [001] +    #6 0x544a3b in fiber_loop /source/src/lib/core/fiber.c:869:18
        [001] +    #7 0x5a13d0 in coro_init /source/third_party/coro/coro.c:110:3
        [001] +
        [001] +SUMMARY: AddressSanitizer: 96 byte(s) leaked in 2 allocation(s).
      
      Prepared minimal issue reproducer:
      
        static void
        swim_test_encryption(void)
        {
                swim_start_test(3);
                struct swim_cluster *cluster = swim_cluster_new(2);
                swim_cluster_set_codec(cluster, CRYPTO_ALGO_AES128, CRYPTO_MODE_CBC,
                                       "1234567812345678", CRYPTO_AES128_KEY_SIZE);
                swim_cluster_delete(cluster);
                swim_finish_test();
        }
      
      Found that memory allocation for codec creation at crypto_codec_new()
      using swim_cluster_set_codec() was not any freed at the test. Added
      crypto_codec_delete() in swim_scheduler_destroy() function for it.
      
      After this fix removed susspencion on memory leak for unit/swim.test.
      
      Closes #5283
      
      Reviewed-by: default avatarVladislav Shpilevoy <v.shpilevoy@tarantool.org>
      
      Co-authored-by: default avatarVladislav Shpilevoy <v.shpilevoy@tarantool.org>
      ee9e3aed
  6. Sep 09, 2020
  7. Aug 20, 2020
  8. Apr 02, 2020
    • Alexander V. Tikhonov's avatar
      gitlab-ci: add memory leaks detection via LSAN · e737400d
      Alexander V. Tikhonov authored
      The change enables memory leaks detection to existing ASAN testing
      routine and introduces suppression files with the corresponding
      exception list:
       * address sanitizer for compile-time: asan/asan.supp
       * memory leak sanitizer for run-time: asan/lsan.supp
      
      Furthermore, added engine and replication suites for ASAN testing
      routine.
      
      Additionally to the tests blacklisted within #4359,
      'box/on_shutdown.test.lua' is also disabled since it fails the
      introduced leak check. All blacklisted tests have to be enabled
      within #4360.
      
      Close #2058
      e737400d
Loading