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

Assertion `field_pos < field_count' failed in Protocol_text::store, Assertion `field_handlers == 0 || field_pos < field_count'

Details

    Description

      CREATE TABLE t1 (ct time);
      INSERT INTO t1 VALUES ('16:11:28');
       
      DELIMITER @@@;
      CREATE FUNCTION f1 () RETURNS varchar(100) 
      BEGIN 
      DECLARE xxx varchar(100); 
      ANALYZE SELECT sum(ct) FROM t1 INTO xxx ; 
      RETURN xxx; 
      END@@@
       
      DELIMITER ;@@@
      --error 2000
      SELECT f1();
      --error 0
      SELECT f1();
      

      10.2 0d7cf06af5c952f4beaf2

      mysqld: /10.2/src/sql/protocol.cc:1119: virtual bool Protocol_text::store(const char*, size_t, CHARSET_INFO*): Assertion `field_pos < field_count' failed.
       
      stdlib/abort.c:91(__GI_abort)[0x7fb4930ff02a]
      assert/assert.c:92(__assert_fail_base)[0x7fb4930f5bd7]
      /lib/x86_64-linux-gnu/libc.so.6(+0x2dc82)[0x7fb4930f5c82]
      sql/protocol.cc:1120(Protocol_text::store(char const*, unsigned long, charset_info_st const*))[0x55d546f3a851]
      sql/item.cc:6864(Item::send(Protocol*, String*))[0x55d547719f29]
      sql/protocol.cc:979(Protocol::send_result_set_row(List<Item>*))[0x55d546f39adc]
      sql/sql_class.cc:2708(select_send::send_data(List<Item>&))[0x55d5470536f0]
      sql/sql_select.cc:3495(JOIN::exec_inner())[0x55d5471a59f7]
      sql/sql_select.cc:3417(JOIN::exec())[0x55d5471a4874]
      sql/sql_select.cc:3818(mysql_select(THD*, TABLE_LIST*, unsigned int, List<Item>&, Item*, unsigned int, st_order*, st_order*, Item*, st_order*, unsigned long long, select_result*, st_select_lex_unit*, st_select_lex*))[0x55d5471a7bc1]
      sql/sql_select.cc:376(handle_select(THD*, LEX*, select_result*, unsigned long))[0x55d5471873dd]
      sql/sql_parse.cc:6479(execute_sqlcom_select(THD*, TABLE_LIST*))[0x55d54710df28]
      sql/sql_parse.cc:3485(mysql_execute_command(THD*))[0x55d5470faf21]
      sql/sql_parse.cc:8013(mysql_parse(THD*, char*, unsigned int, Parser_state*, bool, bool))[0x55d54711668d]
      sql/sql_parse.cc:1826(dispatch_command(enum_server_command, THD*, char*, unsigned int, bool, bool))[0x55d5470f1b74]
      sql/sql_parse.cc:1378(do_command(THD*))[0x55d5470eed28]
      sql/sql_connect.cc:1335(do_handle_one_connection(CONNECT*))[0x55d547414be4]
      sql/sql_connect.cc:1242(handle_one_connection)[0x55d5474145ec]
      /lib/x86_64-linux-gnu/libpthread.so.0(+0x76ba)[0x7fb493d3a6ba]
      x86_64/clone.S:111(clone)[0x7fb4931cf41d]
      

      Attachments

        Issue Links

          Activity

            alice Alice Sherepa added a comment -

            create table t1 ( pk int) ;
            insert into t1 values (10);
             
            --disable_warnings
            delimiter $$;
             
            create function f1() returns varchar(16000) 
            begin 
            declare ret varchar(16000);  
            analyze format=json select t1.`pk` from t1 into ret;
            return ret;
            end$$
            delimiter ;$$
             
            select f1();
            --error 0
            select 1;
            
            

            10.4 e8392e58b2a5a69f

             10.4/src/sql/protocol.cc:1164: virtual bool Protocol_text::store(const char*, size_t, CHARSET_INFO*): Assertion `field_handlers == 0 || field_pos < field_count' failed.
             
            190705 17:36:09 [ERROR] mysqld got signal 6 ;
             
            /lib/x86_64-linux-gnu/libpthread.so.0(+0x11390)[0x7f3276bb6390]
            linux/raise.c:54(__GI_raise)[0x7f3275d6b428]
            stdlib/abort.c:91(__GI_abort)[0x7f3275d6d02a]
            assert/assert.c:92(__assert_fail_base)[0x7f3275d63bd7]
            sql/protocol.cc:1165(Protocol_text::store(char const*, unsigned long, charset_info_st const*))[0x5607801089cb]
            sql/sql_type.cc:6745(Type_handler::Item_send_str(Item*, Protocol*, st_value*) const)[0x560780435299]
            sql/sql_type.h:4659(Type_handler_string_result::Item_send(Item*, Protocol*, st_value*) const)[0x560780440d76]
            sql/item.h:1036(Item::send(Protocol*, st_value*))[0x5607801083f1]
            sql/protocol.cc:1035(Protocol::send_result_set_row(List<Item>*))[0x5607801b68f0]
            sql/sql_class.cc:3005(select_send::send_data(List<Item>&))[0x560780275083]
            sql/sql_select.cc:4257(JOIN::exec_inner())[0x56078027499e]
            sql/sql_select.cc:4174(JOIN::exec())[0x560780276043]
            sql/sql_select.cc:4607(mysql_select(THD*, TABLE_LIST*, unsigned int, List<Item>&, Item*, unsigned int, st_order*, st_order*, Item*, st_order*, unsigned long long, select_result*, st_select_lex_unit*, st_select_lex*))[0x56078026660c]
            sql/sql_select.cc:425(handle_select(THD*, LEX*, select_result*, unsigned long))[0x56078022ff48]
            sql/sql_parse.cc:6340(execute_sqlcom_select(THD*, TABLE_LIST*))[0x560780225d96]
            sql/sql_parse.cc:3882(mysql_execute_command(THD*))[0x560780233d20]
            sql/sql_parse.cc:7892(mysql_parse(THD*, char*, unsigned int, Parser_state*, bool, bool))[0x56078021ff8f]
            sql/sql_parse.cc:1829(dispatch_command(enum_server_command, THD*, char*, unsigned int, bool, bool))[0x56078021e721]
            sql/sql_parse.cc:1360(do_command(THD*))[0x56078039889e]
            sql/sql_connect.cc:1404(do_handle_one_connection(CONNECT*))[0x5607803985c7]
            /lib/x86_64-linux-gnu/libpthread.so.0(+0x76ba)[0x7f3276bac6ba]
            x86_64/clone.S:111(clone)[0x7f3275e3d41d]
            

            alice Alice Sherepa added a comment - create table t1 ( pk int ) ; insert into t1 values (10);   --disable_warnings delimiter $$;   create function f1() returns varchar (16000) begin declare ret varchar (16000); analyze format=json select t1.`pk` from t1 into ret; return ret; end $$ delimiter ;$$   select f1(); --error 0 select 1; 10.4 e8392e58b2a5a69f 10.4/src/sql/protocol.cc:1164: virtual bool Protocol_text::store(const char*, size_t, CHARSET_INFO*): Assertion `field_handlers == 0 || field_pos < field_count' failed.   190705 17:36:09 [ERROR] mysqld got signal 6 ;   /lib/x86_64-linux-gnu/libpthread.so.0(+0x11390)[0x7f3276bb6390] linux/raise.c:54(__GI_raise)[0x7f3275d6b428] stdlib/abort.c:91(__GI_abort)[0x7f3275d6d02a] assert/assert.c:92(__assert_fail_base)[0x7f3275d63bd7] sql/protocol.cc:1165(Protocol_text::store(char const*, unsigned long, charset_info_st const*))[0x5607801089cb] sql/sql_type.cc:6745(Type_handler::Item_send_str(Item*, Protocol*, st_value*) const)[0x560780435299] sql/sql_type.h:4659(Type_handler_string_result::Item_send(Item*, Protocol*, st_value*) const)[0x560780440d76] sql/item.h:1036(Item::send(Protocol*, st_value*))[0x5607801083f1] sql/protocol.cc:1035(Protocol::send_result_set_row(List<Item>*))[0x5607801b68f0] sql/sql_class.cc:3005(select_send::send_data(List<Item>&))[0x560780275083] sql/sql_select.cc:4257(JOIN::exec_inner())[0x56078027499e] sql/sql_select.cc:4174(JOIN::exec())[0x560780276043] sql/sql_select.cc:4607(mysql_select(THD*, TABLE_LIST*, unsigned int, List<Item>&, Item*, unsigned int, st_order*, st_order*, Item*, st_order*, unsigned long long, select_result*, st_select_lex_unit*, st_select_lex*))[0x56078026660c] sql/sql_select.cc:425(handle_select(THD*, LEX*, select_result*, unsigned long))[0x56078022ff48] sql/sql_parse.cc:6340(execute_sqlcom_select(THD*, TABLE_LIST*))[0x560780225d96] sql/sql_parse.cc:3882(mysql_execute_command(THD*))[0x560780233d20] sql/sql_parse.cc:7892(mysql_parse(THD*, char*, unsigned int, Parser_state*, bool, bool))[0x56078021ff8f] sql/sql_parse.cc:1829(dispatch_command(enum_server_command, THD*, char*, unsigned int, bool, bool))[0x56078021e721] sql/sql_parse.cc:1360(do_command(THD*))[0x56078039889e] sql/sql_connect.cc:1404(do_handle_one_connection(CONNECT*))[0x5607803985c7] /lib/x86_64-linux-gnu/libpthread.so.0(+0x76ba)[0x7f3276bac6ba] x86_64/clone.S:111(clone)[0x7f3275e3d41d]

            upgrading to critical, as it was already found twice

            serg Sergei Golubchik added a comment - upgrading to critical, as it was already found twice
            varun Varun Gupta (Inactive) added a comment - Patch http://lists.askmonty.org/pipermail/commits/2019-July/013891.html

            Ok to push

            psergei Sergei Petrunia added a comment - Ok to push

            People

              varun Varun Gupta (Inactive)
              alice Alice Sherepa
              Votes:
              0 Vote for this issue
              Watchers:
              4 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.