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

Assertion `fixed()' failed and Assertion `fixed == 1' failed, both in Item_func_concat::val_str on SELECT after INSERT with collation utf32_bin on utf8_bin table

    XMLWordPrintable

Details

    Description

      SET sql_mode='';
      CREATE TABLE t (c1 INT,c2 CHAR AS (CONCAT ('',DAYNAME ('')))) COLLATE utf8_bin ENGINE=InnoDB;
      INSERT INTO t VALUES (0,0),(0,0),(0,0),(0,0),(0,0),(0,0),(0,0),(0,0),(0,0);
      SET collation_connection='utf32_bin';
      INSERT INTO t VALUES (0,0),(0,0),(0,0),(0,0),(0,0),(0,0),(0,0),(0,0),(0,0);
      SELECT * FROM t;
      

      Leads to:

      10.9.0 4a2a9c02cd6611ef36bbb735c2b483dbc83580d4 (Debug)

      mysqld: /test/10.9_dbg/sql/item_strfunc.cc:630: virtual String* Item_func_concat::val_str(String*): Assertion `fixed()' failed.
      

      10.9.0 4a2a9c02cd6611ef36bbb735c2b483dbc83580d4 (Debug)

      Core was generated by `/test/MD260222-mariadb-10.9.0-linux-x86_64-dbg/bin/mysqld --no-defaults --core-'.
      Program terminated with signal SIGABRT, Aborted.
      #0  __GI_raise (sig=sig@entry=6) at ../sysdeps/unix/sysv/linux/raise.c:50
      [Current thread is 1 (Thread 0x14cc041a5700 (LWP 3968429))]
      (gdb) bt
      #0  __GI_raise (sig=sig@entry=6) at ../sysdeps/unix/sysv/linux/raise.c:50
      #1  0x000014cc23428859 in __GI_abort () at abort.c:79
      #2  0x000014cc23428729 in __assert_fail_base (fmt=0x14cc235be588 "%s%s%s:%u: %s%sAssertion `%s' failed.\n%n", assertion=0x55d7766c00bf "fixed()", file=0x55d776895c30 "/test/10.9_dbg/sql/item_strfunc.cc", line=630, function=<optimized out>) at assert.c:92
      #3  0x000014cc23439f36 in __GI___assert_fail (assertion=assertion@entry=0x55d7766c00bf "fixed()", file=file@entry=0x55d776895c30 "/test/10.9_dbg/sql/item_strfunc.cc", line=line@entry=630, function=function@entry=0x55d776896d68 "virtual String* Item_func_concat::val_str(String*)") at assert.c:101
      #4  0x000055d775e04e14 in Item_func_concat::val_str (this=0x14cbd0029ad0, str=0x14cbd0029af8) at /test/10.9_dbg/sql/item.h:1069
      #5  0x000055d775d51ff1 in Item::save_str_in_field (this=0x14cbd0029ad0, field=0x14cbd0028620, no_conversions=<optimized out>) at /test/10.9_dbg/sql/item.cc:6763
      #6  0x000055d775c2a060 in Type_handler_string_result::Item_save_in_field (this=<optimized out>, item=<optimized out>, field=<optimized out>, no_conversions=<optimized out>) at /test/10.9_dbg/sql/sql_type.cc:4343
      #7  0x000055d775d3834d in Item::save_in_field (this=0x14cbd0029ad0, field=0x14cbd0028620, no_conversions=<optimized out>) at /test/10.9_dbg/sql/item.cc:6811
      #8  0x000055d775b48f67 in TABLE::update_virtual_fields (this=0x14cbd00215e8, h=h@entry=0x14cbd00289a0, update_mode=update_mode@entry=VCOL_UPDATE_FOR_READ) at /test/10.9_dbg/sql/table.cc:8757
      #9  0x000055d775d2214b in handler::ha_rnd_next (this=0x14cbd00289a0, buf=0x14cbd0028518 <incomplete sequence \375>) at /test/10.9_dbg/sql/handler.cc:3408
      #10 0x000055d775906f19 in rr_sequential (info=0x14cbd0016a08) at /test/10.9_dbg/sql/records.h:82
      #11 0x000055d775a8b228 in READ_RECORD::read_record (this=0x14cbd0016a08) at /test/10.9_dbg/sql/records.h:81
      #12 join_init_read_record (tab=0x14cbd0016940) at /test/10.9_dbg/sql/sql_select.cc:22089
      #13 0x000055d775a72519 in sub_select (join=0x14cbd0015410, join_tab=0x14cbd0016940, end_of_records=<optimized out>) at /test/10.9_dbg/sql/sql_select.cc:21092
      #14 0x000055d775aaa386 in do_select (procedure=0x0, join=0x14cbd0015410) at /test/10.9_dbg/sql/sql_select.cc:20640
      #15 JOIN::exec_inner (this=this@entry=0x14cbd0015410) at /test/10.9_dbg/sql/sql_select.cc:4749
      #16 0x000055d775aaa932 in JOIN::exec (this=this@entry=0x14cbd0015410) at /test/10.9_dbg/sql/sql_select.cc:4527
      #17 0x000055d775aa8941 in mysql_select (thd=thd@entry=0x14cbd0000db8, tables=0x14cbd0014430, fields=@0x14cbd00140f8: {<base_list> = {<Sql_alloc> = {<No data fields>}, first = 0x14cbd00143e8, last = 0x14cbd0015c38, elements = 2}, <No data fields>}, conds=0x0, og_num=0, order=0x0, group=0x0, having=0x0, proc_param=0x0, select_options=2147748608, result=0x14cbd00153e8, unit=0x14cbd00051c8, select_lex=0x14cbd0013e58) at /test/10.9_dbg/sql/sql_select.cc:5007
      #18 0x000055d775aa8bf6 in handle_select (thd=thd@entry=0x14cbd0000db8, lex=lex@entry=0x14cbd00050f0, result=result@entry=0x14cbd00153e8, setup_tables_done_option=setup_tables_done_option@entry=0) at /test/10.9_dbg/sql/sql_select.cc:543
      #19 0x000055d775a08152 in execute_sqlcom_select (thd=thd@entry=0x14cbd0000db8, all_tables=0x14cbd0014430) at /test/10.9_dbg/sql/sql_parse.cc:6252
      #20 0x000055d775a150b9 in mysql_execute_command (thd=thd@entry=0x14cbd0000db8, is_called_from_prepared_stmt=is_called_from_prepared_stmt@entry=false) at /test/10.9_dbg/sql/sql_parse.cc:3943
      #21 0x000055d775a01343 in mysql_parse (thd=thd@entry=0x14cbd0000db8, rawbuf=<optimized out>, length=<optimized out>, parser_state=parser_state@entry=0x14cc041a4400) at /test/10.9_dbg/sql/sql_parse.cc:8027
      #22 0x000055d775a0ffdf in dispatch_command (command=command@entry=COM_QUERY, thd=thd@entry=0x14cbd0000db8, packet=packet@entry=0x14cbd000b889 "", packet_length=packet_length@entry=15, blocking=blocking@entry=true) at /test/10.9_dbg/sql/sql_class.h:1362
      #23 0x000055d775a13426 in do_command (thd=0x14cbd0000db8, blocking=blocking@entry=true) at /test/10.9_dbg/sql/sql_parse.cc:1402
      #24 0x000055d775b8e036 in do_handle_one_connection (connect=<optimized out>, connect@entry=0x55d7785c8388, put_in_cache=put_in_cache@entry=true) at /test/10.9_dbg/sql/sql_connect.cc:1418
      #25 0x000055d775b8e63b in handle_one_connection (arg=arg@entry=0x55d7785c8388) at /test/10.9_dbg/sql/sql_connect.cc:1312
      #26 0x000055d776014d23 in pfs_spawn_thread (arg=0x55d7784db5a8) at /test/10.9_dbg/storage/perfschema/pfs.cc:2201
      #27 0x000014cc23937609 in start_thread (arg=<optimized out>) at pthread_create.c:477
      #28 0x000014cc23525293 in clone () at ../sysdeps/unix/sysv/linux/x86_64/clone.S:95
      

      10.5.16 b791b942e1c04113c65cb7d3eaaf3cae8963efee (Debug)

      mysqld: /test/10.5_dbg/sql/item_strfunc.cc:615: virtual String* Item_func_concat::val_str(String*): Assertion `fixed ==
       1' failed.
      

      10.5.16 b791b942e1c04113c65cb7d3eaaf3cae8963efee (Debug)

      Core was generated by `/test/MD260222-mariadb-10.5.16-linux-x86_64-dbg/bin/mysqld --no-defaults --core'.
      Program terminated with signal SIGABRT, Aborted.
      #0  __GI_raise (sig=sig@entry=6) at ../sysdeps/unix/sysv/linux/raise.c:50
      [Current thread is 1 (Thread 0x14e230ce6700 (LWP 3968777))]
      (gdb) bt
      #0  __GI_raise (sig=sig@entry=6) at ../sysdeps/unix/sysv/linux/raise.c:50
      #1  0x000014e23b16c859 in __GI_abort () at abort.c:79
      #2  0x000014e23b16c729 in __assert_fail_base (fmt=0x14e23b302588 "%s%s%s:%u: %s%sAssertion `%s' failed.\n%n", assertion=0x55a7f8645e19 "fixed == 1", file=0x55a7f864a000 "/test/10.5_dbg/sql/item_strfunc.cc", line=615, function=<optimized out>) at assert.c:92
      #3  0x000014e23b17df36 in __GI___assert_fail (assertion=assertion@entry=0x55a7f8645e19 "fixed == 1", file=file@entry=0x55a7f864a000 "/test/10.5_dbg/sql/item_strfunc.cc", line=line@entry=615, function=function@entry=0x55a7f864b0c0 "virtual String* Item_func_concat::val_str(String*)") at assert.c:101
      #4  0x000055a7f7b4d716 in Item_func_concat::val_str (this=0x14e1ec0284b8, str=0x14e1ec0284f0) at /test/10.5_dbg/sql/item_strfunc.cc:615
      #5  0x000055a7f7a92363 in Item::save_str_in_field (this=0x14e1ec0284b8, field=0x14e1ec026f98, no_conversions=<optimized out>) at /test/10.5_dbg/sql/item.cc:6719
      #6  0x000055a7f796dac2 in Type_handler_string_result::Item_save_in_field (this=<optimized out>, item=<optimized out>, field=<optimized out>, no_conversions=<optimized out>) at /test/10.5_dbg/sql/sql_type.cc:4341
      #7  0x000055a7f7a78505 in Item::save_in_field (this=0x14e1ec0284b8, field=0x14e1ec026f98, no_conversions=<optimized out>) at /test/10.5_dbg/sql/item.cc:6767
      #8  0x000055a7f78a42f7 in TABLE::update_virtual_fields (this=0x14e1ec020db8, h=h@entry=0x14e1ec0272f0, update_mode=update_mode@entry=VCOL_UPDATE_FOR_READ) at /test/10.5_dbg/sql/table.cc:8671
      #9  0x000055a7f7a60a81 in handler::ha_rnd_next (this=0x14e1ec0272f0, buf=0x14e1ec026e88 <incomplete sequence \375>) at /test/10.5_dbg/sql/handler.cc:3095
      #10 0x000055a7f7c3825d in rr_sequential (info=0x14e1ec016968) at /test/10.5_dbg/sql/records.h:81
      #11 0x000055a7f77f2159 in READ_RECORD::read_record (this=0x14e1ec016968) at /test/10.5_dbg/sql/records.h:80
      #12 join_init_read_record (tab=0x14e1ec0168a0) at /test/10.5_dbg/sql/sql_select.cc:21877
      #13 0x000055a7f77d8958 in sub_select (join=0x14e1ec015388, join_tab=0x14e1ec0168a0, end_of_records=<optimized out>) at /test/10.5_dbg/sql/sql_select.cc:20910
      #14 0x000055a7f78114cc in do_select (procedure=0x0, join=0x14e1ec015388) at /test/10.5_dbg/sql/sql_select.cc:20445
      #15 JOIN::exec_inner (this=this@entry=0x14e1ec015388) at /test/10.5_dbg/sql/sql_select.cc:4538
      #16 0x000055a7f7811a16 in JOIN::exec (this=this@entry=0x14e1ec015388) at /test/10.5_dbg/sql/sql_select.cc:4318
      #17 0x000055a7f780fb9d in mysql_select (thd=thd@entry=0x14e1ec000db8, tables=0x14e1ec014378, fields=@0x14e1ec013eb8: {<base_list> = {<Sql_alloc> = {<No data fields>}, first = 0x14e1ec014330, last = 0x14e1ec015bc0, elements = 2}, <No data fields>}, conds=0x0, og_num=0, order=0x0, group=0x0, having=0x0, proc_param=0x0, select_options=2147748608, result=0x14e1ec015360, unit=0x14e1ec004f60, select_lex=0x14e1ec013d68) at /test/10.5_dbg/sql/sql_select.cc:4795
      #18 0x000055a7f780fe63 in handle_select (thd=thd@entry=0x14e1ec000db8, lex=lex@entry=0x14e1ec004e98, result=result@entry=0x14e1ec015360, setup_tables_done_option=setup_tables_done_option@entry=0) at /test/10.5_dbg/sql/sql_select.cc:444
      #19 0x000055a7f778147b in execute_sqlcom_select (thd=thd@entry=0x14e1ec000db8, all_tables=0x14e1ec014378) at /test/10.5_dbg/sql/sql_parse.cc:6314
      #20 0x000055a7f778ebe0 in mysql_execute_command (thd=thd@entry=0x14e1ec000db8) at /test/10.5_dbg/sql/sql_parse.cc:4005
      #21 0x000055a7f7779f5a in mysql_parse (thd=thd@entry=0x14e1ec000db8, rawbuf=<optimized out>, length=<optimized out>, parser_state=parser_state@entry=0x14e230ce53d0, is_com_multi=is_com_multi@entry=false, is_next_command=is_next_command@entry=false) at /test/10.5_dbg/sql/sql_parse.cc:8100
      #22 0x000055a7f77897ad in dispatch_command (command=command@entry=COM_QUERY, thd=thd@entry=0x14e1ec000db8, packet=packet@entry=0x14e1ec00b4a9 "", packet_length=packet_length@entry=15, is_com_multi=is_com_multi@entry=false, is_next_command=is_next_command@entry=false) at /test/10.5_dbg/sql/sql_class.h:1290
      #23 0x000055a7f778d029 in do_command (thd=0x14e1ec000db8) at /test/10.5_dbg/sql/sql_parse.cc:1370
      #24 0x000055a7f78e9d62 in do_handle_one_connection (connect=<optimized out>, connect@entry=0x55a7fb2860b8, put_in_cache=put_in_cache@entry=true) at /test/10.5_dbg/sql/sql_connect.cc:1418
      #25 0x000055a7f78ea465 in handle_one_connection (arg=arg@entry=0x55a7fb2860b8) at /test/10.5_dbg/sql/sql_connect.cc:1312
      #26 0x000055a7f7da3917 in pfs_spawn_thread (arg=0x55a7fb1be7b8) at /test/10.5_dbg/storage/perfschema/pfs.cc:2201
      #27 0x000014e23b67b609 in start_thread (arg=<optimized out>) at pthread_create.c:477
      #28 0x000014e23b269293 in clone () at ../sysdeps/unix/sysv/linux/x86_64/clone.S:95
      

      10.2.44 (Debug)

      mysqld: /test/10.2_dbg/sql/item_strfunc.cc:599: virtual String* Item_func_concat::val_str(String*): Assertion `fixed == 1' failed.
      

      10.2.44 (Debug)

      Core was generated by `/test/MD260222-mariadb-10.2.44-linux-x86_64-dbg/bin/mysqld --no-defaults --core'.
      Program terminated with signal SIGABRT, Aborted.
      #0  __pthread_kill (threadid=<optimized out>, signo=signo@entry=6)
          at ../sysdeps/unix/sysv/linux/pthread_kill.c:56
      [Current thread is 1 (Thread 0x1467a742b700 (LWP 3969328))]
      (gdb) bt
      #0  __pthread_kill (threadid=<optimized out>, signo=signo@entry=6) at ../sysdeps/unix/sysv/linux/pthread_kill.c:56
      #1  0x000055c857b92231 in my_write_core (sig=sig@entry=6) at /test/10.2_dbg/mysys/stacktrace.c:382
      #2  0x000055c8574879c1 in handle_fatal_signal (sig=6) at /test/10.2_dbg/sql/signal_handler.cc:355
      #3  <signal handler called>
      #4  __GI_raise (sig=sig@entry=6) at ../sysdeps/unix/sysv/linux/raise.c:50
      #5  0x00001467e638d859 in __GI_abort () at abort.c:79
      #6  0x00001467e638d729 in __assert_fail_base (fmt=0x1467e6523588 "%s%s%s:%u: %s%sAssertion `%s' failed.\n%n", assertion=0x55c857d0d41e "fixed == 1", file=0x55c857d083d0 "/test/10.2_dbg/sql/item_strfunc.cc", line=599, function=<optimized out>) at assert.c:92
      #7  0x00001467e639ef36 in __GI___assert_fail (assertion=assertion@entry=0x55c857d0d41e "fixed == 1", file=file@entry=0x55c857d083d0 "/test/10.2_dbg/sql/item_strfunc.cc", line=line@entry=599, function=function@entry=0x55c857d09490 "virtual String* Item_func_concat::val_str(String*)") at assert.c:101
      #8  0x000055c857541621 in Item_func_concat::val_str (this=<optimized out>, str=<optimized out>) at /test/10.2_dbg/sql/item_strfunc.cc:610
      #9  0x000055c8574a366f in Item::save_in_field (this=0x1467800251a0, field=0x146780023e60, no_conversions=<optimized out>) at /test/10.2_dbg/sql/item.cc:6441
      #10 0x000055c8573610a9 in TABLE::update_virtual_fields (this=0x146780023150, h=h@entry=0x1467800241b8, update_mode=update_mode@entry=VCOL_UPDATE_FOR_READ) at /test/10.2_dbg/sql/table.cc:7811
      #11 0x000055c85748d774 in handler::ha_rnd_next (this=0x1467800241b8, buf=0x146780023d60 <incomplete sequence \375>) at /test/10.2_dbg/sql/handler.cc:2675
      #12 0x000055c8575f8ce3 in rr_sequential (info=0x146780012f20) at /test/10.2_dbg/sql/records.cc:492
      #13 0x000055c8572d7dbb in join_init_read_record (tab=0x146780012e58) at /test/10.2_dbg/sql/sql_select.cc:19840
      #14 0x000055c8572c158f in sub_select (join=0x146780011a88, join_tab=0x146780012e58, end_of_records=<optimized out>) at /test/10.2_dbg/sql/sql_select.cc:18905
      #15 0x000055c8572edea4 in do_select (procedure=0x0, join=0x146780011a88) at /test/10.2_dbg/sql/sql_select.cc:18451
      #16 JOIN::exec_inner (this=this@entry=0x146780011a88) at /test/10.2_dbg/sql/sql_select.cc:3651
      #17 0x000055c8572ee26e in JOIN::exec (this=this@entry=0x146780011a88) at /test/10.2_dbg/sql/sql_select.cc:3446
      #18 0x000055c8572eec64 in mysql_select (thd=thd@entry=0x146780000d90, tables=0x146780011378, wild_num=1, fields=@0x146780005200: {<base_list> = {<Sql_alloc> = {<No data fields>}, first = 0x146780011330, last = 0x146780012220, elements = 2}, <No data fields>}, conds=0x0, og_num=0, order=0x0, group=0x0, having=0x0, proc_param=0x0, select_options=2147748608, result=0x146780011a68, unit=0x146780004988, select_lex=0x1467800050d8) at /test/10.2_dbg/sql/sql_select.cc:3849
      #19 0x000055c8572eeef9 in handle_select (thd=thd@entry=0x146780000d90, lex=lex@entry=0x1467800048c8, result=result@entry=0x146780011a68, setup_tables_done_option=setup_tables_done_option@entry=0) at /test/10.2_dbg/sql/sql_select.cc:361
      #20 0x000055c857273839 in execute_sqlcom_select (thd=thd@entry=0x146780000d90, all_tables=0x146780011378) at /test/10.2_dbg/sql/sql_parse.cc:6271
      #21 0x000055c85727dac4 in mysql_execute_command (thd=thd@entry=0x146780000d90) at /test/10.2_dbg/sql/sql_parse.cc:3582
      #22 0x000055c8572872cc in mysql_parse (thd=thd@entry=0x146780000d90, rawbuf=<optimized out>, length=<optimized out>, parser_state=parser_state@entry=0x1467a742a540, is_com_multi=is_com_multi@entry=false, is_next_command=is_next_command@entry=false) at /test/10.2_dbg/sql/sql_parse.cc:7793
      #23 0x000055c857289dcf in dispatch_command (command=command@entry=COM_QUERY, thd=thd@entry=0x146780000d90, packet=packet@entry=0x1467800195e1 "", packet_length=packet_length@entry=15, is_com_multi=is_com_multi@entry=false, is_next_command=is_next_command@entry=false) at /test/10.2_dbg/sql/sql_class.h:1109
      #24 0x000055c85728cbd2 in do_command (thd=0x146780000d90) at /test/10.2_dbg/sql/sql_parse.cc:1381
      #25 0x000055c857391e00 in do_handle_one_connection (connect=connect@entry=0x55c859743580) at /test/10.2_dbg/sql/sql_connect.cc:1336
      #26 0x000055c85739202b in handle_one_connection (arg=0x55c859743580) at /test/10.2_dbg/sql/sql_connect.cc:1241
      #27 0x00001467e6896609 in start_thread (arg=<optimized out>) at pthread_create.c:477
      #28 0x00001467e648a293 in clone () at ../sysdeps/unix/sysv/linux/x86_64/clone.S:95
      

      Bug confirmed present in:
      MariaDB: 10.2.44 (dbg), 10.3.35 (dbg), 10.4.25 (dbg), 10.5.16 (dbg), 10.6.8 (dbg), 10.7.4 (dbg), 10.8.3 (dbg), 10.9.0 (dbg)

      Bug (or feature/syntax) confirmed not present in:
      MariaDB: 10.2.44 (opt), 10.3.35 (opt), 10.4.25 (opt), 10.5.16 (opt), 10.6.8 (opt), 10.7.4 (opt), 10.8.3 (opt), 10.9.0 (opt)
      MySQL: 5.5.62 (dbg), 5.5.62 (opt), 5.6.51 (dbg), 5.6.51 (opt), 5.7.37 (dbg), 5.7.37 (opt), 8.0.28 (dbg), 8.0.28 (opt)

      Attachments

        Issue Links

          Activity

            People

              bar Alexander Barkov
              Roel Roel Van de Paar
              Votes:
              0 Vote for this issue
              Watchers:
              3 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.