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

address TSAN warnings in tpool

    XMLWordPrintable

    Details

    • Type: Bug
    • Status: Open (View Workflow)
    • Priority: Major
    • Resolution: Unresolved
    • Affects Version/s: None
    • Fix Version/s: 10.5
    • Component/s: Server
    • Labels:
      None

      Description

      WARNING: ThreadSanitizer: data race (pid=10227)
        Write of size 4 at 0x000003e7cfd8 by thread T10 (mutexes: write M590815976181190528):
          #0 tpool::waitable_task::release() ??:? (mysqld+0x19cb38f)
          #1 tpool::task_group::execute(tpool::task*) ??:? (mysqld+0x19ca903)
          #2 tpool::task::execute() ??:? (mysqld+0x19cb0f5)
          #3 tpool::thread_pool_generic::worker_main(tpool::worker_data*) ??:? (mysqld+0x19bc5a8)
          #4 void std::__invoke_impl<void, void (tpool::thread_pool_generic::*)(tpool::worker_data*), tpool::thread_pool_generic*, tpool::worker_data*>(std::__invoke_memfun_deref, void (tpool::thread_pool_generic::*&&)(tpool::worker_data*), tpool::thread_pool_generic*&&, tpool::worker_data*&&) ??:? (mysqld+0x19c6777)
          #5 std::__invoke_result<void (tpool::thread_pool_generic::*)(tpool::worker_data*), tpool::thread_pool_generic*, tpool::worker_data*>::type std::__invoke<void (tpool::thread_pool_generic::*)(tpool::worker_data*), tpool::thread_pool_generic*, tpool::worker_data*>(void (tpool::thread_pool_generic::*&&)(tpool::worker_data*), tpool::thread_pool_generic*&&, tpool::worker_data*&&) ??:? (mysqld+0x19c652a)
          #6 _ZNSt6thread8_InvokerISt5tupleIJMN5tpool19thread_pool_genericEFvPNS2_11worker_dataEEPS3_S5_EEE9_M_invokeIJLm0ELm1ELm2EEEEDTclsr3stdE8__invokespcl10_S_declvalIXT_EEEEESt12_Index_tupleIJXspT_EEE ??:? (mysqld+0x19c648e)
          #7 std::thread::_Invoker<std::tuple<void (tpool::thread_pool_generic::*)(tpool::worker_data*), tpool::thread_pool_generic*, tpool::worker_data*> >::operator()() ??:? (mysqld+0x19c63f8)
          #8 std::thread::_State_impl<std::thread::_Invoker<std::tuple<void (tpool::thread_pool_generic::*)(tpool::worker_data*), tpool::thread_pool_generic*, tpool::worker_data*> > >::_M_run() ??:? (mysqld+0x19c5e9c)
          #9 std::error_code::default_error_condition() const ??:? (libstdc++.so.6+0xbd57e)
       
        Previous read of size 4 at 0x000003e7cfd8 by thread T4:
          #0 tpool::waitable_task::get_ref_count() ??:? (mysqld+0x1730156)
          #1 trx_purge_wait_for_workers_to_complete() trx0purge.cc:? (mysqld+0x171da3f)
          #2 trx_purge(unsigned long, bool) ??:? (mysqld+0x171ca30)
      ...
      

        Attachments

          Activity

            People

            Assignee:
            wlad Vladislav Vaintroub
            Reporter:
            wlad Vladislav Vaintroub
            Votes:
            0 Vote for this issue
            Watchers:
            1 Start watching this issue

              Dates

              Created:
              Updated: