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

Valgrind uninitialised value warnings in dict_acquire_mdl_shared / dict_table_open_on_id

    XMLWordPrintable

    Details

    • Type: Bug
    • Status: Closed (View Workflow)
    • Priority: Major
    • Resolution: Fixed
    • Affects Version/s: 10.5
    • Fix Version/s: 10.5.1
    • Component/s: Locking, Tests
    • Labels:
      None

      Description

      10.5 c24253d0

      main.partition_innodb_semi_consistent 'innodb' [ fail ]  Found warnings/errors in server log file!
              Test ended at 2019-12-18 02:27:00
      line
      ==22680== Thread 10:
      ==22680== Conditional jump or move depends on uninitialised value(s)
      ==22680==    at 0x4C31D21: __memcmp_sse4_1 (vg_replace_strmem.c:1094)
      ==22680==    by 0x148D14A: dict_table_t* dict_acquire_mdl_shared<false>(dict_table_t*, THD*, MDL_ticket**, dict_table_op_t) (dict0dict.cc:890)
      ==22680==    by 0x147DC67: dict_table_open_on_id(unsigned long, bool, dict_table_op_t, THD*, MDL_ticket**) (dict0dict.cc:945)
      ==22680==    by 0x12DD951: row_purge_parse_undo_rec(purge_node_t*, unsigned char*, que_thr_t*, bool*) (row0purge.cc:936)
      ==22680==    by 0x12DE27E: row_purge(purge_node_t*, unsigned char*, que_thr_t*) (row0purge.cc:1110)
      ==22680==    by 0x12DE41B: row_purge_step(que_thr_t*) (row0purge.cc:1162)
      ==22680==    by 0x1246282: que_thr_step(que_thr_t*) (que0que.cc:1038)
      ==22680==    by 0x1246519: que_run_threads_low(que_thr_t*) (que0que.cc:1100)
      ==22680==    by 0x1246769: que_run_threads(que_thr_t*) (que0que.cc:1140)
      ==22680==    by 0x132B5AE: srv_task_execute() (srv0srv.cc:2022)
      ==22680==    by 0x132BD35: purge_worker_callback(void*) (srv0srv.cc:2172)
      ==22680==    by 0x157D5A7: tpool::task_group::execute(tpool::task*) (task_group.cc:55)
      ==22680==    by 0x157D923: tpool::task::execute() (task.cc:32)
      ==22680==    by 0x157714D: tpool::thread_pool_generic::worker_main(tpool::worker_data*) (tpool_generic.cc:509)
      ==22680==    by 0x157D3B8: void std::__invoke_impl<void, void (tpool::thread_pool_generic::* const&)(tpool::worker_data*), tpool::thread_pool_generic*, tpool::worker_data*>(std::__invoke_memfun_deref, void (tpool::thread_pool_generic::* const&)(tpool::worker_data*), tpool::thread_pool_generic*&&, tpool::worker_data*&&) (functional:227)
      ==22680==    by 0x157D32A: std::result_of<void (tpool::thread_pool_generic::* const&(tpool::thread_pool_generic*&&, tpool::worker_data*&&))(tpool::worker_data*)>::type std::__invoke<void (tpool::thread_pool_generic::* const&)(tpool::worker_data*), tpool::thread_pool_generic*, tpool::worker_data*>(void (tpool::thread_pool_generic::* const&)(tpool::worker_data*), tpool::thread_pool_generic*&&, tpool::worker_data*&&) (functional:251)
      ==22680==    by 0x157D2BE: decltype (__invoke((*this)._M_pmf, (forward<tpool::thread_pool_generic*>)({parm#1}), (forward<tpool::worker_data*>)({parm#1}))) std::_Mem_fn_base<void (tpool::thread_pool_generic::*)(tpool::worker_data*), true>::operator()<tpool::thread_pool_generic*, tpool::worker_data*>(tpool::thread_pool_generic*&&, tpool::worker_data*&&) const (functional:604)
      ==22680==    by 0x157D270: void std::_Bind_simple<std::_Mem_fn<void (tpool::thread_pool_generic::*)(tpool::worker_data*)> (tpool::thread_pool_generic*, tpool::worker_data*)>::_M_invoke<0ul, 1ul>(std::_Index_tuple<0ul, 1ul>) (functional:1391)
      ==22680==    by 0x157D16E: std::_Bind_simple<std::_Mem_fn<void (tpool::thread_pool_generic::*)(tpool::worker_data*)> (tpool::thread_pool_generic*, tpool::worker_data*)>::operator()() (functional:1380)
      ==22680==    by 0x157D14D: std::thread::_State_impl<std::_Bind_simple<std::_Mem_fn<void (tpool::thread_pool_generic::*)(tpool::worker_data*)> (tpool::thread_pool_generic*, tpool::worker_data*)> >::_M_run() (thread:197)
      ==22680== Thread 12:
      ==22680== Conditional jump or move depends on uninitialised value(s)
      ==22680==    at 0x148D14D: dict_table_t* dict_acquire_mdl_shared<false>(dict_table_t*, THD*, MDL_ticket**, dict_table_op_t) (dict0dict.cc:889)
      ==22680==    by 0x147DC67: dict_table_open_on_id(unsigned long, bool, dict_table_op_t, THD*, MDL_ticket**) (dict0dict.cc:945)
      ==22680==    by 0x12DD951: row_purge_parse_undo_rec(purge_node_t*, unsigned char*, que_thr_t*, bool*) (row0purge.cc:936)
      ==22680==    by 0x12DE27E: row_purge(purge_node_t*, unsigned char*, que_thr_t*) (row0purge.cc:1110)
      ==22680==    by 0x12DE41B: row_purge_step(que_thr_t*) (row0purge.cc:1162)
      ==22680==    by 0x1246282: que_thr_step(que_thr_t*) (que0que.cc:1038)
      ==22680==    by 0x1246519: que_run_threads_low(que_thr_t*) (que0que.cc:1100)
      ==22680==    by 0x1246769: que_run_threads(que_thr_t*) (que0que.cc:1140)
      ==22680==    by 0x132B5AE: srv_task_execute() (srv0srv.cc:2022)
      ==22680==    by 0x132BD35: purge_worker_callback(void*) (srv0srv.cc:2172)
      ==22680==    by 0x157D5A7: tpool::task_group::execute(tpool::task*) (task_group.cc:55)
      ==22680==    by 0x157D923: tpool::task::execute() (task.cc:32)
      ==22680==    by 0x157714D: tpool::thread_pool_generic::worker_main(tpool::worker_data*) (tpool_generic.cc:509)
      ==22680==    by 0x157D3B8: void std::__invoke_impl<void, void (tpool::thread_pool_generic::* const&)(tpool::worker_data*), tpool::thread_pool_generic*, tpool::worker_data*>(std::__invoke_memfun_deref, void (tpool::thread_pool_generic::* const&)(tpool::worker_data*), tpool::thread_pool_generic*&&, tpool::worker_data*&&) (functional:227)
      ==22680==    by 0x157D32A: std::result_of<void (tpool::thread_pool_generic::* const&(tpool::thread_pool_generic*&&, tpool::worker_data*&&))(tpool::worker_data*)>::type std::__invoke<void (tpool::thread_pool_generic::* const&)(tpool::worker_data*), tpool::thread_pool_generic*, tpool::worker_data*>(void (tpool::thread_pool_generic::* const&)(tpool::worker_data*), tpool::thread_pool_generic*&&, tpool::worker_data*&&) (functional:251)
      ==22680==    by 0x157D2BE: decltype (__invoke((*this)._M_pmf, (forward<tpool::thread_pool_generic*>)({parm#1}), (forward<tpool::worker_data*>)({parm#1}))) std::_Mem_fn_base<void (tpool::thread_pool_generic::*)(tpool::worker_data*), true>::operator()<tpool::thread_pool_generic*, tpool::worker_data*>(tpool::thread_pool_generic*&&, tpool::worker_data*&&) const (functional:604)
      ==22680==    by 0x157D270: void std::_Bind_simple<std::_Mem_fn<void (tpool::thread_pool_generic::*)(tpool::worker_data*)> (tpool::thread_pool_generic*, tpool::worker_data*)>::_M_invoke<0ul, 1ul>(std::_Index_tuple<0ul, 1ul>) (functional:1391)
      ==22680==    by 0x157D16E: std::_Bind_simple<std::_Mem_fn<void (tpool::thread_pool_generic::*)(tpool::worker_data*)> (tpool::thread_pool_generic*, tpool::worker_data*)>::operator()() (functional:1380)
      ==22680==    by 0x157D14D: std::thread::_State_impl<std::_Bind_simple<std::_Mem_fn<void (tpool::thread_pool_generic::*)(tpool::worker_data*)> (tpool::thread_pool_generic*, tpool::worker_data*)> >::_M_run() (thread:197)
      ==22680==    by 0x606CE6E: ??? (in /usr/lib/x86_64-linux-gnu/libstdc++.so.6.0.22)
      ^ Found warnings in /data/bld/10.5-valgrind-nightly/mysql-test/var/log/mysqld.1.err
      

      Many more tests in 10.5 fail the same way.

        Attachments

          Issue Links

            Activity

              People

              Assignee:
              thiru Thirunarayanan Balathandayuthapani
              Reporter:
              elenst Elena Stepanova
              Votes:
              0 Vote for this issue
              Watchers:
              2 Start watching this issue

                Dates

                Created:
                Updated:
                Resolved: