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

Assertion `*str != '\0'' failed in my_message_sql on CREATE TABLE

    XMLWordPrintable

Details

    • Not for Release Notes

    Description

      INSTALL SONAME 'ha_connect';
      SET max_session_mem_used=8192;
      CREATE TABLE t1 ENGINE=CONNECT table_type=ODBC CATFUNC=COLUMNS CONNECTION='foo';
      

      Leads to:

      CS 12.3.1 21a0714a118614982d20bfa504763d7247800091 (Debug, Clang 21.1.3-20250923) Build 17/02/2026

      mariadbd: /test/12.3_dbg/sql/mysqld.cc:3382: void my_message_sql(uint, const char *, myf): Assertion `*str != '\0'' failed,.
      

      CS 12.3.1 21a0714a118614982d20bfa504763d7247800091 (Debug, Clang 21.1.3-20250923) Build 17/02/2026

      Core was generated by `/test/MD170226-mariadb-12.3.1-linux-x86_64-dbg/bin/mariadbd --no-defaults --max'.
      Program terminated with signal SIGABRT, Aborted.
      Download failed: Invalid argument.  Continuing without source file ./nptl/./nptl/pthread_kill.c.
      #0  __pthread_kill_implementation (no_tid=0, signo=6, threadid=<optimized out>)at ./nptl/pthread_kill.c:44
       
      [Current thread is 1 (LWP 764080)]
      (gdb) bt
      #0  __pthread_kill_implementation (no_tid=0, signo=6, threadid=<optimized out>)at ./nptl/pthread_kill.c:44
      #1  __pthread_kill_internal (signo=6, threadid=<optimized out>)at ./nptl/pthread_kill.c:78
      #2  __GI___pthread_kill (threadid=<optimized out>, signo=signo@entry=6)at ./nptl/pthread_kill.c:89
      #3  0x0000753240c4526e in __GI_raise (sig=sig@entry=6)at ../sysdeps/posix/raise.c:26
      #4  0x0000753240c288ff in __GI_abort () at ./stdlib/abort.c:79
      #5  0x0000753240c2881b in __assert_fail_base (fmt=0x753240dd01e8 "%s%s%s:%u: %s%sAssertion `%s' failed.\n%n", assertion=assertion@entry=0x60ce8d1be125 "*str != '\\0'", file=file@entry=0x60ce8d20ce4c "/test/12.3_dbg/sql/mysqld.cc", line=line@entry=3382, function=function@entry=0x60ce8d2b8332 "void my_message_sql(uint, const char *, myf)") at ./assert/assert.c:94
      #6  0x0000753240c3b507 in __assert_fail (assertion=0x60ce8d1be125 "*str != '\\0'", file=0x60ce8d20ce4c "/test/12.3_dbg/sql/mysqld.cc", line=3382, function=0x60ce8d2b8332 "void my_message_sql(uint, const char *, myf)")at ./assert/assert.c:103
      #7  0x000060ce8d9de740 in my_message_sql (error=1105, str=0x7530dc0429e8 "", MyFlags=0) at /test/12.3_dbg/sql/mysqld.cc:3382
      #8  0x000060ce8e8b820a in my_message (error=1105, str=0x7530dc0429e8 "", MyFlags=0) at /test/12.3_dbg/mysys/my_error.c:192
      #9  0x00007531c1d21671 in connect_assisted_discovery (thd=0x7530dc000d58, table_s=0x753237ffa8e0, create_info=0x753237ffbf78)at /test/12.3_dbg/storage/connect/ha_connect.cc:6368
      #10 0x000060ce8dff1066 in create_table_impl (thd=0x7530dc000d58, ddl_log_state_create=0x753237ffbb58, ddl_log_state_rm=0x753237ffbb38, orig_db=@0x7530dc01a2b0: {<Lex_ident_fs> = {<Lex_ident<Compare_table_names>> = {<Lex_cstring> = {<st_mysql_const_lex_string> = {str = 0x7530dc01a280 "test", length = 4}, <No data fields>}, <No data fields>}, <No data fields>}, <No data fields>}, orig_table_name=@0x7530dc01a2c0: {<Lex_ident_fs> = {<Lex_ident<Compare_table_names>> = {<Lex_cstring> = {<st_mysql_const_lex_string> = {str = 0x7530dc01a250 "t1", length = 2}, <No data fields>}, <No data fields>}, <No data fields>}, <No data fields>}, db=@0x7530dc01a2b0: {str = 0x7530dc01a280 "test", length = 4}, table_name=@0x7530dc01a2c0: {str = 0x7530dc01a250 "t1", length = 2}, path=@0x753237ffb768: {str = 0x753237ffb7f0 "./test/t1", length = 9}, options={m_options = DDL_options_st::OPT_NONE}, create_info=0x753237ffbf78, alter_info=0x753237ffbe00, create_table_mode=-1, is_trans=0x753237ffbb2f, key_info=0x753237ffb7b0, key_count=0x753237ffb7ac, frm=0x753237ffb780)at /test/12.3_dbg/sql/sql_table.cc:4892
      #11 0x000060ce8dff03e5 in mysql_create_table_no_lock (thd=0x7530dc000d58, ddl_log_state_create=0x753237ffbb58, ddl_log_state_rm=0x753237ffbb38, create_info=0x753237ffbf78, alter_info=0x753237ffbe00, is_trans=0x753237ffbb2f, create_table_mode=-1, table_list=0x7530dc01a290)at /test/12.3_dbg/sql/sql_table.cc:5044
      #12 0x000060ce8e009f9d in mysql_create_table (thd=0x7530dc000d58, create_table=0x7530dc01a290, create_info=0x753237ffbf78, alter_info=0x753237ffbe00) at /test/12.3_dbg/sql/sql_table.cc:5290
      #13 0x000060ce8e00876e in Sql_cmd_create_table_like::execute (this=0x7530dc01a218, thd=0x7530dc000d58)at /test/12.3_dbg/sql/sql_table.cc:13850
      #14 0x000060ce8decf459 in mysql_execute_command (thd=0x7530dc000d58, is_called_from_prepared_stmt=false) at /test/12.3_dbg/sql/sql_parse.cc:5901
      #15 0x000060ce8dec0678 in mysql_parse (thd=0x7530dc000d58, rawbuf=0x7530dc01a120 "CREATE TABLE t1 ENGINE=CONNECT table_type=ODBC CATFUNC=COLUMNS CONNECTION='foo'", length=79, parser_state=0x753237ffd9f0)at /test/12.3_dbg/sql/sql_parse.cc:7940
      #16 0x000060ce8debde2e in dispatch_command (command=COM_QUERY, thd=0x7530dc000d58, packet=0x7530dc00b4c9 "CREATE TABLE t1 ENGINE=CONNECT table_type=ODBC CATFUNC=COLUMNS CONNECTION='foo'", packet_length=79, blocking=true)at /test/12.3_dbg/sql/sql_parse.cc:1896
      #17 0x000060ce8dec10fa in do_command (thd=0x7530dc000d58, blocking=true)at /test/12.3_dbg/sql/sql_parse.cc:1432
      #18 0x000060ce8e0c099e in do_handle_one_connection (connect=0x60ce91307528, put_in_cache=true) at /test/12.3_dbg/sql/sql_connect.cc:1503
      #19 0x000060ce8e0c0781 in handle_one_connection (arg=0x60ce912eb0e8)at /test/12.3_dbg/sql/sql_connect.cc:1415
      #20 0x0000753240c9ca94 in start_thread (arg=<optimized out>)at ./nptl/pthread_create.c:447
      #21 0x0000753240d29c3c in clone3 ()at ../sysdeps/unix/sysv/linux/x86_64/clone3.S:78
      

      Bug Detection Matrix

          Rel    o/d  Build   Commit                                    UniqueID observed             
      CS  10.6   dbg  230126  cd02709a315c9f08965d6b8fb7e75baaae17a4f4  *str != '\0'|SIGABRT|my_message_sql|my_message|connect_assisted_discovery|create_table_impl
      CS  10.6   opt  230126  cd02709a315c9f08965d6b8fb7e75baaae17a4f4  No bug found                  
      CS  10.11  dbg  230126  b061b5ab1f2cd2a6993e53dc24a865304ced14cd  *str != '\0'|SIGABRT|my_message_sql|my_message|connect_assisted_discovery|create_table_impl
      CS  10.11  opt  230126  b061b5ab1f2cd2a6993e53dc24a865304ced14cd  No bug found                  
      CS  11.4   dbg  260126  b6d0e23d76fe5936b6a29379ab494852e4d493b1  *str != '\0'|SIGABRT|my_message_sql|my_message|connect_assisted_discovery|create_table_impl
      CS  11.4   opt  260126  b6d0e23d76fe5936b6a29379ab494852e4d493b1  No bug found                  
      CS  11.8   dbg  230126  01ff5ae6b677bead4c41d91bf5afb25c593a1d02  *str != '\0'|SIGABRT|my_message_sql|my_message|connect_assisted_discovery|create_table_impl
      CS  11.8   opt  230126  01ff5ae6b677bead4c41d91bf5afb25c593a1d02  No bug found                  
      CS  12.2   dbg  230126  6ca70dd64ce56da40fad3bcd0641493210dd0a4c  *str != '\0'|SIGABRT|my_message_sql|my_message|connect_assisted_discovery|create_table_impl
      CS  12.2   opt  230126  6ca70dd64ce56da40fad3bcd0641493210dd0a4c  No bug found                  
      CS  12.3   dbg  170226  21a0714a118614982d20bfa504763d7247800091  *str != '\0'|SIGABRT|my_message_sql|my_message|connect_assisted_discovery|create_table_impl
      CS  12.3   opt  170226  21a0714a118614982d20bfa504763d7247800091  No bug found                  
      ES  10.6   dbg  230126  0fe345fff3a0463224ca714831303d40fb83648b  *str != '\0'|SIGABRT|my_message_sql|my_message|connect_assisted_discovery|create_table_impl
      ES  10.6   opt  230126  0fe345fff3a0463224ca714831303d40fb83648b  No bug found                  
      ES  11.4   dbg  230126  34f616d5fd2c649d0c79acb4e2423c90b8f10436  *str != '\0'|SIGABRT|my_message_sql|my_message|connect_assisted_discovery|create_table_impl
      ES  11.4   opt  230126  34f616d5fd2c649d0c79acb4e2423c90b8f10436  No bug found                  
      ES  11.8   dbg  230126  405ee76b60c4ab82155f339136ed20d3b7363717  *str != '\0'|SIGABRT|my_message_sql|my_message|connect_assisted_discovery|create_table_impl
      

      UBASAN builds have a slightly different stack (missing my_message frame):

      CS 12.3.1 21a0714a118614982d20bfa504763d7247800091 (Debug, UBASAN, Clang 21.1.3-20250923) Build 17/02/2026

      mariadbd: /test/12.3_dbg_san/sql/mysqld.cc:3382: void my_message_sql(uint, const char *, myf): Assertion `*str != ''' failed.
      

      CS 12.3.1 21a0714a118614982d20bfa504763d7247800091 (Debug, UBASAN, Clang 21.1.3-20250923) Build 17/02/2026

      Core was generated by `/test/UBASAN_MD170226-mariadb-12.3.1-linux-x86_64-dbg/bin/mariadbd --no-default'.
      Program terminated with signal SIGABRT, Aborted.
      #0  __pthread_kill_implementation (no_tid=0, signo=6, threadid=<optimized out>)at ./nptl/pthread_kill.c:44
       
      [Current thread is 1 (LWP 3046784)]
      (gdb) bt
      #0  __pthread_kill_implementation (no_tid=0, signo=6, threadid=<optimized out>)at ./nptl/pthread_kill.c:44
      #1  __pthread_kill_internal (signo=6, threadid=<optimized out>)at ./nptl/pthread_kill.c:78
      #2  __GI___pthread_kill (threadid=<optimized out>, signo=6)at ./nptl/pthread_kill.c:89
      #3  0x0000580ba90b83b0 in handle_fatal_signal (sig=<optimized out>)at /test/12.3_dbg_san/sql/signal_handler.cc:298
      #4  <signal handler called>
      #5  __pthread_kill_implementation (no_tid=0, signo=6, threadid=<optimized out>)at ./nptl/pthread_kill.c:44
      #6  __pthread_kill_internal (signo=6, threadid=<optimized out>)at ./nptl/pthread_kill.c:78
      #7  __GI___pthread_kill (threadid=<optimized out>, signo=signo@entry=6)at ./nptl/pthread_kill.c:89
      #8  0x000074ad1a04526e in __GI_raise (sig=sig@entry=6)at ../sysdeps/posix/raise.c:26
      #9  0x000074ad1a0288ff in __GI_abort () at ./stdlib/abort.c:79
      #10 0x000074ad1a02881b in __assert_fail_base (fmt=0x74ad1a1d01e8 "%s%s%s:%u: %s%sAssertion `%s' failed.\n%n", assertion=assertion@entry=0x580ba7748200 <str> "*str != '\\0'", file=file@entry=0x580ba7743f6c "/test/12.3_dbg_san/sql/mysqld.cc", line=line@entry=3382, function=function@entry=0x580ba77481a0 <__PRETTY_FUNCTION__.my_message_sql> "void my_message_sql(uint, const char *, myf)") at ./assert/assert.c:94
      #11 0x000074ad1a03b507 in __assert_fail (assertion=0x580ba7748200 <str> "*str != '\\0'", file=0x580ba7743f6c "/test/12.3_dbg_san/sql/mysqld.cc", line=3382, function=0x580ba77481a0 <__PRETTY_FUNCTION__.my_message_sql> "void my_message_sql(uint, const char *, myf)") at ./assert/assert.c:103
      #12 0x0000580ba887e9c3 in my_message_sql (error=1105, str=0x72fd18ef7118 "", MyFlags=0) at /test/12.3_dbg_san/sql/mysqld.cc:3382
      #13 0x000070ac111138cd in connect_assisted_discovery (thd=0x736d18fd0218, table_s=<optimized out>, create_info=<optimized out>)at /test/12.3_dbg_san/storage/connect/ha_connect.cc:6368
      #14 0x0000580ba9e39e69 in create_table_impl (thd=<optimized out>, ddl_log_state_create=0x70ac12129e40, ddl_log_state_rm=<optimized out>, orig_db=<optimized out>, orig_table_name=<optimized out>, db=<optimized out>, table_name=<optimized out>, path=<optimized out>, options=<optimized out>, create_info=<optimized out>, alter_info=<optimized out>, create_table_mode=<optimized out>, is_trans=<optimized out>, key_info=<optimized out>, key_count=<optimized out>, frm=<optimized out>)at /test/12.3_dbg_san/sql/sql_table.cc:4892
      #15 0x0000580ba9e37329 in mysql_create_table_no_lock (thd=<optimized out>, ddl_log_state_create=<optimized out>, ddl_log_state_rm=<optimized out>, create_info=<optimized out>, alter_info=<optimized out>, is_trans=<optimized out>, create_table_mode=<optimized out>, table_list=<optimized out>) at /test/12.3_dbg_san/sql/sql_table.cc:5044
      #16 0x0000580ba9eac6d7 in mysql_create_table (thd=<optimized out>, create_table=<optimized out>, create_info=0x70ac12338890, alter_info=<optimized out>) at /test/12.3_dbg_san/sql/sql_table.cc:5290
      #17 0x0000580ba9ea5cec in Sql_cmd_create_table_like::execute (this=<optimized out>, thd=0x736d18fd0218)at /test/12.3_dbg_san/sql/sql_table.cc:13850
      #18 0x0000580ba995695e in mysql_execute_command (thd=0x736d18fd0218, is_called_from_prepared_stmt=<optimized out>)at /test/12.3_dbg_san/sql/sql_parse.cc:5901
      #19 0x0000580ba9939679 in mysql_parse (thd=thd@entry=0x736d18fd0218, rawbuf=<optimized out>, length=<optimized out>, parser_state=parser_state@entry=0x70ac1251b7c0)at /test/12.3_dbg_san/sql/sql_parse.cc:7940
      #20 0x0000580ba993137f in dispatch_command (command=<optimized out>, thd=0x736d18fd0218, packet=<optimized out>, packet_length=<optimized out>, blocking=<optimized out>) at /test/12.3_dbg_san/sql/sql_parse.cc:1896
      #21 0x0000580ba993babb in do_command (thd=thd@entry=0x736d18fd0218, blocking=<optimized out>) at /test/12.3_dbg_san/sql/sql_parse.cc:1432
      #22 0x0000580baa16821d in do_handle_one_connection (connect=<optimized out>, connect@entry=0x712d18e25a38, put_in_cache=<optimized out>)at /test/12.3_dbg_san/sql/sql_connect.cc:1503
      #23 0x0000580baa167d26 in handle_one_connection (arg=0x712d18e25a38)at /test/12.3_dbg_san/sql/sql_connect.cc:1415
      #24 0x0000580ba883182b in asan_thread_start(void*) ()
      #25 0x000074ad1a09ca94 in start_thread (arg=<optimized out>)at ./nptl/pthread_create.c:447
      #26 0x000074ad1a129c3c in clone3 ()at ../sysdeps/unix/sysv/linux/x86_64/clone3.S:78
      

      Note: CS 12.3 (build 17/2/26) includes the MDEV-38654 patch 7b9d3a4df6c925b5f195df493580cc2bb51c11d8

      Attachments

        Issue Links

          Activity

            People

              serg Sergei Golubchik
              Roel Roel Van de Paar
              Votes:
              0 Vote for this issue
              Watchers:
              2 Start watching this issue

              Dates

                Created:
                Updated:
                Resolved:

                Git Integration

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