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

Assertion `field.is_sane()' failed in Protocol_text::store_field_metadata upon column-specific versioning

    XMLWordPrintable

Details

    Description

      --source include/have_innodb.inc
       
      CREATE TABLE t (a INT WITH SYSTEM VERSIONING, s BIGINT AS ROW START, e BIGINT AS ROW END) ENGINE=InnoDB;
      SELECT * FROM t;
       
      # Cleanup
      DROP TABLE t;
      

      10.5 4c3ad244

      mariadbd: /data/src/10.5/sql/protocol.cc:844: virtual bool Protocol_text::store_field_metadata(const THD*, const Send_field&, CHARSET_INFO*, uint): Assertion `field.is_sane()' failed.
      220106  1:14:15 [ERROR] mysqld got signal 6 ;
       
      #7  0x00007f44c7ed3662 in __GI___assert_fail (assertion=0x55b66fcd4133 "field.is_sane()", file=0x55b66fcd3bd0 "/data/src/10.5/sql/protocol.cc", line=844, function=0x55b66fcd4148 "virtual bool Protocol_text::store_field_metadata(const THD*, const Send_field&, CHARSET_INFO*, uint)") at assert.c:101
      #8  0x000055b66ee5d7e8 in Protocol_text::store_field_metadata (this=0x7f44c127c4b0, thd=0x7f4484000db8, field=..., charset_for_protocol=0x55b6706fe4a0 <my_charset_bin>, fieldnr=1) at /data/src/10.5/sql/protocol.cc:844
      #9  0x000055b66ee5e5e9 in Protocol_text::store_item_metadata (this=0x7f44c127c4b0, thd=0x7f4484000db8, item=0x7f4484017668, pos=1) at /data/src/10.5/sql/protocol.cc:1042
      #10 0x000055b66ee5dff5 in Protocol::send_result_set_metadata (this=0x7f4484001390, list=0x7f44840154c8, flags=3) at /data/src/10.5/sql/protocol.cc:959
      #11 0x000055b66ef187f4 in select_send::send_result_set_metadata (this=0x7f44840169f0, list=..., flags=3) at /data/src/10.5/sql/sql_class.cc:3036
      #12 0x000055b66efe84ad in JOIN::exec_inner (this=0x7f4484016a18) at /data/src/10.5/sql/sql_select.cc:4512
      #13 0x000055b66efe7605 in JOIN::exec (this=0x7f4484016a18) at /data/src/10.5/sql/sql_select.cc:4296
      #14 0x000055b66efe8e5b in mysql_select (thd=0x7f4484000db8, tables=0x7f4484015988, fields=..., conds=0x0, og_num=0, order=0x0, group=0x0, having=0x0, proc_param=0x0, select_options=2147748608, result=0x7f44840169f0, unit=0x7f4484004f60, select_lex=0x7f4484015378) at /data/src/10.5/sql/sql_select.cc:4773
      #15 0x000055b66efd8877 in handle_select (thd=0x7f4484000db8, lex=0x7f4484004e98, result=0x7f44840169f0, setup_tables_done_option=0) at /data/src/10.5/sql/sql_select.cc:444
      #16 0x000055b66ef9b802 in execute_sqlcom_select (thd=0x7f4484000db8, all_tables=0x7f4484015988) at /data/src/10.5/sql/sql_parse.cc:6314
      #17 0x000055b66ef92b21 in mysql_execute_command (thd=0x7f4484000db8) at /data/src/10.5/sql/sql_parse.cc:4005
      #18 0x000055b66efa05e3 in mysql_parse (thd=0x7f4484000db8, rawbuf=0x7f4484015300 "SELECT * FROM t", length=15, parser_state=0x7f44c127d510, is_com_multi=false, is_next_command=false) at /data/src/10.5/sql/sql_parse.cc:8100
      #19 0x000055b66ef8c6f4 in dispatch_command (command=COM_QUERY, thd=0x7f4484000db8, packet=0x7f448400b5b9 "", packet_length=15, is_com_multi=false, is_next_command=false) at /data/src/10.5/sql/sql_parse.cc:1891
      #20 0x000055b66ef8af0d in do_command (thd=0x7f4484000db8) at /data/src/10.5/sql/sql_parse.cc:1370
      #21 0x000055b66f137293 in do_handle_one_connection (connect=0x55b67390e8b8, put_in_cache=true) at /data/src/10.5/sql/sql_connect.cc:1418
      #22 0x000055b66f136f55 in handle_one_connection (arg=0x55b673815e18) at /data/src/10.5/sql/sql_connect.cc:1312
      #23 0x000055b66f6448ba in pfs_spawn_thread (arg=0x55b67390e4f8) at /data/src/10.5/storage/perfschema/pfs.cc:2201
      #24 0x00007f44c839fea7 in start_thread (arg=<optimized out>) at pthread_create.c:477
      #25 0x00007f44c7f9cdef in clone () at ../sysdeps/unix/sysv/linux/x86_64/clone.S:95
      

      The failure started happening on 10.5 after this merge:

      commit 9c18b9660302a76a6ff9bd505888048a13586a4c
      Merge: d8d6e995282 47ab793d71f
      Author: Marko Mäkelä
      Date:   Tue Nov 9 08:50:33 2021 +0200
       
          Merge 10.4 into 10.5
      

      Apparently after this commit:

      commit c8cece91440edb77aa43b8ba20930fa91514308e (origin/bb-10.3-midenok)
      Author: Aleksey Midenkov
      Date:   Tue Nov 2 04:52:04 2021 +0300
       
          MDEV-26928 Column-inclusive WITH SYSTEM VERSIONING doesn't work with explicit system fields
      

      Before, CREATE would fail with ER_MISSING error.
      However, the commit went to 10.3. The assertion exists in at least 10.4, but the failure isn't reproducible on 10.4 on whatever reason, only on 10.5+.

      Attachments

        Issue Links

          Activity

            People

              midenok Aleksey Midenkov
              elenst Elena Stepanova
              Votes:
              0 Vote for this issue
              Watchers:
              1 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.