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

use-of-uninitialized-value in XFILE::Write(_global*, void*, int, int, bool&)

    XMLWordPrintable

Details

    • Can result in hang or crash
    • Q3/2026 Server Maintenance

    Description

       INSTALL SONAME 'ha_connect';
       CREATE TABLE t1 (c1 DATETIME KEY) ENGINE=CONNECT;
       INSERT IGNORE INTO t1 VALUES(1);
      

      Leads to:

      CS 11.8.9 666b2aca09cb84d59b4ece2185a9200d745cb287 (Debug, MSAN, Clang 20.1.8-20250804) Build 07/07/2026

      ==1915059==WARNING: MemorySanitizer: use-of-uninitialized-value
          #0 0x7e144228fc98 in XFILE::Write(_global*, void*, int, int, bool&) /test/11.8_dbg_msan/storage/connect/xindex.cpp:2445:18
          #1 0x7e1442283a94 in XINDEX::SaveIndex(_global*, INDEXDEF*) /test/11.8_dbg_msan/storage/connect/xindex.cpp:925:16
          #2 0x7e144227ebaa in XINDEX::Make(_global*, INDEXDEF*) /test/11.8_dbg_msan/storage/connect/xindex.cpp:696:9
          #3 0x7e14421d0fe0 in TDBDOS::MakeIndex(_global*, INDEXDEF*, bool) /test/11.8_dbg_msan/storage/connect/tabdos.cpp:1779:13
          #4 0x7e14421c9916 in TDBDOS::ResetTableOpt(_global*, bool, bool) /test/11.8_dbg_msan/storage/connect/tabdos.cpp:630:12
          #5 0x7e14421175ee in CntCloseTable(_global*, TDB*, bool, bool) /test/11.8_dbg_msan/storage/connect/connect.cc:599:16
          #6 0x7e14421008e1 in ha_connect::CloseTable(_global*) /test/11.8_dbg_msan/storage/connect/ha_connect.cc:2146:11
          #7 0x7e14421008e1 in ha_connect::external_lock(THD*, int) /test/11.8_dbg_msan/storage/connect/ha_connect.cc:4991:9
          #8 0x5f979aa98cd5 in handler::ha_external_lock(THD*, int) /test/11.8_dbg_msan/sql/handler.cc:7781:3
          #9 0x5f979b0d9863 in handler::ha_external_unlock(THD*) /test/11.8_dbg_msan/sql/handler.h:3602:45
          #10 0x5f979b0d9863 in unlock_external(THD*, TABLE**, unsigned int) /test/11.8_dbg_msan/sql/lock.cc:745:11
          #11 0x5f979b0d9863 in mysql_unlock_tables(THD*, st_mysql_lock*, bool) /test/11.8_dbg_msan/sql/lock.cc:436:12
          #12 0x5f979b1c6685 in close_thread_tables(THD*) /test/11.8_dbg_msan/sql/sql_base.cc:999:9
          #13 0x5f979b4cafde in mysql_execute_command(THD*, bool) /test/11.8_dbg_msan/sql/sql_parse.cc:6014:3
          #14 0x5f979b4b86df in mysql_parse(THD*, char*, unsigned int, Parser_state*) /test/11.8_dbg_msan/sql/sql_parse.cc:7953:18
          #15 0x5f979b4b1ed7 in dispatch_command(enum_server_command, THD*, char*, unsigned int, bool) /test/11.8_dbg_msan/sql/sql_parse.cc:1923:7
          #16 0x5f979b4b919e in do_command(THD*, bool) /test/11.8_dbg_msan/sql/sql_parse.cc:1431:17
          #17 0x5f979b9b077c in do_handle_one_connection(CONNECT*, bool) /test/11.8_dbg_msan/sql/sql_connect.cc:1511:11
          #18 0x5f979b9b0112 in handle_one_connection /test/11.8_dbg_msan/sql/sql_connect.cc:1423:5
          #19 0x7e152689caa3 in start_thread nptl/pthread_create.c:447:8
          #20 0x7e1526929c6b in clone3 misc/../sysdeps/unix/sysv/linux/x86_64/clone3.S:78
       
        Uninitialized value was created by a heap allocation
          #0 0x5f979a9aa206 in malloc (/test/MSAN_MD070726-mariadb-11.8.9-linux-x86_64-dbg/bin/mariadbd+0x1068206) (BuildId: f03f685451c9efd9d8c290898dd0994cdd96cba7)
          #1 0x7e14421bfcf0 in AllocSarea /test/11.8_dbg_msan/storage/connect/plugutil.cpp:480:14
       
      SUMMARY: MemorySanitizer: use-of-uninitialized-value /test/11.8_dbg_msan/storage/connect/xindex.cpp:2445:18 in XFILE::Write(_global*, void*, int, int, bool&)
      

      grep: /test/MSAN_MD070726-mariadb-11.8.9-linux-x86_64-opt/log/master.err: No such file or directory
      grep: /test/MSAN_MD070726-mariadb-11.8.9-linux-x86_64-opt/log/master.err: No such file or directory

      Setup:

      Compiled with a recent version of Clang and LLVM. Ubuntu instructions for Clang/LLVM 18:
        # Note: It is strongly recommended to uninstall all old Clang & LLVM packages (ref  dpkg --list | grep -iE 'clang|llvm'  and use  apt purge  and  dpkg --purge  to remove the packages), before installing Clang/LLVM 18
           sudo apt install clang llvm-18 llvm-18-linker-tools llvm-18-runtime llvm-18-tools llvm-18-dev libstdc++-14-dev llvm-dev lld-18
      Compiled with: "-DCMAKE_C_COMPILER=/usr/bin/clang -DCMAKE_CXX_COMPILER=/usr/bin/clang++ -DCMAKE_C{,XX}_FLAGS='-march=native -mtune=native'" and:
          -DWITH_MSAN=ON  # Note: WITH_MSAN=ON is auto-ignored when not using clang (MDEV-20377)
      Set before execution:
          export MSAN_OPTIONS=abort_on_error=1:poison_in_dtor=0
      

      MSAN Bug Detection Matrix

          Rel    o/d  Build   Commit                                    UniqueID observed             
      CS  10.6   dbg  070726  736edbe77ce5db44ea38347280f77d6a304fa3ae  No bug found                  
      CS  10.6   opt  070726  736edbe77ce5db44ea38347280f77d6a304fa3ae  No bug found                  
      CS  10.11  dbg  070726  2be9ba2537aa3ff5836b21489cfca6b0f0ccf80a  No bug found                  
      CS  10.11  opt  070726  2be9ba2537aa3ff5836b21489cfca6b0f0ccf80a  No bug found                  
      CS  11.4   dbg  090726  176589bf19ea6e2261bb3ef57886c13b9c0b6759  No bug found                  
      CS  11.4   opt  090726  176589bf19ea6e2261bb3ef57886c13b9c0b6759  No bug found                  
      CS  11.8   dbg  070726  666b2aca09cb84d59b4ece2185a9200d745cb287  MSAN|use-of-uninitialized-value|storage/connect/xindex.cpp|XFILE::Write|XINDEX::SaveIndex|XINDEX::Make|TDBDOS::MakeIndex
      CS  11.8   opt  070726  666b2aca09cb84d59b4ece2185a9200d745cb287  MSAN|use-of-uninitialized-value|storage/connect/xindex.cpp|XFILE::Write|XINDEX::SaveIndex|XINDEX::Make|TDBDOS::MakeIndex
      CS  12.3   dbg  070726  8da34620ac3935814cc7f9ba30bb51a6e2070237  MSAN|use-of-uninitialized-value|storage/connect/xindex.cpp|XFILE::Write|XINDEX::SaveIndex|XINDEX::Make|TDBDOS::MakeIndex
      CS  12.3   opt  070726  8da34620ac3935814cc7f9ba30bb51a6e2070237  MSAN|use-of-uninitialized-value|storage/connect/xindex.cpp|XFILE::Write|XINDEX::SaveIndex|XINDEX::Make|TDBDOS::MakeIndex
      CS  13.0   dbg  070726  172609526b93ac278203607274b70e6b6d8e67fd  MSAN|use-of-uninitialized-value|storage/connect/xindex.cpp|XFILE::Write|XINDEX::SaveIndex|XINDEX::Make|TDBDOS::MakeIndex
      CS  13.0   opt  070726  172609526b93ac278203607274b70e6b6d8e67fd  MSAN|use-of-uninitialized-value|storage/connect/xindex.cpp|XFILE::Write|XINDEX::SaveIndex|XINDEX::Make|TDBDOS::MakeIndex
      CS  13.1   dbg  070726  fd8cec54af7a9d79749df25ea70dac695b371641  MSAN|use-of-uninitialized-value|storage/connect/xindex.cpp|XFILE::Write|XINDEX::SaveIndex|XINDEX::Make|TDBDOS::MakeIndex
      CS  13.1   opt  070726  fd8cec54af7a9d79749df25ea70dac695b371641  MSAN|use-of-uninitialized-value|storage/connect/xindex.cpp|XFILE::Write|XINDEX::SaveIndex|XINDEX::Make|TDBDOS::MakeIndex
      ES  10.6   dbg  070726  07b87fa33b7263c3b46b1a820474f88803d25a04  No bug found                  
      ES  10.6   opt  070726  07b87fa33b7263c3b46b1a820474f88803d25a04  No bug found                  
      ES  11.4   dbg  070726  89bb238190d313ead3b68e508099974e3728515e  MSAN|use-of-uninitialized-value|storage/connect/xindex.cpp|XFILE::Write|XINDEX::SaveIndex|XINDEX::Make|TDBDOS::MakeIndex
      ES  11.4   opt  070726  89bb238190d313ead3b68e508099974e3728515e  MSAN|use-of-uninitialized-value|storage/connect/xindex.cpp|XFILE::Write|XINDEX::SaveIndex|XINDEX::Make|TDBDOS::MakeIndex
      ES  11.8   dbg  070726  97386db1d887891fb17e5210536bfe8756bae3cf  MSAN|use-of-uninitialized-value|storage/connect/xindex.cpp|XFILE::Write|XINDEX::SaveIndex|XINDEX::Make|TDBDOS::MakeIndex
      ES  11.8   opt  070726  97386db1d887891fb17e5210536bfe8756bae3cf  MSAN|use-of-uninitialized-value|storage/connect/xindex.cpp|XFILE::Write|XINDEX::SaveIndex|XINDEX::Make|TDBDOS::MakeIndex
      ES  12.3   dbg  070726  b96de078339ebc1995fd6185bf5433c72fedbdaf  MSAN|use-of-uninitialized-value|storage/connect/xindex.cpp|XFILE::Write|XINDEX::SaveIndex|XINDEX::Make|TDBDOS::MakeIndex
      ES  12.3   opt  070726  b96de078339ebc1995fd6185bf5433c72fedbdaf  MSAN|use-of-uninitialized-value|storage/connect/xindex.cpp|XFILE::Write|XINDEX::SaveIndex|XINDEX::Make|TDBDOS::MakeIndex
      

      Attachments

        Activity

          People

            sanja Oleksandr Byelkin
            saahil Saahil Alam
            Votes:
            0 Vote for this issue
            Watchers:
            5 Start watching this issue

            Dates

              Created:
              Updated:

              Time Tracking

                Estimated:
                Original Estimate - 0d
                0d
                Remaining:
                Time Spent - 0.25d Remaining Estimate - 1h
                1h
                Logged:
                Time Spent - 0.25d Remaining Estimate - 1h
                0.25d

                Git Integration

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