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

SIGSEGV when multiple servers use the same Vault KV storage for encrypted tables

    XMLWordPrintable

Details

    • Bug
    • Status: In Progress (View Workflow)
    • Critical
    • Resolution: Unresolved
    • 12.3
    • 12.3
    • Encryption
    • None
    • Can result in hang or crash

    Description

      Test case : vault_multi_server_test.sh

      MDEV-30847 CS 12.2.0 4fa34698b836aaa27bdb69a85809a93b66204113 (Debug, Clang 18.1.3-11) Build 11/11/2025

      Core was generated by `/test/mtest/MDEV-30847/MD111125-mariadb-12.2.0-linux-x86_64-dbg/bin/mariadbd --'.
      Program terminated with signal SIGSEGV, Segmentation fault.
      #0  0x0000614d8e474dea in std::equal_to<unsigned int>::operator() (this=0x71219223e530 <data+88>, __x=@0x710a7adfc7ec: 1, __y=<error reading variable: Cannot access memory at address 0x7106a4026>)at /usr/bin/../lib/gcc/x86_64-linux-gnu/14/../../../../include/c++/14/bits/stl_function.h:375
      375	      { return __x == __y; }
      [Current thread is 1 (LWP 2795983)]
      (gdb) bt
      #0  0x0000614d8e474dea in std::equal_to<unsigned int>::operator() (this=0x71219223e530 <data+88>, __x=@0x710a7adfc7ec: 1, __y=<error reading variable: Cannot access memory at address 0x7106a4026>)at /usr/bin/../lib/gcc/x86_64-linux-gnu/14/../../../../include/c++/14/bits/stl_function.h:375
      #1  0x000071219223672e in std::__detail::_Hashtable_base<unsigned int, std::pair<unsigned int const, VER_INFO>, std::__detail::_Select1st, std::equal_to<unsigned int>, std::hash<unsigned int>, std::__detail::_Mod_range_hashing, std::__detail::_Default_ranged_hash, std::__detail::_Hashtable_traits<false, false, true> >::_M_key_equals (this=0x71219223e530 <data+88>, __k=@0x710a7adfc7ec: 1, __n=<error reading variable: Cannot access memory at address 0x7106a4026>)at /usr/bin/../lib/gcc/x86_64-linux-gnu/14/../../../../include/c++/14/bits/hashtable_policy.h:1740
      #2  0x0000712192236663 in std::__detail::_Hashtable_base<unsigned int, std::pair<unsigned int const, VER_INFO>, std::__detail::_Select1st, std::equal_to<unsigned int>, std::hash<unsigned int>, std::__detail::_Mod_range_hashing, std::__detail::_Default_ranged_hash, std::__detail::_Hashtable_traits<false, false, true> >::_M_equals (this=0x71219223e530 <data+88>, __k=@0x710a7adfc7ec: 1, __c=1, __n=<error reading variable: Cannot access memory at address 0x7106a4026>)at /usr/bin/../lib/gcc/x86_64-linux-gnu/14/../../../../include/c++/14/bits/hashtable_policy.h:1759
      #3  0x000071219223658b in std::_Hashtable<unsigned int, std::pair<unsigned int const, VER_INFO>, std::allocator<std::pair<unsigned int const, VER_INFO> >, std::__detail::_Select1st, std::equal_to<unsigned int>, std::hash<unsigned int>, std::__detail::_Mod_range_hashing, std::__detail::_Default_ranged_hash, std::__detail::_Prime_rehash_policy, std::__detail::_Hashtable_traits<false, false, true> >::_M_find_before_node (this=0x71219223e530 <data+88>, __bkt=1, __k=@0x710a7adfc7ec: 1, __code=1)at /usr/bin/../lib/gcc/x86_64-linux-gnu/14/../../../../include/c++/14/bits/hashtable.h:2074
      #4  0x00007121922361fd in std::_Hashtable<unsigned int, std::pair<unsigned int const, VER_INFO>, std::allocator<std::pair<unsigned int const, VER_INFO> >, std::__detail::_Select1st, std::equal_to<unsigned int>, std::hash<unsigned int>, std::__detail::_Mod_range_hashing, std::__detail::_Default_ranged_hash, std::__detail::_Prime_rehash_policy, std::__detail::_Hashtable_traits<false, false, true> >::_M_find_node (this=0x71219223e530 <data+88>, __bkt=1, __key=@0x710a7adfc7ec: 1, __c=1)at /usr/bin/../lib/gcc/x86_64-linux-gnu/14/../../../../include/c++/14/bits/hashtable.h:822
      #5  0x00007121922382f2 in std::_Hashtable<unsigned int, std::pair<unsigned int const, VER_INFO>, std::allocator<std::pair<unsigned int const, VER_INFO> >, std::__detail::_Select1st, std::equal_to<unsigned int>, std::hash<unsigned int>, std::__detail::_Mod_range_hashing, std::__detail::_Default_ranged_hash, std::__detail::_Prime_rehash_policy, std::__detail::_Hashtable_traits<false, false, true> >::find (this=0x71219223e530 <data+88>, __k=@0x710a7adfc7ec: 1)at /usr/bin/../lib/gcc/x86_64-linux-gnu/14/../../../../include/c++/14/bits/hashtable.h:1738
      #6  0x00007121922348ad in std::unordered_map<unsigned int, VER_INFO, std::hash<unsigned int>, std::equal_to<unsigned int>, std::allocator<std::pair<unsigned int const, VER_INFO> > >::find (this=0x71219223e530 <data+88>, __x=@0x710a7adfc7ec: 1)at /usr/bin/../lib/gcc/x86_64-linux-gnu/14/../../../../include/c++/14/bits/unordered_map.h:877
      #7  0x0000712192231c81 in HCData::cache_check_version (this=0x71219223e4d8 <data>, key_id=1)at /test/mtest/MDEV-30847/12.2_dbg/plugin/hashicorp_key_management/hashicorp_key_management_plugin.cc:309
      #8  0x0000712192232736 in HCData::get_latest_version (this=0x71219223e4d8 <data>, key_id=1)at /test/mtest/MDEV-30847/12.2_dbg/plugin/hashicorp_key_management/hashicorp_key_management_plugin.cc:743
      #9  0x000071219223368a in get_latest_version (key_id=1)at /test/mtest/MDEV-30847/12.2_dbg/plugin/hashicorp_key_management/hashicorp_key_management_plugin.cc:928
      #10 0x0000614d8e450552 in fil_space_crypt_t::key_get_latest_version (this=0x70d4940ae8a0)at /test/mtest/MDEV-30847/12.2_dbg/storage/innobase/fil/fil0crypt.cc:140
      #11 0x0000614d8e456ee7 in fil_crypt_get_key_state (new_state=0x710a7adfcb00, crypt_data=0x70d4940ae8a0)at /test/mtest/MDEV-30847/12.2_dbg/storage/innobase/fil/fil0crypt.cc:833
      #12 0x0000614d8e4568fa in fil_crypt_space_needs_rotation (state=0x710a7adfcb10, key_state=0x710a7adfcb00, recheck=0x710a7adfcb0f)at /test/mtest/MDEV-30847/12.2_dbg/storage/innobase/fil/fil0crypt.cc:1163
      #13 0x0000614d8e455260 in fil_crypt_find_space_to_rotate (key_state=0x710a7adfcb00, state=0x710a7adfcb10, recheck=0x710a7adfcb0f)at /test/mtest/MDEV-30847/12.2_dbg/storage/innobase/fil/fil0crypt.cc:1532
      #14 0x0000614d8e452fff in fil_crypt_thread ()at /test/mtest/MDEV-30847/12.2_dbg/storage/innobase/fil/fil0crypt.cc:2052
      #15 0x0000614d8e4590d2 in std::__invoke_impl<void, void (*)()> (__f=@0x614d985b7138: 0x614d8e452f40 <fil_crypt_thread()>)at /usr/bin/../lib/gcc/x86_64-linux-gnu/14/../../../../include/c++/14/bits/invoke.h:61
      #16 0x0000614d8e459095 in std::__invoke<void (*)()> (__fn=@0x614d985b7138: 0x614d8e452f40 <fil_crypt_thread()>)at /usr/bin/../lib/gcc/x86_64-linux-gnu/14/../../../../include/c++/14/bits/invoke.h:96
      #17 0x0000614d8e45906d in std::thread::_Invoker<std::tuple<void (*)()> >::_M_invoke<0ul> (this=0x614d985b7138)at /usr/bin/../lib/gcc/x86_64-linux-gnu/14/../../../../include/c++/14/bits/std_thread.h:301
      #18 0x0000614d8e459045 in std::thread::_Invoker<std::tuple<void (*)()> >::operator() (this=0x614d985b7138)at /usr/bin/../lib/gcc/x86_64-linux-gnu/14/../../../../include/c++/14/bits/std_thread.h:308
      #19 0x0000614d8e458fa9 in std::thread::_State_impl<std::thread::_Invoker<std::tuple<void (*)()> > >::_M_run (this=0x614d985b7130)at /usr/bin/../lib/gcc/x86_64-linux-gnu/14/../../../../include/c++/14/bits/std_thread.h:253
      #20 0x00007121924ecdb4 in std::execute_native_thread_routine (__p=0x614d985b7130)at ../../../../../src/libstdc++-v3/src/c++11/thread.cc:104
      #21 0x000071219209caa4 in start_thread (arg=<optimized out>)at ./nptl/pthread_create.c:447
      #22 0x0000712192129c3c in clone3 ()at ../sysdeps/unix/sysv/linux/x86_64/clone3.S:78
      

      Attachments

        Issue Links

          Activity

            People

              raghunandan.bhat Raghunandan Bhat
              ramesh Ramesh Sivaraman
              Votes:
              0 Vote for this issue
              Watchers:
              2 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.