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

Possibly wrong result or Assertion `0' failed in Item_func_round::native_op

Details

    Description

      The test case is not very smart and the debug assertion wouldn't be really important, but the concern is a result which is very different on 10.4+ from 10.3 (and from MySQL 5.6-8.0). It is hard to say which is correct, but it needs to be checked whether the change was intentional.

      CREATE TABLE t1 (a TIME, b INT);
      INSERT INTO t1 VALUES ('07:26:24',NULL),('23:55:04',NULL);
      SELECT MAX(ROUND(a, 0)) FROM t1 GROUP BY 1 << b;
       
      # Cleanup
      DROP TABLE t1;
      

      10.4 non-debug 29847a37

      SELECT MAX(ROUND(a, 0)) FROM t1 GROUP BY 1 << b;
      MAX(ROUND(a, 0))
      07:26:24
      DROP TABLE t1;
      

      Compare with the result on 10.3 (same on MySQL 5.6-8.0):

      10.3 ade782c0

      SELECT MAX(ROUND(a, 0)) FROM t1 GROUP BY 1 << b;
      MAX(ROUND(a, 0))
      235504
      DROP TABLE t1;
      

      Debug build of 10.4+ produces an assertion failure (10.3 doesn't).

      10.4 29847a37

      mysqld: /data/src/10.4/sql/item_func.h:1786: virtual bool Item_func_round::native_op(THD*, Native*): Assertion `0' failed.
      200929  2:49:11 [ERROR] mysqld got signal 6 ;
       
      #7  0x00007f591cd40f36 in __GI___assert_fail (assertion=0x561aba060467 "0", file=0x561aba0607d0 "/data/src/10.4/sql/item_func.h", line=1786, function=0x561aba060ed0 "virtual bool Item_func_round::native_op(THD*, Native*)") at assert.c:101
      #8  0x0000561ab95038d0 in Item_func_round::native_op (this=0x7f58fc013b58, thd=0x7f58fc000d90, to=0x7f58fc0159f8) at /data/src/10.4/sql/item_func.h:1786
      #9  0x0000561ab90d5e27 in Item_func_hybrid_field_type::val_native (this=0x7f58fc013b58, thd=0x7f58fc000d90, to=0x7f58fc0159f8) at /data/src/10.4/sql/item_func.h:820
      #10 0x0000561ab95627f4 in Arg_comparator::min_max_update_field_native (this=0x7f58fc015930, thd=0x7f58fc000d90, field=0x7f58fc0589a0, item=0x7f58fc013b58, cmp_sign=-1) at /data/src/10.4/sql/item_sum.cc:3113
      #11 0x0000561ab9562ab6 in Item_sum_min_max::min_max_update_native_field (this=0x7f58fc013c28) at /data/src/10.4/sql/item_sum.cc:3136
      #12 0x0000561ab95626a3 in Item_sum_min_max::update_field (this=0x7f58fc013c28) at /data/src/10.4/sql/item_sum.cc:3079
      #13 0x0000561ab917e926 in update_tmptable_sum_func (func_ptr=0x7f58fc015ab8, tmp_table=0x7f58fc057038) at /data/src/10.4/sql/sql_select.cc:25435
      #14 0x0000561ab9175706 in end_update (join=0x7f58fc0150b0, join_tab=0x7f58fc016a78, end_of_records=false) at /data/src/10.4/sql/sql_select.cc:21919
      #15 0x0000561ab91884dc in AGGR_OP::put_record (this=0x7f58fc017460, end_of_records=false) at /data/src/10.4/sql/sql_select.cc:28674
      #16 0x0000561ab918e9ef in AGGR_OP::put_record (this=0x7f58fc017460) at /data/src/10.4/sql/sql_select.h:1048
      #17 0x0000561ab9171068 in sub_select_postjoin_aggr (join=0x7f58fc0150b0, join_tab=0x7f58fc016a78, end_of_records=false) at /data/src/10.4/sql/sql_select.cc:20128
      #18 0x0000561ab9171cfa in evaluate_join_record (join=0x7f58fc0150b0, join_tab=0x7f58fc0166d0, error=0) at /data/src/10.4/sql/sql_select.cc:20628
      #19 0x0000561ab917178c in sub_select (join=0x7f58fc0150b0, join_tab=0x7f58fc0166d0, end_of_records=false) at /data/src/10.4/sql/sql_select.cc:20447
      #20 0x0000561ab9170a9c in do_select (join=0x7f58fc0150b0, procedure=0x0) at /data/src/10.4/sql/sql_select.cc:19946
      #21 0x0000561ab91457ab in JOIN::exec_inner (this=0x7f58fc0150b0) at /data/src/10.4/sql/sql_select.cc:4478
      #22 0x0000561ab91448da in JOIN::exec (this=0x7f58fc0150b0) at /data/src/10.4/sql/sql_select.cc:4260
      #23 0x0000561ab914602e in mysql_select (thd=0x7f58fc000d90, tables=0x7f58fc013e00, wild_num=0, fields=..., conds=0x0, og_num=1, order=0x0, group=0x7f58fc014748, having=0x0, proc_param=0x0, select_options=2147748608, result=0x7f58fc015088, unit=0x7f58fc004cb8, select_lex=0x7f58fc0134f8) at /data/src/10.4/sql/sql_select.cc:4695
      #24 0x0000561ab9135a3f in handle_select (thd=0x7f58fc000d90, lex=0x7f58fc004bf8, result=0x7f58fc015088, setup_tables_done_option=0) at /data/src/10.4/sql/sql_select.cc:410
      #25 0x0000561ab90fb4c4 in execute_sqlcom_select (thd=0x7f58fc000d90, all_tables=0x7f58fc013e00) at /data/src/10.4/sql/sql_parse.cc:6355
      #26 0x0000561ab90f1b16 in mysql_execute_command (thd=0x7f58fc000d90) at /data/src/10.4/sql/sql_parse.cc:3889
      #27 0x0000561ab90ff4cf in mysql_parse (thd=0x7f58fc000d90, rawbuf=0x7f58fc013438 "SELECT MAX(ROUND(a, 0)) FROM t1 GROUP BY 1 << b", length=47, parser_state=0x7f5912cff550, is_com_multi=false, is_next_command=false) at /data/src/10.4/sql/sql_parse.cc:7896
      #28 0x0000561ab90eb9de in dispatch_command (command=COM_QUERY, thd=0x7f58fc000d90, packet=0x7f58fc008791 "", packet_length=47, is_com_multi=false, is_next_command=false) at /data/src/10.4/sql/sql_parse.cc:1834
      #29 0x0000561ab90ea246 in do_command (thd=0x7f58fc000d90) at /data/src/10.4/sql/sql_parse.cc:1352
      #30 0x0000561ab9277e95 in do_handle_one_connection (connect=0x561abbe0b030) at /data/src/10.4/sql/sql_connect.cc:1412
      #31 0x0000561ab9277bde in handle_one_connection (arg=0x561abbe0b030) at /data/src/10.4/sql/sql_connect.cc:1316
      #32 0x0000561ab9c9230c in pfs_spawn_thread (arg=0x561abbd111b0) at /data/src/10.4/storage/perfschema/pfs.cc:1869
      #33 0x00007f591d258609 in start_thread (arg=<optimized out>) at pthread_create.c:477
      #34 0x00007f591ce2c293 in clone () at ../sysdeps/unix/sysv/linux/x86_64/clone.S:95
      

      Attachments

        Issue Links

          Activity

            alice Alice Sherepa added a comment -

            similar test, slight variation

            create table t1 (a time, b int);
            insert into t1 values ('07:26:24',1),('23:55:04',1);
            select min(ceiling(a)) from t1 group by b;
            drop table t1;
            

            10.4 e9d86d80bef50e29a1f7cf7e7

            Version: '10.4.18-MariaDB-debug-log' 
            mysqld: /10.4/sql/item_func.h:1730: virtual bool Item_func_int_val::native_op(THD*, Native*): Assertion `0' failed.
            201214 14:48:47 [ERROR] mysqld got signal 6 ;
             
            Server version: 10.4.18-MariaDB-debug-log
             
            linux/raise.c:51(__GI_raise)[0x7f9aacf0f7bb]
            stdlib/abort.c:81(__GI_abort)[0x7f9aacefa535]
            intl/loadmsgcat.c:1177(_nl_load_domain)[0x7f9aacefa40f]
            /lib/x86_64-linux-gnu/libc.so.6(+0x30102)[0x7f9aacf08102]
            sql/item_func.h:1731(Item_func_int_val::native_op(THD*, Native*))[0x55ad44c2ed33]
            sql/item_func.h:821(Item_func_hybrid_field_type::val_native(THD*, Native*))[0x55ad4428ee79]
            sql/item_sum.cc:3116(Arg_comparator::min_max_update_field_native(THD*, Field*, Item*, int))[0x55ad44d0d677]
            sql/item_sum.cc:3140(Item_sum_min_max::min_max_update_native_field())[0x55ad44d0dd49]
            sql/item_sum.cc:3082(Item_sum_min_max::update_field())[0x55ad44d0d2f4]
            sql/sql_select.cc:25429(update_tmptable_sum_func(Item_sum**, TABLE*))[0x55ad4442cf76]
            sql/sql_select.cc:21917(end_update(JOIN*, st_join_table*, bool))[0x55ad44413705]
            sql/sql_select.cc:28669(AGGR_OP::put_record(bool))[0x55ad44445cc4]
            sql/sql_select.h:1048(AGGR_OP::put_record())[0x55ad444546bb]
            sql/sql_select.cc:20125(sub_select_postjoin_aggr(JOIN*, st_join_table*, bool))[0x55ad44405e00]
            sql/sql_select.cc:20625(evaluate_join_record(JOIN*, st_join_table*, int))[0x55ad44408444]
            sql/sql_select.cc:20444(sub_select(JOIN*, st_join_table*, bool))[0x55ad444074a8]
            sql/sql_select.cc:19943(do_select(JOIN*, Procedure*))[0x55ad444050a0]
            sql/sql_select.cc:4482(JOIN::exec_inner())[0x55ad443962af]
            sql/sql_select.cc:4265(JOIN::exec())[0x55ad4439391e]
            sql/sql_select.cc:4701(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*))[0x55ad443978c8]
            sql/sql_select.cc:410(handle_select(THD*, LEX*, select_result*, unsigned long))[0x55ad443695fe]
            sql/sql_parse.cc:6398(execute_sqlcom_select(THD*, TABLE_LIST*))[0x55ad442dc997]
            sql/sql_parse.cc:3925(mysql_execute_command(THD*))[0x55ad442ca27e]
            sql/sql_parse.cc:7936(mysql_parse(THD*, char*, unsigned int, Parser_state*, bool, bool))[0x55ad442e5a61]
            sql/sql_parse.cc:1842(dispatch_command(enum_server_command, THD*, char*, unsigned int, bool, bool))[0x55ad442bcd51]
            sql/sql_parse.cc:1357(do_command(THD*))[0x55ad442b97d0]
            sql/sql_connect.cc:1412(do_handle_one_connection(CONNECT*))[0x55ad4469897f]
            sql/sql_connect.cc:1317(handle_one_connection)[0x55ad44698221]
            perfschema/pfs.cc:1871(pfs_spawn_thread)[0x55ad45cd3cd5]
            nptl/pthread_create.c:487(start_thread)[0x7f9aad9cafa3]
            x86_64/clone.S:97(clone)[0x7f9aacfd14cf]
             
            Query (0x62b000062290): select min(ceiling(a)) from t1 group by b
            

            alice Alice Sherepa added a comment - similar test, slight variation create table t1 (a time , b int ); insert into t1 values ( '07:26:24' ,1),( '23:55:04' ,1); select min (ceiling(a)) from t1 group by b; drop table t1; 10.4 e9d86d80bef50e29a1f7cf7e7 Version: '10.4.18-MariaDB-debug-log' mysqld: /10.4/sql/item_func.h:1730: virtual bool Item_func_int_val::native_op(THD*, Native*): Assertion `0' failed. 201214 14:48:47 [ERROR] mysqld got signal 6 ;   Server version: 10.4.18-MariaDB-debug-log   linux/raise.c:51(__GI_raise)[0x7f9aacf0f7bb] stdlib/abort.c:81(__GI_abort)[0x7f9aacefa535] intl/loadmsgcat.c:1177(_nl_load_domain)[0x7f9aacefa40f] /lib/x86_64-linux-gnu/libc.so.6(+0x30102)[0x7f9aacf08102] sql/item_func.h:1731(Item_func_int_val::native_op(THD*, Native*))[0x55ad44c2ed33] sql/item_func.h:821(Item_func_hybrid_field_type::val_native(THD*, Native*))[0x55ad4428ee79] sql/item_sum.cc:3116(Arg_comparator::min_max_update_field_native(THD*, Field*, Item*, int))[0x55ad44d0d677] sql/item_sum.cc:3140(Item_sum_min_max::min_max_update_native_field())[0x55ad44d0dd49] sql/item_sum.cc:3082(Item_sum_min_max::update_field())[0x55ad44d0d2f4] sql/sql_select.cc:25429(update_tmptable_sum_func(Item_sum**, TABLE*))[0x55ad4442cf76] sql/sql_select.cc:21917(end_update(JOIN*, st_join_table*, bool))[0x55ad44413705] sql/sql_select.cc:28669(AGGR_OP::put_record(bool))[0x55ad44445cc4] sql/sql_select.h:1048(AGGR_OP::put_record())[0x55ad444546bb] sql/sql_select.cc:20125(sub_select_postjoin_aggr(JOIN*, st_join_table*, bool))[0x55ad44405e00] sql/sql_select.cc:20625(evaluate_join_record(JOIN*, st_join_table*, int))[0x55ad44408444] sql/sql_select.cc:20444(sub_select(JOIN*, st_join_table*, bool))[0x55ad444074a8] sql/sql_select.cc:19943(do_select(JOIN*, Procedure*))[0x55ad444050a0] sql/sql_select.cc:4482(JOIN::exec_inner())[0x55ad443962af] sql/sql_select.cc:4265(JOIN::exec())[0x55ad4439391e] sql/sql_select.cc:4701(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*))[0x55ad443978c8] sql/sql_select.cc:410(handle_select(THD*, LEX*, select_result*, unsigned long))[0x55ad443695fe] sql/sql_parse.cc:6398(execute_sqlcom_select(THD*, TABLE_LIST*))[0x55ad442dc997] sql/sql_parse.cc:3925(mysql_execute_command(THD*))[0x55ad442ca27e] sql/sql_parse.cc:7936(mysql_parse(THD*, char*, unsigned int, Parser_state*, bool, bool))[0x55ad442e5a61] sql/sql_parse.cc:1842(dispatch_command(enum_server_command, THD*, char*, unsigned int, bool, bool))[0x55ad442bcd51] sql/sql_parse.cc:1357(do_command(THD*))[0x55ad442b97d0] sql/sql_connect.cc:1412(do_handle_one_connection(CONNECT*))[0x55ad4469897f] sql/sql_connect.cc:1317(handle_one_connection)[0x55ad44698221] perfschema/pfs.cc:1871(pfs_spawn_thread)[0x55ad45cd3cd5] nptl/pthread_create.c:487(start_thread)[0x7f9aad9cafa3] x86_64/clone.S:97(clone)[0x7f9aacfd14cf]   Query (0x62b000062290): select min(ceiling(a)) from t1 group by b
            elenst Elena Stepanova added a comment - - edited

            Here is a test case specific to Spider / partitioning. It features more complicated data structure but a bit simpler query. I don't think it is worth filing separately, at least until this bug is fixed, but nayuta-yanagisawa FYI.

            --source plugin/spider/spider/include/init_spider.inc
            --source include/have_partition.inc
             
            SET spider_same_server_link= on;
            eval create server s foreign data wrapper mysql options (host "127.0.0.1", database "test", user "root", port $MASTER_MYPORT);
             
            CREATE TABLE t1 (a TIME, b INT);
            INSERT INTO t1 VALUES ('10:00:00',1),('20:00:00',2);
            CREATE TABLE t2 (a TIME, b INT);
            INSERT INTO t2 VALUES ('11:00:00',3),('12:00:00',2);
             
            CREATE TABLE t_spider (a TIME, b INT) ENGINE=SPIDER PARTITION BY HASH(b) (
              PARTITION p1 COMMENT = "wrapper 'mysql', srv 's', table 't1'",
              PARTITION p2 COMMENT = "wrapper 'mysql', srv 's', table 't2'"  
            );
             
            SELECT b, MAX(a) FROM t_spider GROUP BY b;
             
            # Cleanup
            DROP TABLE t_spider, t1, t2;
             
            --source plugin/spider/spider/include/deinit_spider.inc
            

            10.4 392ee571

            mysqld: /data/src/10.4/sql/item.h:1347: virtual bool Item::val_native(THD*, Native*): Assertion `0' failed.
            220704 14:54:31 [ERROR] mysqld got signal 6 ;
             
            #7  0x00007f598c556662 in __GI___assert_fail (assertion=0x558ad9ed7587 "0", file=0x558ad9ed74f3 "/data/src/10.4/sql/item.h", line=1347, function=0x558ad9ed7648 "virtual bool Item::val_native(THD*, Native*)") at assert.c:101
            No locals.
            #8  0x0000558ad90ee8fc in Item::val_native (this=0x7f597425ad48, thd=0x7f5974000d90, to=0x7f5974016dc8) at /data/src/10.4/sql/item.h:1347
                    __PRETTY_FUNCTION__ = "virtual bool Item::val_native(THD*, Native*)"
            #9  0x0000558ad9650104 in Arg_comparator::min_max_update_field_native (this=0x7f5974016d00, thd=0x7f5974000d90, field=0x7f5974259ca0, item=0x7f597425ad48, cmp_sign=-1) at /data/src/10.4/sql/item_sum.cc:3118
                    _db_stack_frame_ = {func = 0x558ada0c9378 "Item_sum_min_max::min_max_update_native_field", file = 0x558ada0c83d8 "/data/src/10.4/sql/item_sum.cc", level = 2147483663, line = -1, prev = 0x7f5986526fe0}
            #10 0x0000558ad96503be in Item_sum_min_max::min_max_update_native_field (this=0x7f5974014f20) at /data/src/10.4/sql/item_sum.cc:3141
                    _db_stack_frame_ = {func = 0x558ada0c9328 "Item_sum_min_max::update_field", file = 0x558ada0c83d8 "/data/src/10.4/sql/item_sum.cc", level = 2147483662, line = -1, prev = 0x7f5986527040}
                    __PRETTY_FUNCTION__ = "void Item_sum_min_max::min_max_update_native_field()"
                    thd = 0x7f5974000d90
            #11 0x0000558ad964ffbb in Item_sum_min_max::update_field (this=0x7f5974014f20) at /data/src/10.4/sql/item_sum.cc:3084
                    _db_stack_frame_ = {func = 0x558ad9f17b6a "end_update", file = 0x558ad9f13fb0 "/data/src/10.4/sql/sql_select.cc", level = 2147483661, line = -1, prev = 0x7f59865270f0}
                    tmp_item = 0x7f5974014e10
            #12 0x0000558ad92a1bcf in update_tmptable_sum_func (func_ptr=0x7f5974016e78, tmp_table=0x7f5974258328) at /data/src/10.4/sql/sql_select.cc:25701
                    func = 0x7f5974014f20
            #13 0x0000558ad9298a27 in end_update (join=0x7f5974016438, join_tab=0x7f5974017e38, end_of_records=false) at /data/src/10.4/sql/sql_select.cc:22164
                    table = 0x7f5974258328
                    group = 0x0
                    error = 21898
                    _db_stack_frame_ = {func = 0x558ad9f17657 "sub_select_aggr_tab", file = 0x558ad9f13fb0 "/data/src/10.4/sql/sql_select.cc", level = 2147483660, line = -1, prev = 0x7f59865271b0}
            #14 0x0000558ad92ab864 in AGGR_OP::put_record (this=0x7f5974018830, end_of_records=false) at /data/src/10.4/sql/sql_select.cc:28967
                    rc = 21898
            #15 0x0000558ad92b1a21 in AGGR_OP::put_record (this=0x7f5974018830) at /data/src/10.4/sql/sql_select.h:1054
            No locals.
            #16 0x0000558ad929439a in sub_select_postjoin_aggr (join=0x7f5974016438, join_tab=0x7f5974017e38, end_of_records=false) at /data/src/10.4/sql/sql_select.cc:20367
                    rc = 32601
                    aggr = 0x7f5974018830
                    __PRETTY_FUNCTION__ = "enum_nested_loop_state sub_select_postjoin_aggr(JOIN*, JOIN_TAB*, bool)"
                    _db_stack_frame_ = {func = 0x558ad9f176eb "evaluate_join_record", file = 0x558ad9f13fb0 "/data/src/10.4/sql/sql_select.cc", level = 2147483659, line = -1, prev = 0x7f5986527260}
            #17 0x0000558ad929509a in evaluate_join_record (join=0x7f5974016438, join_tab=0x7f5974017a90, error=0) at /data/src/10.4/sql/sql_select.cc:20874
                    rc = NESTED_LOOP_OK
                    found = true
                    return_tab = 0x7f5974017a90
                    shortcut_for_distinct = false
                    found_records = 2
                    select_cond = 0x0
                    select_cond_result = true
                    _db_stack_frame_ = {func = 0x558ad9f176e0 "sub_select", file = 0x558ad9f13fb0 "/data/src/10.4/sql/sql_select.cc", level = 2147483658, line = -1, prev = 0x7f5986527300}
            #18 0x0000558ad9294aac in sub_select (join=0x7f5974016438, join_tab=0x7f5974017a90, end_of_records=false) at /data/src/10.4/sql/sql_select.cc:20686
                    _db_stack_frame_ = {func = 0x558ad9f17500 "do_select", file = 0x558ad9f13fb0 "/data/src/10.4/sql/sql_select.cc", level = 2147483657, line = -1, prev = 0x7f59865273a0}
                    error = 0
                    rc = NESTED_LOOP_OK
                    info = 0x7f5974017b58
                    skip_over = false
            #19 0x0000558ad9293d65 in do_select (join=0x7f5974016438, procedure=0x0) at /data/src/10.4/sql/sql_select.cc:20183
                    join_tab = 0x7f5974017a90
                    rc = 0
                    error = NESTED_LOOP_OK
                    _db_stack_frame_ = {func = 0x558ad9f15019 "JOIN::exec_inner", file = 0x558ad9f13fb0 "/data/src/10.4/sql/sql_select.cc", level = 2147483656, line = -1, prev = 0x7f5986527400}
                    __PRETTY_FUNCTION__ = "int do_select(JOIN*, Procedure*)"
            #20 0x0000558ad926868a in JOIN::exec_inner (this=0x7f5974016438) at /data/src/10.4/sql/sql_select.cc:4545
                    columns_list = 0x7f59740149a0
                    _db_stack_frame_ = {func = 0x558ad9f150f7 "mysql_select", file = 0x558ad9f13fb0 "/data/src/10.4/sql/sql_select.cc", level = 2147483655, line = -1, prev = 0x7f5986527540}
                    __PRETTY_FUNCTION__ = "void JOIN::exec_inner()"
                    trace_wrapper = {<Json_writer_struct> = {_vptr.Json_writer_struct = 0x558ada680510 <vtable for Json_writer_object+16>, my_writer = 0x0, context = {writer = 0x0}, closed = false}, <No data fields>}
                    trace_exec = {<Json_writer_struct> = {_vptr.Json_writer_struct = 0x558ada680510 <vtable for Json_writer_object+16>, my_writer = 0x0, context = {writer = 0x0}, closed = false}, <No data fields>}
                    trace_steps = {<Json_writer_struct> = {_vptr.Json_writer_struct = 0x558ada6804f0 <vtable for Json_writer_array+16>, my_writer = 0x0, context = {writer = 0x0}, closed = false}, <No data fields>}
            #21 0x0000558ad926779a in JOIN::exec (this=0x7f5974016438) at /data/src/10.4/sql/sql_select.cc:4327
            No locals.
            #22 0x0000558ad9268f14 in mysql_select (thd=0x7f5974000d90, tables=0x7f59740150e8, wild_num=0, fields=@0x7f59740149a0: {<base_list> = {<Sql_alloc> = {<No data fields>}, first = 0x7f5974014df8, last = 0x7f5974015078, elements = 2}, <No data fields>}, conds=0x0, og_num=1, order=0x0, group=0x7f59740158e0, having=0x0, proc_param=0x0, select_options=2147748608, result=0x7f5974016410, unit=0x7f5974004cc0, select_lex=0x7f5974014858) at /data/src/10.4/sql/sql_select.cc:4766
                    err = 0
                    free_join = true
                    _db_stack_frame_ = {func = 0x558ad9f14098 "handle_select", file = 0x558ad9f13fb0 "/data/src/10.4/sql/sql_select.cc", level = 2147483654, line = -1, prev = 0x7f5986527600}
                    join = 0x7f5974016438
            #23 0x0000558ad9258802 in handle_select (thd=0x7f5974000d90, lex=0x7f5974004c00, result=0x7f5974016410, setup_tables_done_option=0) at /data/src/10.4/sql/sql_select.cc:436
                    unit = 0x7f5974004cc0
                    res = false
                    select_lex = 0x7f5974014858
                    _db_stack_frame_ = {func = 0x558ad9f07930 "mysql_execute_command", file = 0x558ad9f06cc8 "/data/src/10.4/sql/sql_parse.cc", level = 2147483653, line = -1, prev = 0x7f5986527c80}
            #24 0x0000558ad921deee in execute_sqlcom_select (thd=0x7f5974000d90, all_tables=0x7f59740150e8) at /data/src/10.4/sql/sql_parse.cc:6449
                    save_protocol = 0x0
                    lex = 0x7f5974004c00
                    result = 0x7f5974016410
                    res = false
                    __PRETTY_FUNCTION__ = "bool execute_sqlcom_select(THD*, TABLE_LIST*)"
            #25 0x0000558ad921470e in mysql_execute_command (thd=0x7f5974000d90) at /data/src/10.4/sql/sql_parse.cc:3963
                    privileges_requested = 1
                    res = 0
                    up_result = 0
                    lex = 0x7f5974004c00
                    select_lex = 0x7f5974014858
                    first_table = 0x7f59740150e8
                    all_tables = 0x7f59740150e8
                    unit = 0x7f5974004cc0
                    have_table_map_for_update = false
                    rpl_filter = 0x558ad9670d49 <inline_mysql_mutex_unlock(mysql_mutex_t*, char const*, uint)+107>
                    _db_stack_frame_ = {func = 0x558ad9f08bb8 "mysql_parse", file = 0x558ad9f06cc8 "/data/src/10.4/sql/sql_parse.cc", level = 2147483652, line = -1, prev = 0x7f5986528250}
                    __PRETTY_FUNCTION__ = "int mysql_execute_command(THD*)"
                    ots = {ctx = 0x7f59740048e0, traceable = false}
                    trace_command = {<Json_writer_struct> = {_vptr.Json_writer_struct = 0x558ada680510 <vtable for Json_writer_object+16>, my_writer = 0x0, context = {writer = 0x0}, closed = false}, <No data fields>}
                    trace_command_steps = {<Json_writer_struct> = {_vptr.Json_writer_struct = 0x558ada6804f0 <vtable for Json_writer_array+16>, my_writer = 0x0, context = {writer = 0x0}, closed = false}, <No data fields>}
                    orig_binlog_format = BINLOG_FORMAT_MIXED
                    orig_current_stmt_binlog_format = BINLOG_FORMAT_STMT
            #26 0x0000558ad9221e72 in mysql_parse (thd=0x7f5974000d90, rawbuf=0x7f59740147a8 "SELECT b, MAX(a) FROM t_spider GROUP BY b", length=41, parser_state=0x7f5986528410, is_com_multi=false, is_next_command=false) at /data/src/10.4/sql/sql_parse.cc:7995
                    found_semicolon = 0x0
                    error = 32601
                    lex = 0x7f5974004c00
                    err = false
                    _db_stack_frame_ = {func = 0x558ad9f0713a "dispatch_command", file = 0x558ad9f06cc8 "/data/src/10.4/sql/sql_parse.cc", level = 2147483651, line = -1, prev = 0x7f59865283f0}
                    __PRETTY_FUNCTION__ = "void mysql_parse(THD*, char*, uint, Parser_state*, bool, bool)"
            #27 0x0000558ad920e312 in dispatch_command (command=COM_QUERY, thd=0x7f5974000d90, packet=0x7f597400ac01 "", packet_length=41, is_com_multi=false, is_next_command=false) at /data/src/10.4/sql/sql_parse.cc:1857
                    packet_end = 0x7f59740147d1 ""
                    parser_state = {m_lip = {lookahead_token = -1, lookahead_yylval = 0x0, m_thd = 0x7f5974000d90, m_ptr = 0x7f59740147d2 "\004", m_tok_start = 0x7f59740147d2 "\004", m_tok_end = 0x7f59740147d2 "\004", m_end_of_query = 0x7f59740147d1 "", m_tok_start_prev = 0x7f59740147d1 "", m_buf = 0x7f59740147a8 "SELECT b, MAX(a) FROM t_spider GROUP BY b", m_buf_length = 41, m_echo = true, m_echo_saved = 12, m_cpp_buf = 0x7f5974014828 "SELECT b, MAX(a) FROM t_spider GROUP BY b", m_cpp_ptr = 0x7f5974014851 "", m_cpp_tok_start = 0x7f5974014851 "", m_cpp_tok_start_prev = 0x7f5974014851 "", m_cpp_tok_end = 0x7f5974014851 "", m_body_utf8 = 0x0, m_body_utf8_ptr = 0x558ad9e3664f <DoTrace+150> "\203\370\005\177\063\205\300\017\210\255", m_cpp_utf8_processed_ptr = 0x0, next_state = MY_LEX_END, found_semicolon = 0x0, ignore_space = false, stmt_prepare_mode = false, multi_statements = true, yylineno = 1, m_digest = 0x0, in_comment = NO_COMMENT, in_comment_saved = (DISCARD_COMMENT | unknown: 0x5588), m_cpp_text_start = 0x7f5974014850 "b", m_cpp_text_end = 0x7f5974014851 "", m_underscore_cs = 0x0}, m_yacc = {yacc_yyss = 0x0, yacc_yyvs = 0x0, m_set_signal_info = {m_item = {0x0 <repeats 12 times>}}, m_lock_type = TL_READ_DEFAULT, m_mdl_type = MDL_SHARED_READ}, m_digest_psi = 0x7f59740046e0}
                    net = 0x7f59740010b8
                    error = false
                    do_end_of_statement = true
                    _db_stack_frame_ = {func = 0x558ad9f06ec5 "do_command", file = 0x558ad9f06cc8 "/data/src/10.4/sql/sql_parse.cc", level = 2147483650, line = -1, prev = 0x7f5986528cb0}
                    drop_more_results = false
                    __PRETTY_FUNCTION__ = "bool dispatch_command(enum_server_command, THD*, char*, uint, bool, bool)"
                    __FUNCTION__ = "dispatch_command"
                    res = <optimized out>
            #28 0x0000558ad920cbc5 in do_command (thd=0x7f5974000d90) at /data/src/10.4/sql/sql_parse.cc:1378
                    return_value = false
                    packet = 0x7f597400ac00 "\001"
                    packet_length = 42
                    net = 0x7f59740010b8
                    command = COM_QUERY
                    _db_stack_frame_ = {func = 0x558ada2c2368 "?func", file = 0x558ada2c236e "?file", level = 2147483649, line = -1, prev = 0x0}
                    __PRETTY_FUNCTION__ = "bool do_command(THD*)"
                    __FUNCTION__ = "do_command"
            #29 0x0000558ad939bcb1 in do_handle_one_connection (connect=0x558adbae3680) at /data/src/10.4/sql/sql_connect.cc:1420
                    create_user = true
                    thr_create_utime = 3357782916951
                    thd = 0x7f5974000d90
                    __PRETTY_FUNCTION__ = "void do_handle_one_connection(CONNECT*)"
            #30 0x0000558ad939b959 in handle_one_connection (arg=0x558adbae3680) at /data/src/10.4/sql/sql_connect.cc:1316
                    connect = 0x558adbae3680
            #31 0x0000558ad98b8c69 in pfs_spawn_thread (arg=0x558adbb5b080) at /data/src/10.4/storage/perfschema/pfs.cc:1869
                    typed_arg = 0x558adbb5b080
                    user_arg = 0x558adbae3680
                    user_start_routine = 0x558ad939b929 <handle_one_connection(void*)>
                    pfs = 0x7f598a84d6c0
                    klass = 0x558adb804c00
            #32 0x00007f598ca22ea7 in start_thread (arg=<optimized out>) at pthread_create.c:477
                    ret = <optimized out>
                    pd = <optimized out>
                    unwind_buf = {cancel_jmp_buf = {{jmp_buf = {140022482376448, -4508013413641608295, 140731783681246, 140731783681247, 140022482374272, 311296, 4594618343833609113, 4594596219298784153}, mask_was_saved = 0}}, priv = {pad = {0x0, 0x0, 0x0, 0x0}, data = {prev = 0x0, cleanup = 0x0, canceltype = 0}}}
                    not_first_call = 0
            #33 0x00007f598c61fdef in clone () at ../sysdeps/unix/sysv/linux/x86_64/clone.S:95
            

            elenst Elena Stepanova added a comment - - edited Here is a test case specific to Spider / partitioning. It features more complicated data structure but a bit simpler query. I don't think it is worth filing separately, at least until this bug is fixed, but nayuta-yanagisawa FYI. --source plugin/spider/spider/include/init_spider.inc --source include/have_partition.inc   SET spider_same_server_link= on ; eval create server s foreign data wrapper mysql options (host "127.0.0.1" , database "test" , user "root" , port $MASTER_MYPORT);   CREATE TABLE t1 (a TIME , b INT ); INSERT INTO t1 VALUES ( '10:00:00' ,1),( '20:00:00' ,2); CREATE TABLE t2 (a TIME , b INT ); INSERT INTO t2 VALUES ( '11:00:00' ,3),( '12:00:00' ,2);   CREATE TABLE t_spider (a TIME , b INT ) ENGINE=SPIDER PARTITION BY HASH(b) ( PARTITION p1 COMMENT = "wrapper 'mysql', srv 's', table 't1'" , PARTITION p2 COMMENT = "wrapper 'mysql', srv 's', table 't2'" );   SELECT b, MAX (a) FROM t_spider GROUP BY b;   # Cleanup DROP TABLE t_spider, t1, t2;   --source plugin/spider/spider/include/deinit_spider.inc 10.4 392ee571 mysqld: /data/src/10.4/sql/item.h:1347: virtual bool Item::val_native(THD*, Native*): Assertion `0' failed. 220704 14:54:31 [ERROR] mysqld got signal 6 ;   #7 0x00007f598c556662 in __GI___assert_fail (assertion=0x558ad9ed7587 "0", file=0x558ad9ed74f3 "/data/src/10.4/sql/item.h", line=1347, function=0x558ad9ed7648 "virtual bool Item::val_native(THD*, Native*)") at assert.c:101 No locals. #8 0x0000558ad90ee8fc in Item::val_native (this=0x7f597425ad48, thd=0x7f5974000d90, to=0x7f5974016dc8) at /data/src/10.4/sql/item.h:1347 __PRETTY_FUNCTION__ = "virtual bool Item::val_native(THD*, Native*)" #9 0x0000558ad9650104 in Arg_comparator::min_max_update_field_native (this=0x7f5974016d00, thd=0x7f5974000d90, field=0x7f5974259ca0, item=0x7f597425ad48, cmp_sign=-1) at /data/src/10.4/sql/item_sum.cc:3118 _db_stack_frame_ = {func = 0x558ada0c9378 "Item_sum_min_max::min_max_update_native_field", file = 0x558ada0c83d8 "/data/src/10.4/sql/item_sum.cc", level = 2147483663, line = -1, prev = 0x7f5986526fe0} #10 0x0000558ad96503be in Item_sum_min_max::min_max_update_native_field (this=0x7f5974014f20) at /data/src/10.4/sql/item_sum.cc:3141 _db_stack_frame_ = {func = 0x558ada0c9328 "Item_sum_min_max::update_field", file = 0x558ada0c83d8 "/data/src/10.4/sql/item_sum.cc", level = 2147483662, line = -1, prev = 0x7f5986527040} __PRETTY_FUNCTION__ = "void Item_sum_min_max::min_max_update_native_field()" thd = 0x7f5974000d90 #11 0x0000558ad964ffbb in Item_sum_min_max::update_field (this=0x7f5974014f20) at /data/src/10.4/sql/item_sum.cc:3084 _db_stack_frame_ = {func = 0x558ad9f17b6a "end_update", file = 0x558ad9f13fb0 "/data/src/10.4/sql/sql_select.cc", level = 2147483661, line = -1, prev = 0x7f59865270f0} tmp_item = 0x7f5974014e10 #12 0x0000558ad92a1bcf in update_tmptable_sum_func (func_ptr=0x7f5974016e78, tmp_table=0x7f5974258328) at /data/src/10.4/sql/sql_select.cc:25701 func = 0x7f5974014f20 #13 0x0000558ad9298a27 in end_update (join=0x7f5974016438, join_tab=0x7f5974017e38, end_of_records=false) at /data/src/10.4/sql/sql_select.cc:22164 table = 0x7f5974258328 group = 0x0 error = 21898 _db_stack_frame_ = {func = 0x558ad9f17657 "sub_select_aggr_tab", file = 0x558ad9f13fb0 "/data/src/10.4/sql/sql_select.cc", level = 2147483660, line = -1, prev = 0x7f59865271b0} #14 0x0000558ad92ab864 in AGGR_OP::put_record (this=0x7f5974018830, end_of_records=false) at /data/src/10.4/sql/sql_select.cc:28967 rc = 21898 #15 0x0000558ad92b1a21 in AGGR_OP::put_record (this=0x7f5974018830) at /data/src/10.4/sql/sql_select.h:1054 No locals. #16 0x0000558ad929439a in sub_select_postjoin_aggr (join=0x7f5974016438, join_tab=0x7f5974017e38, end_of_records=false) at /data/src/10.4/sql/sql_select.cc:20367 rc = 32601 aggr = 0x7f5974018830 __PRETTY_FUNCTION__ = "enum_nested_loop_state sub_select_postjoin_aggr(JOIN*, JOIN_TAB*, bool)" _db_stack_frame_ = {func = 0x558ad9f176eb "evaluate_join_record", file = 0x558ad9f13fb0 "/data/src/10.4/sql/sql_select.cc", level = 2147483659, line = -1, prev = 0x7f5986527260} #17 0x0000558ad929509a in evaluate_join_record (join=0x7f5974016438, join_tab=0x7f5974017a90, error=0) at /data/src/10.4/sql/sql_select.cc:20874 rc = NESTED_LOOP_OK found = true return_tab = 0x7f5974017a90 shortcut_for_distinct = false found_records = 2 select_cond = 0x0 select_cond_result = true _db_stack_frame_ = {func = 0x558ad9f176e0 "sub_select", file = 0x558ad9f13fb0 "/data/src/10.4/sql/sql_select.cc", level = 2147483658, line = -1, prev = 0x7f5986527300} #18 0x0000558ad9294aac in sub_select (join=0x7f5974016438, join_tab=0x7f5974017a90, end_of_records=false) at /data/src/10.4/sql/sql_select.cc:20686 _db_stack_frame_ = {func = 0x558ad9f17500 "do_select", file = 0x558ad9f13fb0 "/data/src/10.4/sql/sql_select.cc", level = 2147483657, line = -1, prev = 0x7f59865273a0} error = 0 rc = NESTED_LOOP_OK info = 0x7f5974017b58 skip_over = false #19 0x0000558ad9293d65 in do_select (join=0x7f5974016438, procedure=0x0) at /data/src/10.4/sql/sql_select.cc:20183 join_tab = 0x7f5974017a90 rc = 0 error = NESTED_LOOP_OK _db_stack_frame_ = {func = 0x558ad9f15019 "JOIN::exec_inner", file = 0x558ad9f13fb0 "/data/src/10.4/sql/sql_select.cc", level = 2147483656, line = -1, prev = 0x7f5986527400} __PRETTY_FUNCTION__ = "int do_select(JOIN*, Procedure*)" #20 0x0000558ad926868a in JOIN::exec_inner (this=0x7f5974016438) at /data/src/10.4/sql/sql_select.cc:4545 columns_list = 0x7f59740149a0 _db_stack_frame_ = {func = 0x558ad9f150f7 "mysql_select", file = 0x558ad9f13fb0 "/data/src/10.4/sql/sql_select.cc", level = 2147483655, line = -1, prev = 0x7f5986527540} __PRETTY_FUNCTION__ = "void JOIN::exec_inner()" trace_wrapper = {<Json_writer_struct> = {_vptr.Json_writer_struct = 0x558ada680510 <vtable for Json_writer_object+16>, my_writer = 0x0, context = {writer = 0x0}, closed = false}, <No data fields>} trace_exec = {<Json_writer_struct> = {_vptr.Json_writer_struct = 0x558ada680510 <vtable for Json_writer_object+16>, my_writer = 0x0, context = {writer = 0x0}, closed = false}, <No data fields>} trace_steps = {<Json_writer_struct> = {_vptr.Json_writer_struct = 0x558ada6804f0 <vtable for Json_writer_array+16>, my_writer = 0x0, context = {writer = 0x0}, closed = false}, <No data fields>} #21 0x0000558ad926779a in JOIN::exec (this=0x7f5974016438) at /data/src/10.4/sql/sql_select.cc:4327 No locals. #22 0x0000558ad9268f14 in mysql_select (thd=0x7f5974000d90, tables=0x7f59740150e8, wild_num=0, fields=@0x7f59740149a0: {<base_list> = {<Sql_alloc> = {<No data fields>}, first = 0x7f5974014df8, last = 0x7f5974015078, elements = 2}, <No data fields>}, conds=0x0, og_num=1, order=0x0, group=0x7f59740158e0, having=0x0, proc_param=0x0, select_options=2147748608, result=0x7f5974016410, unit=0x7f5974004cc0, select_lex=0x7f5974014858) at /data/src/10.4/sql/sql_select.cc:4766 err = 0 free_join = true _db_stack_frame_ = {func = 0x558ad9f14098 "handle_select", file = 0x558ad9f13fb0 "/data/src/10.4/sql/sql_select.cc", level = 2147483654, line = -1, prev = 0x7f5986527600} join = 0x7f5974016438 #23 0x0000558ad9258802 in handle_select (thd=0x7f5974000d90, lex=0x7f5974004c00, result=0x7f5974016410, setup_tables_done_option=0) at /data/src/10.4/sql/sql_select.cc:436 unit = 0x7f5974004cc0 res = false select_lex = 0x7f5974014858 _db_stack_frame_ = {func = 0x558ad9f07930 "mysql_execute_command", file = 0x558ad9f06cc8 "/data/src/10.4/sql/sql_parse.cc", level = 2147483653, line = -1, prev = 0x7f5986527c80} #24 0x0000558ad921deee in execute_sqlcom_select (thd=0x7f5974000d90, all_tables=0x7f59740150e8) at /data/src/10.4/sql/sql_parse.cc:6449 save_protocol = 0x0 lex = 0x7f5974004c00 result = 0x7f5974016410 res = false __PRETTY_FUNCTION__ = "bool execute_sqlcom_select(THD*, TABLE_LIST*)" #25 0x0000558ad921470e in mysql_execute_command (thd=0x7f5974000d90) at /data/src/10.4/sql/sql_parse.cc:3963 privileges_requested = 1 res = 0 up_result = 0 lex = 0x7f5974004c00 select_lex = 0x7f5974014858 first_table = 0x7f59740150e8 all_tables = 0x7f59740150e8 unit = 0x7f5974004cc0 have_table_map_for_update = false rpl_filter = 0x558ad9670d49 <inline_mysql_mutex_unlock(mysql_mutex_t*, char const*, uint)+107> _db_stack_frame_ = {func = 0x558ad9f08bb8 "mysql_parse", file = 0x558ad9f06cc8 "/data/src/10.4/sql/sql_parse.cc", level = 2147483652, line = -1, prev = 0x7f5986528250} __PRETTY_FUNCTION__ = "int mysql_execute_command(THD*)" ots = {ctx = 0x7f59740048e0, traceable = false} trace_command = {<Json_writer_struct> = {_vptr.Json_writer_struct = 0x558ada680510 <vtable for Json_writer_object+16>, my_writer = 0x0, context = {writer = 0x0}, closed = false}, <No data fields>} trace_command_steps = {<Json_writer_struct> = {_vptr.Json_writer_struct = 0x558ada6804f0 <vtable for Json_writer_array+16>, my_writer = 0x0, context = {writer = 0x0}, closed = false}, <No data fields>} orig_binlog_format = BINLOG_FORMAT_MIXED orig_current_stmt_binlog_format = BINLOG_FORMAT_STMT #26 0x0000558ad9221e72 in mysql_parse (thd=0x7f5974000d90, rawbuf=0x7f59740147a8 "SELECT b, MAX(a) FROM t_spider GROUP BY b", length=41, parser_state=0x7f5986528410, is_com_multi=false, is_next_command=false) at /data/src/10.4/sql/sql_parse.cc:7995 found_semicolon = 0x0 error = 32601 lex = 0x7f5974004c00 err = false _db_stack_frame_ = {func = 0x558ad9f0713a "dispatch_command", file = 0x558ad9f06cc8 "/data/src/10.4/sql/sql_parse.cc", level = 2147483651, line = -1, prev = 0x7f59865283f0} __PRETTY_FUNCTION__ = "void mysql_parse(THD*, char*, uint, Parser_state*, bool, bool)" #27 0x0000558ad920e312 in dispatch_command (command=COM_QUERY, thd=0x7f5974000d90, packet=0x7f597400ac01 "", packet_length=41, is_com_multi=false, is_next_command=false) at /data/src/10.4/sql/sql_parse.cc:1857 packet_end = 0x7f59740147d1 "" parser_state = {m_lip = {lookahead_token = -1, lookahead_yylval = 0x0, m_thd = 0x7f5974000d90, m_ptr = 0x7f59740147d2 "\004", m_tok_start = 0x7f59740147d2 "\004", m_tok_end = 0x7f59740147d2 "\004", m_end_of_query = 0x7f59740147d1 "", m_tok_start_prev = 0x7f59740147d1 "", m_buf = 0x7f59740147a8 "SELECT b, MAX(a) FROM t_spider GROUP BY b", m_buf_length = 41, m_echo = true, m_echo_saved = 12, m_cpp_buf = 0x7f5974014828 "SELECT b, MAX(a) FROM t_spider GROUP BY b", m_cpp_ptr = 0x7f5974014851 "", m_cpp_tok_start = 0x7f5974014851 "", m_cpp_tok_start_prev = 0x7f5974014851 "", m_cpp_tok_end = 0x7f5974014851 "", m_body_utf8 = 0x0, m_body_utf8_ptr = 0x558ad9e3664f <DoTrace+150> "\203\370\005\177\063\205\300\017\210\255", m_cpp_utf8_processed_ptr = 0x0, next_state = MY_LEX_END, found_semicolon = 0x0, ignore_space = false, stmt_prepare_mode = false, multi_statements = true, yylineno = 1, m_digest = 0x0, in_comment = NO_COMMENT, in_comment_saved = (DISCARD_COMMENT | unknown: 0x5588), m_cpp_text_start = 0x7f5974014850 "b", m_cpp_text_end = 0x7f5974014851 "", m_underscore_cs = 0x0}, m_yacc = {yacc_yyss = 0x0, yacc_yyvs = 0x0, m_set_signal_info = {m_item = {0x0 <repeats 12 times>}}, m_lock_type = TL_READ_DEFAULT, m_mdl_type = MDL_SHARED_READ}, m_digest_psi = 0x7f59740046e0} net = 0x7f59740010b8 error = false do_end_of_statement = true _db_stack_frame_ = {func = 0x558ad9f06ec5 "do_command", file = 0x558ad9f06cc8 "/data/src/10.4/sql/sql_parse.cc", level = 2147483650, line = -1, prev = 0x7f5986528cb0} drop_more_results = false __PRETTY_FUNCTION__ = "bool dispatch_command(enum_server_command, THD*, char*, uint, bool, bool)" __FUNCTION__ = "dispatch_command" res = <optimized out> #28 0x0000558ad920cbc5 in do_command (thd=0x7f5974000d90) at /data/src/10.4/sql/sql_parse.cc:1378 return_value = false packet = 0x7f597400ac00 "\001" packet_length = 42 net = 0x7f59740010b8 command = COM_QUERY _db_stack_frame_ = {func = 0x558ada2c2368 "?func", file = 0x558ada2c236e "?file", level = 2147483649, line = -1, prev = 0x0} __PRETTY_FUNCTION__ = "bool do_command(THD*)" __FUNCTION__ = "do_command" #29 0x0000558ad939bcb1 in do_handle_one_connection (connect=0x558adbae3680) at /data/src/10.4/sql/sql_connect.cc:1420 create_user = true thr_create_utime = 3357782916951 thd = 0x7f5974000d90 __PRETTY_FUNCTION__ = "void do_handle_one_connection(CONNECT*)" #30 0x0000558ad939b959 in handle_one_connection (arg=0x558adbae3680) at /data/src/10.4/sql/sql_connect.cc:1316 connect = 0x558adbae3680 #31 0x0000558ad98b8c69 in pfs_spawn_thread (arg=0x558adbb5b080) at /data/src/10.4/storage/perfschema/pfs.cc:1869 typed_arg = 0x558adbb5b080 user_arg = 0x558adbae3680 user_start_routine = 0x558ad939b929 <handle_one_connection(void*)> pfs = 0x7f598a84d6c0 klass = 0x558adb804c00 #32 0x00007f598ca22ea7 in start_thread (arg=<optimized out>) at pthread_create.c:477 ret = <optimized out> pd = <optimized out> unwind_buf = {cancel_jmp_buf = {{jmp_buf = {140022482376448, -4508013413641608295, 140731783681246, 140731783681247, 140022482374272, 311296, 4594618343833609113, 4594596219298784153}, mask_was_saved = 0}}, priv = {pad = {0x0, 0x0, 0x0, 0x0}, data = {prev = 0x0, cleanup = 0x0, canceltype = 0}}} not_first_call = 0 #33 0x00007f598c61fdef in clone () at ../sysdeps/unix/sysv/linux/x86_64/clone.S:95
            Roel Roel Van de Paar added a comment - - edited

            I ran into this one also

            SET sql_mode='';
            CREATE TABLE t (a TIME);
            INSERT INTO t VALUES (0),(0);
            SELECT MAX(ROUND (a,a)) FROM t GROUP BY a;
            

            Leads to:

            11.0.1 f2dc4d4c10ac36a73b5c1eb765352d3aee808d66 (Debug)

            mariadbd: /test/11.0_dbg/sql/item_func.h:2079: virtual bool Item_func_round::native_op(THD*, Native*): Assertion `0' failed.
            

            11.0.1 f2dc4d4c10ac36a73b5c1eb765352d3aee808d66 (Debug)

            Core was generated by `/test/MD180223-mariadb-11.0.1-linux-x86_64-dbg/bin/mariadbd --no-defaults --cor'.
            Program terminated with signal SIGABRT, Aborted.
            #0  __pthread_kill_implementation (no_tid=0, signo=6, threadid=22608644888128)
                at ./nptl/pthread_kill.c:44
            [Current thread is 1 (Thread 0x148ffc3f5640 (LWP 1118615))]
            (gdb) bt
            #0  __pthread_kill_implementation (no_tid=0, signo=6, threadid=22608644888128) at ./nptl/pthread_kill.c:44
            #1  __pthread_kill_internal (signo=6, threadid=22608644888128) at ./nptl/pthread_kill.c:78
            #2  __GI___pthread_kill (threadid=22608644888128, signo=signo@entry=6) at ./nptl/pthread_kill.c:89
            #3  0x0000149022eb7476 in __GI_raise (sig=sig@entry=6) at ../sysdeps/posix/raise.c:26
            #4  0x0000149022e9d7f3 in __GI_abort () at ./stdlib/abort.c:79
            #5  0x0000149022e9d71b in __assert_fail_base (fmt=0x149023052150 "%s%s%s:%u: %s%sAssertion `%s' failed.\n%n", assertion=0x555c19be1ae1 "0", file=0x555c19a11ee0 "/test/11.0_dbg/sql/item_func.h", line=2079, function=<optimized out>) at ./assert/assert.c:92
            #6  0x0000149022eaee96 in __GI___assert_fail (assertion=0x555c19be1ae1 "0", file=0x555c19a11ee0 "/test/11.0_dbg/sql/item_func.h", line=2079, function=0x555c19bd2a80 "virtual bool Item_func_round::native_op(THD*, Native*)") at ./assert/assert.c:101
            #7  0x0000555c1928eb65 in Item_func_round::native_op (this=<optimized out>, thd=<optimized out>, to=<optimized out>) at /test/11.0_dbg/sql/item_func.h:2079
            #8  0x0000555c192506e0 in Item_func_hybrid_field_type::val_native (this=this@entry=0x148f7c013930, thd=0x148f7c000d58, to=to@entry=0x148f7c015948) at /test/11.0_dbg/sql/item_func.h:931
            #9  0x0000555c19314258 in Arg_comparator::min_max_update_field_native (this=0x148f7c015880, thd=<optimized out>, field=0x148f7c06df88, item=0x148f7c013930, cmp_sign=-1) at /test/11.0_dbg/sql/item_sum.cc:3152
            #10 0x0000555c19314359 in Item_sum_min_max::min_max_update_native_field (this=this@entry=0x148f7c0139f0) at /test/11.0_dbg/sql/item_sum.cc:3175
            #11 0x0000555c19314a9f in Item_sum_min_max::update_field (this=0x148f7c0139f0) at /test/11.0_dbg/sql/item_sum.cc:3118
            #12 0x0000555c18f654a4 in update_tmptable_sum_func (func_ptr=0x148f7c015a08, tmp_table=tmp_table@entry=0x148f7c06cff0) at /test/11.0_dbg/sql/sql_select.cc:28002
            #13 0x0000555c18f9c277 in end_update (join=0x148f7c014d90, join_tab=0x148f7c0693d0, end_of_records=<optimized out>) at /test/11.0_dbg/sql/sql_select.cc:24419
            #14 0x0000555c18fa94d9 in AGGR_OP::put_record (this=this@entry=0x148f7c016d98, end_of_records=end_of_records@entry=false) at /test/11.0_dbg/sql/sql_select.cc:31211
            #15 0x0000555c18fa9962 in AGGR_OP::put_record (this=0x148f7c016d98) at /test/11.0_dbg/sql/sql_select.h:1144
            #16 sub_select_postjoin_aggr (join=0x148f7c014d90, join_tab=0x148f7c0693d0, end_of_records=<optimized out>) at /test/11.0_dbg/sql/sql_select.cc:22500
            #17 0x0000555c18f69ffc in evaluate_join_record (join=join@entry=0x148f7c014d90, join_tab=join_tab@entry=0x148f7c068fd0, error=error@entry=0) at /test/11.0_dbg/sql/sql_select.cc:23030
            #18 0x0000555c18f805cb in sub_select (join=0x148f7c014d90, join_tab=0x148f7c068fd0, end_of_records=false) at /test/11.0_dbg/sql/sql_select.cc:22834
            #19 0x0000555c18fb667f in do_select (procedure=0x0, join=0x148f7c014d90) at /test/11.0_dbg/sql/sql_select.cc:22329
            #20 JOIN::exec_inner (this=this@entry=0x148f7c014d90) at /test/11.0_dbg/sql/sql_select.cc:4888
            #21 0x0000555c18fb6be0 in JOIN::exec (this=this@entry=0x148f7c014d90) at /test/11.0_dbg/sql/sql_select.cc:4666
            #22 0x0000555c18fb4b18 in mysql_select (thd=thd@entry=0x148f7c000d58, tables=0x148f7c013bb8, fields=@0x148f7c0134a8: {<base_list> = {<Sql_alloc> = {<No data fields>}, first = 0x148f7c013b38, last = 0x148f7c013b38, elements = 1}, <No data fields>}, conds=0x0, og_num=1, order=0x0, group=0x148f7c014410, having=0x0, proc_param=0x0, select_options=2164525824, result=0x148f7c014d68, unit=0x148f7c004fa0, select_lex=0x148f7c0131f0) at /test/11.0_dbg/sql/sql_select.cc:5146
            #23 0x0000555c18fb528b in handle_select (thd=thd@entry=0x148f7c000d58, lex=lex@entry=0x148f7c004ec8, result=result@entry=0x148f7c014d68, setup_tables_done_option=setup_tables_done_option@entry=0) at /test/11.0_dbg/sql/sql_select.cc:608
            #24 0x0000555c18f1ae8d in execute_sqlcom_select (thd=thd@entry=0x148f7c000d58, all_tables=0x148f7c013bb8) at /test/11.0_dbg/sql/sql_parse.cc:6267
            #25 0x0000555c18f264af in mysql_execute_command (thd=thd@entry=0x148f7c000d58, is_called_from_prepared_stmt=is_called_from_prepared_stmt@entry=false) at /test/11.0_dbg/sql/sql_parse.cc:3949
            #26 0x0000555c18f2d7cf in mysql_parse (thd=thd@entry=0x148f7c000d58, rawbuf=<optimized out>, length=<optimized out>, parser_state=parser_state@entry=0x148ffc3f42c0) at /test/11.0_dbg/sql/sql_parse.cc:8002
            #27 0x0000555c18f2f963 in dispatch_command (command=command@entry=COM_QUERY, thd=thd@entry=0x148f7c000d58, packet=packet@entry=0x148f7c00ae19 "", packet_length=packet_length@entry=41, blocking=blocking@entry=true) at /test/11.0_dbg/sql/sql_class.h:242
            #28 0x0000555c18f317bc in do_command (thd=0x148f7c000d58, blocking=blocking@entry=true) at /test/11.0_dbg/sql/sql_parse.cc:1407
            #29 0x0000555c190826e2 in do_handle_one_connection (connect=<optimized out>, connect@entry=0x555c1c6e99b8, put_in_cache=put_in_cache@entry=true) at /test/11.0_dbg/sql/sql_connect.cc:1416
            #30 0x0000555c19082941 in handle_one_connection (arg=0x555c1c6e99b8) at /test/11.0_dbg/sql/sql_connect.cc:1318
            #31 0x0000149022f09b43 in start_thread (arg=<optimized out>) at ./nptl/pthread_create.c:442
            #32 0x0000149022f9ba00 in clone3 () at ../sysdeps/unix/sysv/linux/x86_64/clone3.S:81
            

            Crash confirmed present in:
            MariaDB: 10.4.29 (dbg), 10.5.20 (dbg), 10.6.13 (dbg), 10.7.8 (dbg), 10.8.8 (dbg), 10.9.6 (dbg), 10.10.4 (dbg), 10.11.2 (dbg), 11.0.1 (dbg)

            Roel Roel Van de Paar added a comment - - edited I ran into this one also SET sql_mode= '' ; CREATE TABLE t (a TIME ); INSERT INTO t VALUES (0),(0); SELECT MAX (ROUND (a,a)) FROM t GROUP BY a; Leads to: 11.0.1 f2dc4d4c10ac36a73b5c1eb765352d3aee808d66 (Debug) mariadbd: /test/11.0_dbg/sql/item_func.h:2079: virtual bool Item_func_round::native_op(THD*, Native*): Assertion `0' failed. 11.0.1 f2dc4d4c10ac36a73b5c1eb765352d3aee808d66 (Debug) Core was generated by `/test/MD180223-mariadb-11.0.1-linux-x86_64-dbg/bin/mariadbd --no-defaults --cor'. Program terminated with signal SIGABRT, Aborted. #0 __pthread_kill_implementation (no_tid=0, signo=6, threadid=22608644888128) at ./nptl/pthread_kill.c:44 [Current thread is 1 (Thread 0x148ffc3f5640 (LWP 1118615))] (gdb) bt #0 __pthread_kill_implementation (no_tid=0, signo=6, threadid=22608644888128) at ./nptl/pthread_kill.c:44 #1 __pthread_kill_internal (signo=6, threadid=22608644888128) at ./nptl/pthread_kill.c:78 #2 __GI___pthread_kill (threadid=22608644888128, signo=signo@entry=6) at ./nptl/pthread_kill.c:89 #3 0x0000149022eb7476 in __GI_raise (sig=sig@entry=6) at ../sysdeps/posix/raise.c:26 #4 0x0000149022e9d7f3 in __GI_abort () at ./stdlib/abort.c:79 #5 0x0000149022e9d71b in __assert_fail_base (fmt=0x149023052150 "%s%s%s:%u: %s%sAssertion `%s' failed.\n%n", assertion=0x555c19be1ae1 "0", file=0x555c19a11ee0 "/test/11.0_dbg/sql/item_func.h", line=2079, function=<optimized out>) at ./assert/assert.c:92 #6 0x0000149022eaee96 in __GI___assert_fail (assertion=0x555c19be1ae1 "0", file=0x555c19a11ee0 "/test/11.0_dbg/sql/item_func.h", line=2079, function=0x555c19bd2a80 "virtual bool Item_func_round::native_op(THD*, Native*)") at ./assert/assert.c:101 #7 0x0000555c1928eb65 in Item_func_round::native_op (this=<optimized out>, thd=<optimized out>, to=<optimized out>) at /test/11.0_dbg/sql/item_func.h:2079 #8 0x0000555c192506e0 in Item_func_hybrid_field_type::val_native (this=this@entry=0x148f7c013930, thd=0x148f7c000d58, to=to@entry=0x148f7c015948) at /test/11.0_dbg/sql/item_func.h:931 #9 0x0000555c19314258 in Arg_comparator::min_max_update_field_native (this=0x148f7c015880, thd=<optimized out>, field=0x148f7c06df88, item=0x148f7c013930, cmp_sign=-1) at /test/11.0_dbg/sql/item_sum.cc:3152 #10 0x0000555c19314359 in Item_sum_min_max::min_max_update_native_field (this=this@entry=0x148f7c0139f0) at /test/11.0_dbg/sql/item_sum.cc:3175 #11 0x0000555c19314a9f in Item_sum_min_max::update_field (this=0x148f7c0139f0) at /test/11.0_dbg/sql/item_sum.cc:3118 #12 0x0000555c18f654a4 in update_tmptable_sum_func (func_ptr=0x148f7c015a08, tmp_table=tmp_table@entry=0x148f7c06cff0) at /test/11.0_dbg/sql/sql_select.cc:28002 #13 0x0000555c18f9c277 in end_update (join=0x148f7c014d90, join_tab=0x148f7c0693d0, end_of_records=<optimized out>) at /test/11.0_dbg/sql/sql_select.cc:24419 #14 0x0000555c18fa94d9 in AGGR_OP::put_record (this=this@entry=0x148f7c016d98, end_of_records=end_of_records@entry=false) at /test/11.0_dbg/sql/sql_select.cc:31211 #15 0x0000555c18fa9962 in AGGR_OP::put_record (this=0x148f7c016d98) at /test/11.0_dbg/sql/sql_select.h:1144 #16 sub_select_postjoin_aggr (join=0x148f7c014d90, join_tab=0x148f7c0693d0, end_of_records=<optimized out>) at /test/11.0_dbg/sql/sql_select.cc:22500 #17 0x0000555c18f69ffc in evaluate_join_record (join=join@entry=0x148f7c014d90, join_tab=join_tab@entry=0x148f7c068fd0, error=error@entry=0) at /test/11.0_dbg/sql/sql_select.cc:23030 #18 0x0000555c18f805cb in sub_select (join=0x148f7c014d90, join_tab=0x148f7c068fd0, end_of_records=false) at /test/11.0_dbg/sql/sql_select.cc:22834 #19 0x0000555c18fb667f in do_select (procedure=0x0, join=0x148f7c014d90) at /test/11.0_dbg/sql/sql_select.cc:22329 #20 JOIN::exec_inner (this=this@entry=0x148f7c014d90) at /test/11.0_dbg/sql/sql_select.cc:4888 #21 0x0000555c18fb6be0 in JOIN::exec (this=this@entry=0x148f7c014d90) at /test/11.0_dbg/sql/sql_select.cc:4666 #22 0x0000555c18fb4b18 in mysql_select (thd=thd@entry=0x148f7c000d58, tables=0x148f7c013bb8, fields=@0x148f7c0134a8: {<base_list> = {<Sql_alloc> = {<No data fields>}, first = 0x148f7c013b38, last = 0x148f7c013b38, elements = 1}, <No data fields>}, conds=0x0, og_num=1, order=0x0, group=0x148f7c014410, having=0x0, proc_param=0x0, select_options=2164525824, result=0x148f7c014d68, unit=0x148f7c004fa0, select_lex=0x148f7c0131f0) at /test/11.0_dbg/sql/sql_select.cc:5146 #23 0x0000555c18fb528b in handle_select (thd=thd@entry=0x148f7c000d58, lex=lex@entry=0x148f7c004ec8, result=result@entry=0x148f7c014d68, setup_tables_done_option=setup_tables_done_option@entry=0) at /test/11.0_dbg/sql/sql_select.cc:608 #24 0x0000555c18f1ae8d in execute_sqlcom_select (thd=thd@entry=0x148f7c000d58, all_tables=0x148f7c013bb8) at /test/11.0_dbg/sql/sql_parse.cc:6267 #25 0x0000555c18f264af in mysql_execute_command (thd=thd@entry=0x148f7c000d58, is_called_from_prepared_stmt=is_called_from_prepared_stmt@entry=false) at /test/11.0_dbg/sql/sql_parse.cc:3949 #26 0x0000555c18f2d7cf in mysql_parse (thd=thd@entry=0x148f7c000d58, rawbuf=<optimized out>, length=<optimized out>, parser_state=parser_state@entry=0x148ffc3f42c0) at /test/11.0_dbg/sql/sql_parse.cc:8002 #27 0x0000555c18f2f963 in dispatch_command (command=command@entry=COM_QUERY, thd=thd@entry=0x148f7c000d58, packet=packet@entry=0x148f7c00ae19 "", packet_length=packet_length@entry=41, blocking=blocking@entry=true) at /test/11.0_dbg/sql/sql_class.h:242 #28 0x0000555c18f317bc in do_command (thd=0x148f7c000d58, blocking=blocking@entry=true) at /test/11.0_dbg/sql/sql_parse.cc:1407 #29 0x0000555c190826e2 in do_handle_one_connection (connect=<optimized out>, connect@entry=0x555c1c6e99b8, put_in_cache=put_in_cache@entry=true) at /test/11.0_dbg/sql/sql_connect.cc:1416 #30 0x0000555c19082941 in handle_one_connection (arg=0x555c1c6e99b8) at /test/11.0_dbg/sql/sql_connect.cc:1318 #31 0x0000149022f09b43 in start_thread (arg=<optimized out>) at ./nptl/pthread_create.c:442 #32 0x0000149022f9ba00 in clone3 () at ../sysdeps/unix/sysv/linux/x86_64/clone3.S:81 Crash confirmed present in: MariaDB: 10.4.29 (dbg), 10.5.20 (dbg), 10.6.13 (dbg), 10.7.8 (dbg), 10.8.8 (dbg), 10.9.6 (dbg), 10.10.4 (dbg), 10.11.2 (dbg), 11.0.1 (dbg)

            The spider issue will be reported as a separate MDEV.

            bar Alexander Barkov added a comment - The spider issue will be reported as a separate MDEV.

            People

              bar Alexander Barkov
              elenst Elena Stepanova
              Votes:
              0 Vote for this issue
              Watchers:
              6 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.