Uploaded image for project: 'MariaDB Server'
  1. MariaDB Server
  2. MDEV-21788

Valgrind "blocks are definitely lost" in TLS wrapper function for rocksdb::perf_context

    XMLWordPrintable

Details

    • Bug
    • Status: Open (View Workflow)
    • Major
    • Resolution: Unresolved
    • 10.2, 10.3, 10.4
    • 10.4
    • None
    • gcc (GCC) 4.8.5 20150623 (Red Hat 4.8.5-28) valgrind-3.14.0 Linux centos75-amd64 3.10.0-862.9.1.el7.x86_64 #1 SMP Mon Jul 16 16:29:36 UTC 2018 x86_64 x86_64 x86_64 GNU/Linux

    Description

      10.2 3ce49a0a

      mariabackup.xb_rocksdb_datadir_debug     [ fail ]  Found warnings/errors in server log file!
              Test ended at 2020-02-20 14:03:59
      line
      ==6948== 24 bytes in 1 blocks are definitely lost in loss record 7 of 29
      ==6948==    at 0x4C2A716: operator new(unsigned long, std::nothrow_t const&) (vg_replace_malloc.c:387)
      ==6948==    by 0x683FC5D: __cxa_thread_atexit (in /usr/lib64/libstdc++.so.6.0.19)
      ==6948==    by 0xF91D866: __tls_init (perf_context.cc:18)
      ==6948==    by 0xF764F9C: TLS wrapper function for rocksdb::perf_context (in /home/buildbot/10.2/storage/rocksdb/ha_rocksdb.so)
      ==6948==    by 0xF917D7B: rocksdb::InstrumentedMutex::Lock() (instrumented_mutex.cc:24)
      ==6948==    by 0xF785949: rocksdb::InstrumentedMutexLock::InstrumentedMutexLock(rocksdb::InstrumentedMutex*) (instrumented_mutex.h:56)
      ==6948==    by 0xF8F75C0: rocksdb::DeleteScheduler::BackgroundEmptyTrash() (delete_scheduler.cc:192)
      ==6948==    by 0xF8FCC64: void std::_Mem_fn<void (rocksdb::DeleteScheduler::*)()>::operator()<, void>(rocksdb::DeleteScheduler*) const (functional:601)
      ==6948==    by 0xF8FCBB4: void std::_Bind_simple<std::_Mem_fn<void (rocksdb::DeleteScheduler::*)()> (rocksdb::DeleteScheduler*)>::_M_invoke<0ul>(std::_Index_tuple<0ul>) (functional:1732)
      ==6948==    by 0xF8FCABC: std::_Bind_simple<std::_Mem_fn<void (rocksdb::DeleteScheduler::*)()> (rocksdb::DeleteScheduler*)>::operator()() (functional:1720)
      ==6948==    by 0xF8FCA55: std::thread::_Impl<std::_Bind_simple<std::_Mem_fn<void (rocksdb::DeleteScheduler::*)()> (rocksdb::DeleteScheduler*)> >::_M_run() (thread:115)
      ==6948==    by 0x689806F: ??? (in /usr/lib64/libstdc++.so.6.0.19)
      ==6948==    by 0x4E3EE24: start_thread (in /usr/lib64/libpthread-2.17.so)
      ==6948==    by 0x7100BAC: clone (in /usr/lib64/libc-2.17.so)
      ==6948== 24 bytes in 1 blocks are definitely lost in loss record 8 of 29
      ==6948==    at 0x4C2A716: operator new(unsigned long, std::nothrow_t const&) (vg_replace_malloc.c:387)
      ==6948==    by 0x683FC5D: __cxa_thread_atexit (in /usr/lib64/libstdc++.so.6.0.19)
      ==6948==    by 0xF91D866: __tls_init (perf_context.cc:18)
      ==6948==    by 0xF764F9C: TLS wrapper function for rocksdb::perf_context (in /home/buildbot/10.2/storage/rocksdb/ha_rocksdb.so)
      ==6948==    by 0xF917D7B: rocksdb::InstrumentedMutex::Lock() (instrumented_mutex.cc:24)
      ==6948==    by 0xF785949: rocksdb::InstrumentedMutexLock::InstrumentedMutexLock(rocksdb::InstrumentedMutex*) (instrumented_mutex.h:56)
      ==6948==    by 0xF7CA3E7: rocksdb::DBImpl::BackgroundCallFlush(rocksdb::Env::Priority) (db_impl_compaction_flush.cc:2156)
      ==6948==    by 0xF7C9436: rocksdb::DBImpl::BGWorkFlush(void*) (db_impl_compaction_flush.cc:2013)
      ==6948==    by 0xFB00E6B: void std::_Bind<void (*(void*))(void*)>::__call<void, , 0ul>(std::tuple<>&&, std::_Index_tuple<0ul>) (functional:1296)
      ==6948==    by 0xFB004FF: void std::_Bind<void (*(void*))(void*)>::operator()<, void>() (functional:1355)
      ==6948==    by 0xFAFF3CE: std::_Function_handler<void (), std::_Bind<void (*(void*))(void*)> >::_M_invoke(std::_Any_data const&) (functional:2071)
      ==6948==    by 0xF6C756D: std::function<void ()>::operator()() const (functional:2471)
      ==6948==    by 0xFAFB9C0: rocksdb::ThreadPoolImpl::Impl::BGThread(unsigned long) (threadpool_imp.cc:266)
      ==6948==    by 0xFAFBB37: rocksdb::ThreadPoolImpl::Impl::BGThreadWrapper(void*) (threadpool_imp.cc:307)
      ==6948==    by 0xFB0253D: void* std::_Bind_simple<void* (*(rocksdb::BGThreadMetadata*))(void*)>::_M_invoke<0ul>(std::_Index_tuple<0ul>) (functional:1732)
      ==6948==    by 0xFB02448: std::_Bind_simple<void* (*(rocksdb::BGThreadMetadata*))(void*)>::operator()() (functional:1720)
      ==6948== 112 bytes in 1 blocks are still reachable in loss record 19 of 29
      ==6948==    at 0x4C2A716: operator new(unsigned long, std::nothrow_t const&) (vg_replace_malloc.c:387)
      ==6948==    by 0xC37712: os_event_create(char const*) (os0event.cc:434)
      ==6948==    by 0xD2C064: rw_lock_create_func(rw_lock_t*, latch_level_t, char const*, unsigned int) (sync0rw.cc:237)
      ==6948==    by 0xD184B7: pfs_rw_lock_create_func(unsigned int, rw_lock_t*, latch_level_t, char const*, unsigned int) (sync0rw.ic:508)
      ==6948==    by 0xD1D37F: srv_purge_coordinator_thread (srv0srv.cc:2861)
      ==6948==    by 0x4E3EE24: start_thread (in /usr/lib64/libpthread-2.17.so)
      ==6948==    by 0x7100BAC: clone (in /usr/lib64/libc-2.17.so)
      ==6948== 112 bytes in 1 blocks are still reachable in loss record 20 of 29
      ==6948==    at 0x4C2A716: operator new(unsigned long, std::nothrow_t const&) (vg_replace_malloc.c:387)
      ==6948==    by 0xC37712: os_event_create(char const*) (os0event.cc:434)
      ==6948==    by 0xD2C076: rw_lock_create_func(rw_lock_t*, latch_level_t, char const*, unsigned int) (sync0rw.cc:238)
      ==6948==    by 0xD184B7: pfs_rw_lock_create_func(unsigned int, rw_lock_t*, latch_level_t, char const*, unsigned int) (sync0rw.ic:508)
      ==6948==    by 0xD1D37F: srv_purge_coordinator_thread (srv0srv.cc:2861)
      ==6948==    by 0x4E3EE24: start_thread (in /usr/lib64/libpthread-2.17.so)
      ==6948==    by 0x7100BAC: clone (in /usr/lib64/libc-2.17.so)
      ==6948== 336 bytes in 3 blocks are still reachable in loss record 23 of 29
      ==6948==    at 0x4C2A716: operator new(unsigned long, std::nothrow_t const&) (vg_replace_malloc.c:387)
      ==6948==    by 0xC37712: os_event_create(char const*) (os0event.cc:434)
      ==6948==    by 0xD2C064: rw_lock_create_func(rw_lock_t*, latch_level_t, char const*, unsigned int) (sync0rw.cc:237)
      ==6948==    by 0xD184B7: pfs_rw_lock_create_func(unsigned int, rw_lock_t*, latch_level_t, char const*, unsigned int) (sync0rw.ic:508)
      ==6948==    by 0xD1CA95: srv_worker_thread (srv0srv.cc:2607)
      ==6948==    by 0x4E3EE24: start_thread (in /usr/lib64/libpthread-2.17.so)
      ==6948==    by 0x7100BAC: clone (in /usr/lib64/libc-2.17.so)
      ==6948== 336 bytes in 3 blocks are still reachable in loss record 24 of 29
      ==6948==    at 0x4C2A716: operator new(unsigned long, std::nothrow_t const&) (vg_replace_malloc.c:387)
      ==6948==    by 0xC37712: os_event_create(char const*) (os0event.cc:434)
      ==6948==    by 0xD2C076: rw_lock_create_func(rw_lock_t*, latch_level_t, char const*, unsigned int) (sync0rw.cc:238)
      ==6948==    by 0xD184B7: pfs_rw_lock_create_func(unsigned int, rw_lock_t*, latch_level_t, char const*, unsigned int) (sync0rw.ic:508)
      ==6948==    by 0xD1CA95: srv_worker_thread (srv0srv.cc:2607)
      ==6948==    by 0x4E3EE24: start_thread (in /usr/lib64/libpthread-2.17.so)
      ==6948==    by 0x7100BAC: clone (in /usr/lib64/libc-2.17.so)
      ^ Found warnings in /home/buildbot/10.2/mysql-test/var/log/mysqld.1.err
      ok
       
       - saving '/home/buildbot/10.2/mysql-test/var/log/mariabackup.xb_rocksdb_datadir_debug/' to '/home/buildbot/10.2/mysql-test/var/log/mariabackup.xb_rocksdb_datadir_debug/'
      ***Warnings generated in error logs during shutdown after running tests: mariabackup.xb_rocksdb_datadir_debug
       
      ==7040== 24 bytes in 1 blocks are definitely lost in loss record 7 of 30
      ==7040==    at 0x4C2A716: operator new(unsigned long, std::nothrow_t const&) (vg_replace_malloc.c:387)
      ==7040==    by 0x683FC5D: __cxa_thread_atexit (in /usr/lib64/libstdc++.so.6.0.19)
      ==7040==    by 0xF91D866: __tls_init (perf_context.cc:18)
      ==7040==    by 0xF764F9C: TLS wrapper function for rocksdb::perf_context (in /home/buildbot/10.2/storage/rocksdb/ha_rocksdb.so)
      ==7040==    by 0xF917D7B: rocksdb::InstrumentedMutex::Lock() (instrumented_mutex.cc:24)
      ==7040==    by 0xF785949: rocksdb::InstrumentedMutexLock::InstrumentedMutexLock(rocksdb::InstrumentedMutex*) (instrumented_mutex.h:56)
      ==7040==    by 0xF8F75C0: rocksdb::DeleteScheduler::BackgroundEmptyTrash() (delete_scheduler.cc:192)
      ==7040==    by 0xF8FCC64: void std::_Mem_fn<void (rocksdb::DeleteScheduler::*)()>::operator()<, void>(rocksdb::DeleteScheduler*) const (functional:601)
      ==7040==    by 0xF8FCBB4: void std::_Bind_simple<std::_Mem_fn<void (rocksdb::DeleteScheduler::*)()> (rocksdb::DeleteScheduler*)>::_M_invoke<0ul>(std::_Index_tuple<0ul>) (functional:1732)
      ==7040==    by 0xF8FCABC: std::_Bind_simple<std::_Mem_fn<void (rocksdb::DeleteScheduler::*)()> (rocksdb::DeleteScheduler*)>::operator()() (functional:1720)
      ==7040==    by 0xF8FCA55: std::thread::_Impl<std::_Bind_simple<std::_Mem_fn<void (rocksdb::DeleteScheduler::*)()> (rocksdb::DeleteScheduler*)> >::_M_run() (thread:115)
      ==7040==    by 0x689806F: ??? (in /usr/lib64/libstdc++.so.6.0.19)
      ==7040==    by 0x4E3EE24: start_thread (in /usr/lib64/libpthread-2.17.so)
      ==7040==    by 0x7100BAC: clone (in /usr/lib64/libc-2.17.so)
      ==7040== 24 bytes in 1 blocks are definitely lost in loss record 8 of 30
      ==7040==    at 0x4C2A716: operator new(unsigned long, std::nothrow_t const&) (vg_replace_malloc.c:387)
      ==7040==    by 0x683FC5D: __cxa_thread_atexit (in /usr/lib64/libstdc++.so.6.0.19)
      ==7040==    by 0xF91D866: __tls_init (perf_context.cc:18)
      ==7040==    by 0xF764F9C: TLS wrapper function for rocksdb::perf_context (in /home/buildbot/10.2/storage/rocksdb/ha_rocksdb.so)
      ==7040==    by 0xF917D7B: rocksdb::InstrumentedMutex::Lock() (instrumented_mutex.cc:24)
      ==7040==    by 0xF785949: rocksdb::InstrumentedMutexLock::InstrumentedMutexLock(rocksdb::InstrumentedMutex*) (instrumented_mutex.h:56)
      ==7040==    by 0xF7CABC0: rocksdb::DBImpl::BackgroundCallCompaction(rocksdb::DBImpl::PrepickedCompaction*, rocksdb::Env::Priority) (db_impl_compaction_flush.cc:2234)
      ==7040==    by 0xF7C95A0: rocksdb::DBImpl::BGWorkCompaction(void*) (db_impl_compaction_flush.cc:2025)
      ==7040==    by 0xFB00E6B: void std::_Bind<void (*(void*))(void*)>::__call<void, , 0ul>(std::tuple<>&&, std::_Index_tuple<0ul>) (functional:1296)
      ==7040==    by 0xFB004FF: void std::_Bind<void (*(void*))(void*)>::operator()<, void>() (functional:1355)
      ==7040==    by 0xFAFF3CE: std::_Function_handler<void (), std::_Bind<void (*(void*))(void*)> >::_M_invoke(std::_Any_data const&) (functional:2071)
      ==7040==    by 0xF6C756D: std::function<void ()>::operator()() const (functional:2471)
      ==7040==    by 0xFAFB9C0: rocksdb::ThreadPoolImpl::Impl::BGThread(unsigned long) (threadpool_imp.cc:266)
      ==7040==    by 0xFAFBB37: rocksdb::ThreadPoolImpl::Impl::BGThreadWrapper(void*) (threadpool_imp.cc:307)
      ==7040==    by 0xFB0253D: void* std::_Bind_simple<void* (*(rocksdb::BGThreadMetadata*))(void*)>::_M_invoke<0ul>(std::_Index_tuple<0ul>) (functional:1732)
      ==7040==    by 0xFB02448: std::_Bind_simple<void* (*(rocksdb::BGThreadMetadata*))(void*)>::operator()() (functional:1720)
      ==7040== 24 bytes in 1 blocks are definitely lost in loss record 9 of 30
      ==7040==    at 0x4C2A716: operator new(unsigned long, std::nothrow_t const&) (vg_replace_malloc.c:387)
      ==7040==    by 0x683FC5D: __cxa_thread_atexit (in /usr/lib64/libstdc++.so.6.0.19)
      ==7040==    by 0xF91D866: __tls_init (perf_context.cc:18)
      ==7040==    by 0xF764F9C: TLS wrapper function for rocksdb::perf_context (in /home/buildbot/10.2/storage/rocksdb/ha_rocksdb.so)
      ==7040==    by 0xF917D7B: rocksdb::InstrumentedMutex::Lock() (instrumented_mutex.cc:24)
      ==7040==    by 0xF785949: rocksdb::InstrumentedMutexLock::InstrumentedMutexLock(rocksdb::InstrumentedMutex*) (instrumented_mutex.h:56)
      ==7040==    by 0xF7CA3E7: rocksdb::DBImpl::BackgroundCallFlush(rocksdb::Env::Priority) (db_impl_compaction_flush.cc:2156)
      ==7040==    by 0xF7C9436: rocksdb::DBImpl::BGWorkFlush(void*) (db_impl_compaction_flush.cc:2013)
      ==7040==    by 0xFB00E6B: void std::_Bind<void (*(void*))(void*)>::__call<void, , 0ul>(std::tuple<>&&, std::_Index_tuple<0ul>) (functional:1296)
      ==7040==    by 0xFB004FF: void std::_Bind<void (*(void*))(void*)>::operator()<, void>() (functional:1355)
      ==7040==    by 0xFAFF3CE: std::_Function_handler<void (), std::_Bind<void (*(void*))(void*)> >::_M_invoke(std::_Any_data const&) (functional:2071)
      ==7040==    by 0xF6C756D: std::function<void ()>::operator()() const (functional:2471)
      ==7040==    by 0xFAFB9C0: rocksdb::ThreadPoolImpl::Impl::BGThread(unsigned long) (threadpool_imp.cc:266)
      ==7040==    by 0xFAFBB37: rocksdb::ThreadPoolImpl::Impl::BGThreadWrapper(void*) (threadpool_imp.cc:307)
      ==7040==    by 0xFB0253D: void* std::_Bind_simple<void* (*(rocksdb::BGThreadMetadata*))(void*)>::_M_invoke<0ul>(std::_Index_tuple<0ul>) (functional:1732)
      ==7040==    by 0xFB02448: std::_Bind_simple<void* (*(rocksdb::BGThreadMetadata*))(void*)>::operator()() (functional:1720)
      ==7040== 112 bytes in 1 blocks are still reachable in loss record 20 of 30
      ==7040==    at 0x4C2A716: operator new(unsigned long, std::nothrow_t const&) (vg_replace_malloc.c:387)
      ==7040==    by 0xC37712: os_event_create(char const*) (os0event.cc:434)
      ==7040==    by 0xD2C064: rw_lock_create_func(rw_lock_t*, latch_level_t, char const*, unsigned int) (sync0rw.cc:237)
      ==7040==    by 0xD184B7: pfs_rw_lock_create_func(unsigned int, rw_lock_t*, latch_level_t, char const*, unsigned int) (sync0rw.ic:508)
      ==7040==    by 0xD1D37F: srv_purge_coordinator_thread (srv0srv.cc:2861)
      ==7040==    by 0x4E3EE24: start_thread (in /usr/lib64/libpthread-2.17.so)
      ==7040==    by 0x7100BAC: clone (in /usr/lib64/libc-2.17.so)
      ==7040== 112 bytes in 1 blocks are still reachable in loss record 21 of 30
      ==7040==    at 0x4C2A716: operator new(unsigned long, std::nothrow_t const&) (vg_replace_malloc.c:387)
      ==7040==    by 0xC37712: os_event_create(char const*) (os0event.cc:434)
      ==7040==    by 0xD2C076: rw_lock_create_func(rw_lock_t*, latch_level_t, char const*, unsigned int) (sync0rw.cc:238)
      ==7040==    by 0xD184B7: pfs_rw_lock_create_func(unsigned int, rw_lock_t*, latch_level_t, char const*, unsigned int) (sync0rw.ic:508)
      ==7040==    by 0xD1D37F: srv_purge_coordinator_thread (srv0srv.cc:2861)
      ==7040==    by 0x4E3EE24: start_thread (in /usr/lib64/libpthread-2.17.so)
      ==7040==    by 0x7100BAC: clone (in /usr/lib64/libc-2.17.so)
      ==7040== 336 bytes in 3 blocks are still reachable in loss record 24 of 30
      ==7040==    at 0x4C2A716: operator new(unsigned long, std::nothrow_t const&) (vg_replace_malloc.c:387)
      ==7040==    by 0xC37712: os_event_create(char const*) (os0event.cc:434)
      ==7040==    by 0xD2C064: rw_lock_create_func(rw_lock_t*, latch_level_t, char const*, unsigned int) (sync0rw.cc:237)
      ==7040==    by 0xD184B7: pfs_rw_lock_create_func(unsigned int, rw_lock_t*, latch_level_t, char const*, unsigned int) (sync0rw.ic:508)
      ==7040==    by 0xD1CA95: srv_worker_thread (srv0srv.cc:2607)
      ==7040==    by 0x4E3EE24: start_thread (in /usr/lib64/libpthread-2.17.so)
      ==7040==    by 0x7100BAC: clone (in /usr/lib64/libc-2.17.so)
      ==7040== 336 bytes in 3 blocks are still reachable in loss record 25 of 30
      ==7040==    at 0x4C2A716: operator new(unsigned long, std::nothrow_t const&) (vg_replace_malloc.c:387)
      ==7040==    by 0xC37712: os_event_create(char const*) (os0event.cc:434)
      ==7040==    by 0xD2C076: rw_lock_create_func(rw_lock_t*, latch_level_t, char const*, unsigned int) (sync0rw.cc:238)
      ==7040==    by 0xD184B7: pfs_rw_lock_create_func(unsigned int, rw_lock_t*, latch_level_t, char const*, unsigned int) (sync0rw.ic:508)
      ==7040==    by 0xD1CA95: srv_worker_thread (srv0srv.cc:2607)
      ==7040==    by 0x4E3EE24: start_thread (in /usr/lib64/libpthread-2.17.so)
      ==7040==    by 0x7100BAC: clone (in /usr/lib64/libc-2.17.so)
      

      Reproducible on 10.2-10.5, on CentOS 7.5/7.6. The above is with gcc 4.8.5 (which is default for CentOS 7.x).

      It also seems to be reproducible with devtoolset-6 (gcc 6.3.1) and devtoolset-7 (gcc 7.3.1), but I don't know if it's even a valid environment. I can't reproduce it on Debian Stretch which has gcc 6.3.0.

      10.4 adcfea71 with devtoolset-6

      ==5713== 16 bytes in 1 blocks are still reachable in loss record 1 of 29
      ==5713==    at 0x4C2A1A3: operator new(unsigned long) (vg_replace_malloc.c:334)
      ==5713==    by 0xF7506F5: __gnu_cxx::new_allocator<std::__detail::_Hash_node_base*>::allocate(unsigned long, void const*) (new_allocator.h:104)
      ==5713==    by 0xF749C0C: std::allocator_traits<std::allocator<std::__detail::_Hash_node_base*> >::allocate(std::allocator<std::__detail::_Hash_node_base*>&, unsigned long) (alloc_traits.h:436)
      ==5713==    by 0xFB3FDDD: std::__detail::_Hashtable_alloc<std::allocator<std::__detail::_Hash_node<std::pair<void const* const, std::unordered_set<void const*, std::hash<void const*>, std::equal_to<void const*>, std::allocator<void const*> > >, false> > >::_M_allocate_buckets(unsigned long) (hashtable_policy.h:1994)
      ==5713==    by 0xFB3F428: std::_Hashtable<void const*, std::pair<void const* const, std::unordered_set<void const*, std::hash<void const*>, std::equal_to<void const*>, std::allocator<void const*> > >, std::allocator<std::pair<void const* const, std::unordered_set<void const*, std::hash<void const*>, std::equal_to<void const*>, std::allocator<void const*> > > >, std::__detail::_Select1st, std::equal_to<void const*>, std::hash<void const*>, std::__detail::_Mod_range_hashing, std::__detail::_Default_ranged_hash, std::__detail::_Prime_rehash_policy, std::__detail::_Hashtable_traits<false, false, true> >::_M_allocate_buckets(unsigned long) (hashtable.h:346)
      ==5713==    by 0xFB3E3E6: std::_Hashtable<void const*, std::pair<void const* const, std::unordered_set<void const*, std::hash<void const*>, std::equal_to<void const*>, std::allocator<void const*> > >, std::allocator<std::pair<void const* const, std::unordered_set<void const*, std::hash<void const*>, std::equal_to<void const*>, std::allocator<void const*> > > >, std::__detail::_Select1st, std::equal_to<void const*>, std::hash<void const*>, std::__detail::_Mod_range_hashing, std::__detail::_Default_ranged_hash, std::__detail::_Prime_rehash_policy, std::__detail::_Hashtable_traits<false, false, true> >::_M_rehash_aux(unsigned long, std::integral_constant<bool, true>) (hashtable.h:1961)
      ==5713==    by 0xFB3CFB6: std::_Hashtable<void const*, std::pair<void const* const, std::unordered_set<void const*, std::hash<void const*>, std::equal_to<void const*>, std::allocator<void const*> > >, std::allocator<std::pair<void const* const, std::unordered_set<void const*, std::hash<void const*>, std::equal_to<void const*>, std::allocator<void const*> > > >, std::__detail::_Select1st, std::equal_to<void const*>, std::hash<void const*>, std::__detail::_Mod_range_hashing, std::__detail::_Default_ranged_hash, std::__detail::_Prime_rehash_policy, std::__detail::_Hashtable_traits<false, false, true> >::_M_rehash(unsigned long, unsigned long const&) (hashtable.h:1940)
      ==5713==    by 0xFB3BE30: std::_Hashtable<void const*, std::pair<void const* const, std::unordered_set<void const*, std::hash<void const*>, std::equal_to<void const*>, std::allocator<void const*> > >, std::allocator<std::pair<void const* const, std::unordered_set<void const*, std::hash<void const*>, std::equal_to<void const*>, std::allocator<void const*> > > >, std::__detail::_Select1st, std::equal_to<void const*>, std::hash<void const*>, std::__detail::_Mod_range_hashing, std::__detail::_Default_ranged_hash, std::__detail::_Prime_rehash_policy, std::__detail::_Hashtable_traits<false, false, true> >::_M_insert_unique_node(unsigned long, unsigned long, std::__detail::_Hash_node<std::pair<void const* const, std::unordered_set<void const*, std::hash<void const*>, std::equal_to<void const*>, std::allocator<void const*> > >, false>*) (hashtable.h:1587)
      ==5713==    by 0xFB3AF78: std::__detail::_Map_base<void const*, std::pair<void const* const, std::unordered_set<void const*, std::hash<void const*>, std::equal_to<void const*>, std::allocator<void const*> > >, std::allocator<std::pair<void const* const, std::unordered_set<void const*, std::hash<void const*>, std::equal_to<void const*>, std::allocator<void const*> > > >, std::__detail::_Select1st, std::equal_to<void const*>, std::hash<void const*>, std::__detail::_Mod_range_hashing, std::__detail::_Default_ranged_hash, std::__detail::_Prime_rehash_policy, std::__detail::_Hashtable_traits<false, false, true>, true>::operator[](void const* const&) (hashtable_policy.h:598)
      ==5713==    by 0xFB3A56C: std::unordered_map<void const*, std::unordered_set<void const*, std::hash<void const*>, std::equal_to<void const*>, std::allocator<void const*> >, std::hash<void const*>, std::equal_to<void const*>, std::allocator<std::pair<void const* const, std::unordered_set<void const*, std::hash<void const*>, std::equal_to<void const*>, std::allocator<void const*> > > > >::operator[](void const* const&) (unordered_map.h:904)
      ==5713==    by 0xFB38634: rocksdb::ThreadStatusUpdater::NewColumnFamilyInfo(void const*, std::string const&, void const*, std::string const&) (thread_status_updater.cc:228)
      ==5713==    by 0xF993504: rocksdb::ThreadStatusUtil::NewColumnFamilyInfo(rocksdb::DB const*, rocksdb::ColumnFamilyData const*, std::string const&, rocksdb::Env const*) (thread_status_util.cc:129)
      ==5713==    by 0xF7DD07C: rocksdb::DBImpl::NewThreadStatusCfInfo(rocksdb::ColumnFamilyData*) const (db_impl.cc:3399)
      ==5713==    by 0xF862949: rocksdb::DBImpl::Open(rocksdb::DBOptions const&, std::string const&, std::vector<rocksdb::ColumnFamilyDescriptor, std::allocator<rocksdb::ColumnFamilyDescriptor> > const&, std::vector<rocksdb::ColumnFamilyHandle*, std::allocator<rocksdb::ColumnFamilyHandle*> >*, rocksdb::DB**, bool, bool) (db_impl_open.cc:1322)
      ==5713==    by 0xFA77FB5: rocksdb::TransactionDB::Open(rocksdb::DBOptions const&, rocksdb::TransactionDBOptions const&, std::string const&, std::vector<rocksdb::ColumnFamilyDescriptor, std::allocator<rocksdb::ColumnFamilyDescriptor> > const&, std::vector<rocksdb::ColumnFamilyHandle*, std::allocator<rocksdb::ColumnFamilyHandle*> >*, rocksdb::TransactionDB**) (pessimistic_transaction_db.cc:249)
      ==5713==    by 0xF6EAA70: myrocks::rocksdb_init_func(void*) (ha_rocksdb.cc:5615)
      ==5713== 
      ==5713== 24 bytes in 1 blocks are definitely lost in loss record 8 of 29
      ==5713==    at 0x4C2A3F6: operator new(unsigned long, std::nothrow_t const&) (vg_replace_malloc.c:377)
      ==5713==    by 0x683DC5D: __cxa_thread_atexit (in /usr/lib64/libstdc++.so.6.0.19)
      ==5713==    by 0xF9879E5: __tls_init (perf_context.cc:18)
      ==5713==    by 0xF7C6F79: TLS wrapper function for rocksdb::perf_context (in /home/buildbot/10.4/storage/rocksdb/ha_rocksdb.so)
      ==5713==    by 0xF981F4D: rocksdb::InstrumentedMutex::Lock() (instrumented_mutex.cc:24)
      ==5713==    by 0xF7E9403: rocksdb::InstrumentedMutexLock::InstrumentedMutexLock(rocksdb::InstrumentedMutex*) (instrumented_mutex.h:56)
      ==5713==    by 0xF961258: rocksdb::DeleteScheduler::BackgroundEmptyTrash() (delete_scheduler.cc:192)
      ==5713==    by 0xF966399: void std::__invoke_impl<void, void (rocksdb::DeleteScheduler::* const&)(), rocksdb::DeleteScheduler*>(std::__invoke_memfun_deref, void (rocksdb::DeleteScheduler::* const&)(), rocksdb::DeleteScheduler*&&) (functional:227)
      ==5713==    by 0xF966326: std::result_of<void (rocksdb::DeleteScheduler::* const&(rocksdb::DeleteScheduler*&&))()>::type std::__invoke<void (rocksdb::DeleteScheduler::* const&)(), rocksdb::DeleteScheduler*>(void (rocksdb::DeleteScheduler::* const&)(), rocksdb::DeleteScheduler*&&) (functional:251)
      ==5713==    by 0xF9662D7: decltype (__invoke((*this)._M_pmf, (forward<rocksdb::DeleteScheduler*>)({parm#1}))) std::_Mem_fn_base<void (rocksdb::DeleteScheduler::*)(), true>::operator()<rocksdb::DeleteScheduler*>(rocksdb::DeleteScheduler*&&) const (functional:604)
      ==5713==    by 0xF9662A2: void std::_Bind_simple<std::_Mem_fn<void (rocksdb::DeleteScheduler::*)()> (rocksdb::DeleteScheduler*)>::_M_invoke<0ul>(std::_Index_tuple<0ul>) (functional:1391)
      ==5713==    by 0xF9661F0: std::_Bind_simple<std::_Mem_fn<void (rocksdb::DeleteScheduler::*)()> (rocksdb::DeleteScheduler*)>::operator()() (functional:1380)
      ==5713==    by 0xF9661CF: std::thread::_State_impl<std::_Bind_simple<std::_Mem_fn<void (rocksdb::DeleteScheduler::*)()> (rocksdb::DeleteScheduler*)> >::_M_run() (thread:197)
      ==5713==    by 0xFB74C0E: execute_native_thread_routine (in /home/buildbot/10.4/storage/rocksdb/ha_rocksdb.so)
      ==5713==    by 0x4E3CE24: start_thread (in /usr/lib64/libpthread-2.17.so)
      ==5713==    by 0x70FEBAC: clone (in /usr/lib64/libc-2.17.so)
      ==5713== 
      ==5713== 24 bytes in 1 blocks are definitely lost in loss record 9 of 29
      ==5713==    at 0x4C2A3F6: operator new(unsigned long, std::nothrow_t const&) (vg_replace_malloc.c:377)
      ==5713==    by 0x683DC5D: __cxa_thread_atexit (in /usr/lib64/libstdc++.so.6.0.19)
      ==5713==    by 0xF9879E5: __tls_init (perf_context.cc:18)
      ==5713==    by 0xF7C6F79: TLS wrapper function for rocksdb::perf_context (in /home/buildbot/10.4/storage/rocksdb/ha_rocksdb.so)
      ==5713==    by 0xF981F4D: rocksdb::InstrumentedMutex::Lock() (instrumented_mutex.cc:24)
      ==5713==    by 0xF7E9403: rocksdb::InstrumentedMutexLock::InstrumentedMutexLock(rocksdb::InstrumentedMutex*) (instrumented_mutex.h:56)
      ==5713==    by 0xF830CCF: rocksdb::DBImpl::BackgroundCallCompaction(rocksdb::DBImpl::PrepickedCompaction*, rocksdb::Env::Priority) (db_impl_compaction_flush.cc:2234)
      ==5713==    by 0xF82F653: rocksdb::DBImpl::BGWorkCompaction(void*) (db_impl_compaction_flush.cc:2025)
      ==5713==    by 0xFB7200F: void std::_Bind<void (*(void*))(void*)>::__call<void, , 0ul>(std::tuple<>&&, std::_Index_tuple<0ul>) (functional:934)
      ==5713==    by 0xFB71445: void std::_Bind<void (*(void*))(void*)>::operator()<, void>() (functional:993)
      ==5713==    by 0xFB70774: std::_Function_handler<void (), std::_Bind<void (*(void*))(void*)> >::_M_invoke(std::_Any_data const&) (functional:1731)
      ==5713==    by 0xF722331: std::function<void ()>::operator()() const (functional:2127)
      ==5713==    by 0xFB6CF8B: rocksdb::ThreadPoolImpl::Impl::BGThread(unsigned long) (threadpool_imp.cc:266)
      ==5713==    by 0xFB6D104: rocksdb::ThreadPoolImpl::Impl::BGThreadWrapper(void*) (threadpool_imp.cc:307)
      ==5713==    by 0xFB730CD: void* std::_Bind_simple<void* (*(rocksdb::BGThreadMetadata*))(void*)>::_M_invoke<0ul>(std::_Index_tuple<0ul>) (functional:1391)
      ==5713==    by 0xFB7301E: std::_Bind_simple<void* (*(rocksdb::BGThreadMetadata*))(void*)>::operator()() (functional:1380)
      ==5713== 
      ==5713== 24 bytes in 1 blocks are definitely lost in loss record 10 of 29
      ==5713==    at 0x4C2A3F6: operator new(unsigned long, std::nothrow_t const&) (vg_replace_malloc.c:377)
      ==5713==    by 0x683DC5D: __cxa_thread_atexit (in /usr/lib64/libstdc++.so.6.0.19)
      ==5713==    by 0xF9879E5: __tls_init (perf_context.cc:18)
      ==5713==    by 0xF7C6F79: TLS wrapper function for rocksdb::perf_context (in /home/buildbot/10.4/storage/rocksdb/ha_rocksdb.so)
      ==5713==    by 0xF981F4D: rocksdb::InstrumentedMutex::Lock() (instrumented_mutex.cc:24)
      ==5713==    by 0xF7E9403: rocksdb::InstrumentedMutexLock::InstrumentedMutexLock(rocksdb::InstrumentedMutex*) (instrumented_mutex.h:56)
      ==5713==    by 0xF8304CC: rocksdb::DBImpl::BackgroundCallFlush(rocksdb::Env::Priority) (db_impl_compaction_flush.cc:2156)
      ==5713==    by 0xF82F4E3: rocksdb::DBImpl::BGWorkFlush(void*) (db_impl_compaction_flush.cc:2013)
      ==5713==    by 0xFB7200F: void std::_Bind<void (*(void*))(void*)>::__call<void, , 0ul>(std::tuple<>&&, std::_Index_tuple<0ul>) (functional:934)
      ==5713==    by 0xFB71445: void std::_Bind<void (*(void*))(void*)>::operator()<, void>() (functional:993)
      ==5713==    by 0xFB70774: std::_Function_handler<void (), std::_Bind<void (*(void*))(void*)> >::_M_invoke(std::_Any_data const&) (functional:1731)
      ==5713==    by 0xF722331: std::function<void ()>::operator()() const (functional:2127)
      ==5713==    by 0xFB6CF8B: rocksdb::ThreadPoolImpl::Impl::BGThread(unsigned long) (threadpool_imp.cc:266)
      ==5713==    by 0xFB6D104: rocksdb::ThreadPoolImpl::Impl::BGThreadWrapper(void*) (threadpool_imp.cc:307)
      ==5713==    by 0xFB730CD: void* std::_Bind_simple<void* (*(rocksdb::BGThreadMetadata*))(void*)>::_M_invoke<0ul>(std::_Index_tuple<0ul>) (functional:1391)
      ==5713==    by 0xFB7301E: std::_Bind_simple<void* (*(rocksdb::BGThreadMetadata*))(void*)>::operator()() (functional:1380)
      ==5713== 
      ==5713== 40 bytes in 1 blocks are still reachable in loss record 16 of 29
      ==5713==    at 0x4C2A1A3: operator new(unsigned long) (vg_replace_malloc.c:334)
      ==5713==    by 0xF7506F5: __gnu_cxx::new_allocator<std::__detail::_Hash_node_base*>::allocate(unsigned long, void const*) (new_allocator.h:104)
      ==5713==    by 0xF749C0C: std::allocator_traits<std::allocator<std::__detail::_Hash_node_base*> >::allocate(std::allocator<std::__detail::_Hash_node_base*>&, unsigned long) (alloc_traits.h:436)
      ==5713==    by 0xFB401D9: std::__detail::_Hashtable_alloc<std::allocator<std::__detail::_Hash_node<std::pair<void const* const, rocksdb::ConstantColumnFamilyInfo>, false> > >::_M_allocate_buckets(unsigned long) (hashtable_policy.h:1994)
      ==5713==    by 0xFB3FAF0: std::_Hashtable<void const*, std::pair<void const* const, rocksdb::ConstantColumnFamilyInfo>, std::allocator<std::pair<void const* const, rocksdb::ConstantColumnFamilyInfo> >, std::__detail::_Select1st, std::equal_to<void const*>, std::hash<void const*>, std::__detail::_Mod_range_hashing, std::__detail::_Default_ranged_hash, std::__detail::_Prime_rehash_policy, std::__detail::_Hashtable_traits<false, false, true> >::_M_allocate_buckets(unsigned long) (hashtable.h:346)
      ==5713==    by 0xFB3F132: std::_Hashtable<void const*, std::pair<void const* const, rocksdb::ConstantColumnFamilyInfo>, std::allocator<std::pair<void const* const, rocksdb::ConstantColumnFamilyInfo> >, std::__detail::_Select1st, std::equal_to<void const*>, std::hash<void const*>, std::__detail::_Mod_range_hashing, std::__detail::_Default_ranged_hash, std::__detail::_Prime_rehash_policy, std::__detail::_Hashtable_traits<false, false, true> >::_M_rehash_aux(unsigned long, std::integral_constant<bool, true>) (hashtable.h:1961)
      ==5713==    by 0xFB3E044: std::_Hashtable<void const*, std::pair<void const* const, rocksdb::ConstantColumnFamilyInfo>, std::allocator<std::pair<void const* const, rocksdb::ConstantColumnFamilyInfo> >, std::__detail::_Select1st, std::equal_to<void const*>, std::hash<void const*>, std::__detail::_Mod_range_hashing, std::__detail::_Default_ranged_hash, std::__detail::_Prime_rehash_policy, std::__detail::_Hashtable_traits<false, false, true> >::_M_rehash(unsigned long, unsigned long const&) (hashtable.h:1940)
      ==5713==    by 0xFB3CCF6: std::_Hashtable<void const*, std::pair<void const* const, rocksdb::ConstantColumnFamilyInfo>, std::allocator<std::pair<void const* const, rocksdb::ConstantColumnFamilyInfo> >, std::__detail::_Select1st, std::equal_to<void const*>, std::hash<void const*>, std::__detail::_Mod_range_hashing, std::__detail::_Default_ranged_hash, std::__detail::_Prime_rehash_policy, std::__detail::_Hashtable_traits<false, false, true> >::_M_insert_unique_node(unsigned long, unsigned long, std::__detail::_Hash_node<std::pair<void const* const, rocksdb::ConstantColumnFamilyInfo>, false>*) (hashtable.h:1587)
      ==5713==    by 0xFB3BAD3: std::pair<std::__detail::_Node_iterator<std::pair<void const* const, rocksdb::ConstantColumnFamilyInfo>, false, false>, bool> std::_Hashtable<void const*, std::pair<void const* const, rocksdb::ConstantColumnFamilyInfo>, std::allocator<std::pair<void const* const, rocksdb::ConstantColumnFamilyInfo> >, std::__detail::_Select1st, std::equal_to<void const*>, std::hash<void const*>, std::__detail::_Mod_range_hashing, std::__detail::_Default_ranged_hash, std::__detail::_Prime_rehash_policy, std::__detail::_Hashtable_traits<false, false, true> >::_M_emplace<std::piecewise_construct_t const&, std::tuple<void const*>, std::tuple<void const*, std::string, std::string> >(std::integral_constant<bool, true>, std::piecewise_construct_t const&, std::tuple<void const*>&&, std::tuple<void const*, std::string, std::string>&&) (hashtable.h:1535)
      ==5713==    by 0xFB3AE4B: std::pair<std::__detail::_Node_iterator<std::pair<void const* const, rocksdb::ConstantColumnFamilyInfo>, false, false>, bool> std::_Hashtable<void const*, std::pair<void const* const, rocksdb::ConstantColumnFamilyInfo>, std::allocator<std::pair<void const* const, rocksdb::ConstantColumnFamilyInfo> >, std::__detail::_Select1st, std::equal_to<void const*>, std::hash<void const*>, std::__detail::_Mod_range_hashing, std::__detail::_Default_ranged_hash, std::__detail::_Prime_rehash_policy, std::__detail::_Hashtable_traits<false, false, true> >::emplace<std::piecewise_construct_t const&, std::tuple<void const*>, std::tuple<void const*, std::string, std::string> >(std::piecewise_construct_t const&, std::tuple<void const*>&&, std::tuple<void const*, std::string, std::string>&&) (hashtable.h:728)
      ==5713==    by 0xFB3A53F: std::pair<std::__detail::_Node_iterator<std::pair<void const* const, rocksdb::ConstantColumnFamilyInfo>, false, false>, bool> std::unordered_map<void const*, rocksdb::ConstantColumnFamilyInfo, std::hash<void const*>, std::equal_to<void const*>, std::allocator<std::pair<void const* const, rocksdb::ConstantColumnFamilyInfo> > >::emplace<std::piecewise_construct_t const&, std::tuple<void const*>, std::tuple<void const*, std::string, std::string> >(std::piecewise_construct_t const&, std::tuple<void const*>&&, std::tuple<void const*, std::string, std::string>&&) (unordered_map.h:380)
      ==5713==    by 0xFB3860E: rocksdb::ThreadStatusUpdater::NewColumnFamilyInfo(void const*, std::string const&, void const*, std::string const&) (thread_status_updater.cc:227)
      ==5713==    by 0xF993504: rocksdb::ThreadStatusUtil::NewColumnFamilyInfo(rocksdb::DB const*, rocksdb::ColumnFamilyData const*, std::string const&, rocksdb::Env const*) (thread_status_util.cc:129)
      ==5713==    by 0xF7DD07C: rocksdb::DBImpl::NewThreadStatusCfInfo(rocksdb::ColumnFamilyData*) const (db_impl.cc:3399)
      ==5713==    by 0xF862949: rocksdb::DBImpl::Open(rocksdb::DBOptions const&, std::string const&, std::vector<rocksdb::ColumnFamilyDescriptor, std::allocator<rocksdb::ColumnFamilyDescriptor> > const&, std::vector<rocksdb::ColumnFamilyHandle*, std::allocator<rocksdb::ColumnFamilyHandle*> >*, rocksdb::DB**, bool, bool) (db_impl_open.cc:1322)
      ==5713==    by 0xFA77FB5: rocksdb::TransactionDB::Open(rocksdb::DBOptions const&, rocksdb::TransactionDBOptions const&, std::string const&, std::vector<rocksdb::ColumnFamilyDescriptor, std::allocator<rocksdb::ColumnFamilyDescriptor> > const&, std::vector<rocksdb::ColumnFamilyHandle*, std::allocator<rocksdb::ColumnFamilyHandle*> >*, rocksdb::TransactionDB**) (pessimistic_transaction_db.cc:249)
      ==5713== 
      ==5713== 112 bytes in 1 blocks are still reachable in loss record 19 of 29
      ==5713==    at 0x4C2A3F6: operator new(unsigned long, std::nothrow_t const&) (vg_replace_malloc.c:377)
      ==5713==    by 0xFC92D1: os_event_create(char const*) (os0event.cc:429)
      ==5713==    by 0x10F5F24: rw_lock_create_func(rw_lock_t*, latch_level_t, char const*, unsigned int) (sync0rw.cc:235)
      ==5713==    by 0x10E2B48: pfs_rw_lock_create_func(unsigned int, rw_lock_t*, latch_level_t, char const*, unsigned int) (sync0rw.ic:522)
      ==5713==    by 0x10E81DA: srv_purge_coordinator_thread (srv0srv.cc:2728)
      ==5713==    by 0x4E3CE24: start_thread (in /usr/lib64/libpthread-2.17.so)
      ==5713==    by 0x70FEBAC: clone (in /usr/lib64/libc-2.17.so)
      ==5713== 
      ==5713== 112 bytes in 1 blocks are still reachable in loss record 20 of 29
      ==5713==    at 0x4C2A3F6: operator new(unsigned long, std::nothrow_t const&) (vg_replace_malloc.c:377)
      ==5713==    by 0xFC92D1: os_event_create(char const*) (os0event.cc:429)
      ==5713==    by 0x10F5F39: rw_lock_create_func(rw_lock_t*, latch_level_t, char const*, unsigned int) (sync0rw.cc:236)
      ==5713==    by 0x10E2B48: pfs_rw_lock_create_func(unsigned int, rw_lock_t*, latch_level_t, char const*, unsigned int) (sync0rw.ic:522)
      ==5713==    by 0x10E81DA: srv_purge_coordinator_thread (srv0srv.cc:2728)
      ==5713==    by 0x4E3CE24: start_thread (in /usr/lib64/libpthread-2.17.so)
      ==5713==    by 0x70FEBAC: clone (in /usr/lib64/libc-2.17.so)
      ==5713== 
      ==5713== 336 bytes in 3 blocks are still reachable in loss record 23 of 29
      ==5713==    at 0x4C2A3F6: operator new(unsigned long, std::nothrow_t const&) (vg_replace_malloc.c:377)
      ==5713==    by 0xFC92D1: os_event_create(char const*) (os0event.cc:429)
      ==5713==    by 0x10F5F24: rw_lock_create_func(rw_lock_t*, latch_level_t, char const*, unsigned int) (sync0rw.cc:235)
      ==5713==    by 0x10E2B48: pfs_rw_lock_create_func(unsigned int, rw_lock_t*, latch_level_t, char const*, unsigned int) (sync0rw.ic:522)
      ==5713==    by 0x10E79B8: srv_worker_thread (srv0srv.cc:2506)
      ==5713==    by 0x4E3CE24: start_thread (in /usr/lib64/libpthread-2.17.so)
      ==5713==    by 0x70FEBAC: clone (in /usr/lib64/libc-2.17.so)
      ==5713== 
      ==5713== 336 bytes in 3 blocks are still reachable in loss record 24 of 29
      ==5713==    at 0x4C2A3F6: operator new(unsigned long, std::nothrow_t const&) (vg_replace_malloc.c:377)
      ==5713==    by 0xFC92D1: os_event_create(char const*) (os0event.cc:429)
      ==5713==    by 0x10F5F39: rw_lock_create_func(rw_lock_t*, latch_level_t, char const*, unsigned int) (sync0rw.cc:236)
      ==5713==    by 0x10E2B48: pfs_rw_lock_create_func(unsigned int, rw_lock_t*, latch_level_t, char const*, unsigned int) (sync0rw.ic:522)
      ==5713==    by 0x10E79B8: srv_worker_thread (srv0srv.cc:2506)
      ==5713==    by 0x4E3CE24: start_thread (in /usr/lib64/libpthread-2.17.so)
      ==5713==    by 0x70FEBAC: clone (in /usr/lib64/libc-2.17.so)
      ==5713== 
      

      Attachments

        Activity

          People

            psergei Sergei Petrunia
            elenst Elena Stepanova
            Votes:
            0 Vote for this issue
            Watchers:
            1 Start watching this issue

            Dates

              Created:
              Updated:

              Git Integration

                Error rendering 'com.xiplink.jira.git.jira_git_plugin:git-issue-webpanel'. Please contact your Jira administrators.