[MDEV-27015] Assertion `!is_null()' failed in FixedBinTypeBundle<FbtImpl>::Fbt FixedBinTypeBundle<FbtImpl>::Field_fbt::to_fbt() Created: 2021-11-10  Updated: 2022-07-05  Resolved: 2022-07-05

Status: Closed
Project: MariaDB Server
Component/s: Plugin - INET6
Affects Version/s: 10.7, 10.8, 10.9, 10.10
Fix Version/s: 10.7.5, 10.8.4, 10.9.2

Type: Bug Priority: Major
Reporter: Alice Sherepa Assignee: Alexander Barkov
Resolution: Fixed Votes: 0
Labels: not-10.2, not-10.3, not-10.4, not-10.5, not-10.6, regression

Issue Links:
Relates
relates to MDEV-4958 Adding datatype UUID Closed
relates to MDEV-27207 Assertion `!m_null_value' failed in i... Closed

 Description   

CREATE TABLE t1 ( i6 inet6, a1 time, a2 varchar(10));
INSERT INTO t1 VALUES ('::','09:43:12','uw'), ('70:ef59::46:c7b:f:678:bd9f','00:00:00','a');
 
SELECT group_concat( if(a1, i6, a2) ORDER BY 1) FROM t1;
 
drop table t1;

10.7 06988bdcaa2d1af2c178c199b7

 
/10.7/sql/sql_type_fixedbin.h:1204: FixedBinTypeBundle<FbtImpl>::Fbt FixedBinTypeBundle<FbtImpl>::Field_fbt::to_fbt() const [with FbtImpl = Inet6]: Assertion `!is_null()' failed.
211110 13:45:54 [ERROR] mysqld got signal 6 ;
 
Server version: 10.7.2-MariaDB-debug-log
 
??:0(__assert_fail)[0x7f5a1ac48f36]
sql/sql_type_fixedbin.h:1205(FixedBinTypeBundle<Inet6>::Field_fbt::to_fbt() const)[0x559bbc3df5c3]
sql/sql_type_fixedbin.h:1210(FixedBinTypeBundle<Inet6>::Field_fbt::val_str(String*, String*))[0x559bbc3dc6fc]
sql/field.h:1030(Field::val_str(String*))[0x559bba1d3916]
sql/field.h:1582(Field::val_str(String*, unsigned char const*))[0x559bbaacbc82]
sql/item_sum.h:2007(Item_func_group_concat::get_str_from_field(Item*, Field*, String*, unsigned char const*, unsigned long))[0x559bbb07c8c4]
sql/item_sum.cc:3849(dump_leaf_key)[0x559bbb06de13]
mysys/tree.c:590(tree_walk_left_root_right)[0x559bbc278eb8]
mysys/tree.c:576(tree_walk)[0x559bbc278d29]
sql/item_sum.cc:4451(Item_func_group_concat::val_str(String*))[0x559bbb074fb9]
sql/sql_type.cc:7455(Type_handler::Item_send_str(Item*, Protocol*, st_value*) const)[0x559bbab349c2]
sql/sql_type.h:5441(Type_handler_string_result::Item_send(Item*, Protocol*, st_value*) const)[0x559bba92e4ac]
sql/item.h:1228(Item::send(Protocol*, st_value*))[0x559bba148b54]
sql/protocol.cc:1324(Protocol::send_result_set_row(List<Item>*))[0x559bba200c37]
sql/sql_class.cc:3060(select_send::send_data(List<Item>&))[0x559bba3a9442]
sql/sql_class.h:5605(select_result_sink::send_data_with_check(List<Item>&, st_select_lex_unit*, unsigned long long))[0x559bba6c2d2d]
sql/sql_select.cc:22457(end_send_group(JOIN*, st_join_table*, bool))[0x559bba67f63a]
sql/sql_select.cc:21010(sub_select(JOIN*, st_join_table*, bool))[0x559bba673d1a]
sql/sql_select.cc:20614(do_select(JOIN*, Procedure*))[0x559bba672826]
sql/sql_select.cc:4735(JOIN::exec_inner())[0x559bba5fed9d]
sql/sql_select.cc:4514(JOIN::exec())[0x559bba5fc2a2]
sql/sql_select.cc:4995(mysql_select(THD*, TABLE_LIST*, List<Item>&, Item*, unsigned int, st_order*, st_order*, Item*, st_order*, unsigned long long, select_result*, st_select_lex_unit*, st_select_lex*))[0x559bba60080b]
sql/sql_select.cc:545(handle_select(THD*, LEX*, select_result*, unsigned long))[0x559bba5d0cc7]
sql/sql_parse.cc:6253(execute_sqlcom_select(THD*, TABLE_LIST*))[0x559bba4f7e0c]
sql/sql_parse.cc:3944(mysql_execute_command(THD*, bool))[0x559bba4e6903]
sql/sql_parse.cc:8028(mysql_parse(THD*, char*, unsigned int, Parser_state*))[0x559bba5030ab]
sql/sql_parse.cc:1896(dispatch_command(enum_server_command, THD*, char*, unsigned int, bool))[0x559bba4d91ba]
sql/sql_parse.cc:1402(do_command(THD*, bool))[0x559bba4d5ede]
sql/sql_connect.cc:1418(do_handle_one_connection(CONNECT*, bool))[0x559bba97645b]
sql/sql_connect.cc:1314(handle_one_connection)[0x559bba975ce7]
perfschema/pfs.cc:2203(pfs_spawn_thread)[0x559bbb616f49]
nptl/pthread_create.c:478(start_thread)[0x7f5a1b161609]
??:0(clone)[0x7f5a1ad34293]
 
Query (0x61000000ae70): SELECT group_concat( if(a1, i6, a2) ORDER BY 1) FROM t1

and the same with uuid:

CREATE TABLE t1 ( i6 uuid, a1 time, a2 varchar(10));
INSERT INTO t1 VALUES ('ffffffff-ffff-ffff-ffff-fffffffffffe','09:43:12','uw'), (uuid(),'00:00:00','a');
 
SELECT group_concat( if(a1, i6, a2) ORDER BY 1) FROM t1;
 
drop table t1;

10.7 06988bdcaa2d1af2c178c199b7

/10.7/sql/sql_type_fixedbin.h:1204: FixedBinTypeBundle<FbtImpl>::Fbt FixedBinTypeBundle<FbtImpl>::Field_fbt::to_fbt() const [with FbtImpl = UUID]: Assertion `!is_null()' failed.
211110 13:42:49 [ERROR] mysqld got signal 6 ;
 
Server version: 10.7.2-MariaDB-debug-log
 
??:0(__assert_fail)[0x7fc85c578f36]
sql/sql_type_fixedbin.h:1205(FixedBinTypeBundle<UUID>::Field_fbt::to_fbt() const)[0x55e6a6c15f89]
sql/sql_type_fixedbin.h:1210(FixedBinTypeBundle<UUID>::Field_fbt::val_str(String*, String*))[0x55e6a6c131ea]
sql/field.h:1030(Field::val_str(String*))[0x55e6a49f0916]
sql/field.h:1582(Field::val_str(String*, unsigned char const*))[0x55e6a52e8c82]
sql/item_sum.h:2007(Item_func_group_concat::get_str_from_field(Item*, Field*, String*, unsigned char const*, unsigned long))[0x55e6a58998c4]
sql/item_sum.cc:3849(dump_leaf_key)[0x55e6a588ae13]
mysys/tree.c:590(tree_walk_left_root_right)[0x55e6a6a95eb8]
mysys/tree.c:576(tree_walk)[0x55e6a6a95d29]
sql/item_sum.cc:4451(Item_func_group_concat::val_str(String*))[0x55e6a5891fb9]
sql/sql_type.cc:7455(Type_handler::Item_send_str(Item*, Protocol*, st_value*) const)[0x55e6a53519c2]
sql/sql_type.h:5441(Type_handler_string_result::Item_send(Item*, Protocol*, st_value*) const)[0x55e6a514b4ac]
sql/item.h:1228(Item::send(Protocol*, st_value*))[0x55e6a4965b54]
sql/protocol.cc:1324(Protocol::send_result_set_row(List<Item>*))[0x55e6a4a1dc37]
sql/sql_class.cc:3060(select_send::send_data(List<Item>&))[0x55e6a4bc6442]
sql/sql_class.h:5605(select_result_sink::send_data_with_check(List<Item>&, st_select_lex_unit*, unsigned long long))[0x55e6a4edfd2d]
sql/sql_select.cc:22457(end_send_group(JOIN*, st_join_table*, bool))[0x55e6a4e9c63a]
sql/sql_select.cc:21010(sub_select(JOIN*, st_join_table*, bool))[0x55e6a4e90d1a]
sql/sql_select.cc:20614(do_select(JOIN*, Procedure*))[0x55e6a4e8f826]
sql/sql_select.cc:4735(JOIN::exec_inner())[0x55e6a4e1bd9d]
sql/sql_select.cc:4514(JOIN::exec())[0x55e6a4e192a2]
sql/sql_select.cc:4995(mysql_select(THD*, TABLE_LIST*, List<Item>&, Item*, unsigned int, st_order*, st_order*, Item*, st_order*, unsigned long long, select_result*, st_select_lex_unit*, st_select_lex*))[0x55e6a4e1d80b]
sql/sql_select.cc:545(handle_select(THD*, LEX*, select_result*, unsigned long))[0x55e6a4dedcc7]
sql/sql_parse.cc:6253(execute_sqlcom_select(THD*, TABLE_LIST*))[0x55e6a4d14e0c]
sql/sql_parse.cc:3944(mysql_execute_command(THD*, bool))[0x55e6a4d03903]
sql/sql_parse.cc:8028(mysql_parse(THD*, char*, unsigned int, Parser_state*))[0x55e6a4d200ab]
sql/sql_parse.cc:1896(dispatch_command(enum_server_command, THD*, char*, unsigned int, bool))[0x55e6a4cf61ba]
sql/sql_parse.cc:1402(do_command(THD*, bool))[0x55e6a4cf2ede]
sql/sql_connect.cc:1418(do_handle_one_connection(CONNECT*, bool))[0x55e6a519345b]
sql/sql_connect.cc:1314(handle_one_connection)[0x55e6a5192ce7]
perfschema/pfs.cc:2203(pfs_spawn_thread)[0x55e6a5e33f49]
nptl/pthread_create.c:478(start_thread)[0x7fc85ca91609]
??:0(clone)[0x7fc85c664293]
 
Query (0x61000000ae70): SELECT group_concat( if(a1, i6, a2) ORDER BY 1) FROM t1



 Comments   
Comment by Alexander Barkov [ 2021-12-30 ]

This smaller script also crashes the server:

CREATE OR REPLACE TABLE t1 (i6 inet6, a2 varchar(10));
INSERT INTO t1 VALUES ('::','uw'), (null,'a');
SELECT group_concat(coalesce(i6, a2) ORDER BY 1) FROM t1;
DROP TABLE t1;

Comment by Roel Van de Paar [ 2022-04-09 ]

Testcase without GROUP_CONCAT SQL. However GROUP_CONCAT is used; note stack frame #7.

CREATE TABLE t(a INET6);
INSERT INTO t VALUES();
SELECT JSON_ARRAYAGG(a ORDER BY a DESC)FROM t;

Leads to:

10.9.0 ef930dcad58ae6c3f334a32bd63e26c65fd66fa6 (Debug)

mysqld: /test/10.9_dbg/sql/sql_type_fixedbin.h:1204: FixedBinTypeBundle<FbtImpl>::Fbt FixedBinTypeBundle<FbtImpl>::Field_fbt::to_fbt() const [with FbtImpl = Inet6]: Assertion `!is_null()' failed.

10.9.0 ef930dcad58ae6c3f334a32bd63e26c65fd66fa6 (Debug)

Core was generated by `/test/MD050422-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 0x14cfc80e3700 (LWP 336132))]
(gdb) bt
#0  __GI_raise (sig=sig@entry=6) at ../sysdeps/unix/sysv/linux/raise.c:50
#1  0x000014cfd3b43859 in __GI_abort () at abort.c:79
#2  0x000014cfd3b43729 in __assert_fail_base (fmt=0x14cfd3cd9588 "%s%s%s:%u: %s%sAssertion `%s' failed.\n%n", assertion=0x564b35315c79 "!is_null()", file=0x564b35880558 "/test/10.9_dbg/sql/sql_type_fixedbin.h", line=1204, function=<optimized out>) at assert.c:92
#3  0x000014cfd3b55006 in __GI___assert_fail (assertion=assertion@entry=0x564b35315c79 "!is_null()", file=file@entry=0x564b35880558 "/test/10.9_dbg/sql/sql_type_fixedbin.h", line=line@entry=1204, function=function@entry=0x564b35881360 "FixedBinTypeBundle<FbtImpl>::Fbt FixedBinTypeBundle<FbtImpl>::Field_fbt::to_fbt() const [with FbtImpl = Inet6]") at assert.c:101
#4  0x0000564b35268a8b in FixedBinTypeBundle<Inet6>::Field_fbt::to_fbt (this=0x14cf7006d850) at /test/10.9_dbg/sql/field.h:1375
#5  FixedBinTypeBundle<Inet6>::Field_fbt::val_str (this=0x14cf7006d850, val_buffer=0x14cfc80e0f40) at /test/10.9_dbg/sql/sql_type_fixedbin.h:1210
#6  0x0000564b34a4e24d in Field::val_str (str=0x14cfc80e0f40, this=<optimized out>) at /test/10.9_dbg/sql/field.h:1030
#7  Item_func_group_concat::add (this=this@entry=0x14cf700145f0, exclude_nulls=false) at /test/10.9_dbg/sql/item_sum.cc:4174
#8  0x0000564b3480064e in Item_func_group_concat::add (this=0x14cf700145f0) at /test/10.9_dbg/sql/item_sum.h:2043
#9  0x0000564b34a4f1dd in Aggregator_simple::add (this=<optimized out>) at /test/10.9_dbg/sql/item_sum.h:720
#10 0x0000564b3464c7e5 in Item_sum::aggregator_add (this=0x14cf700145f0) at /test/10.9_dbg/sql/item_sum.h:564
#11 Item_sum::reset_and_add (this=0x14cf700145f0) at /test/10.9_dbg/sql/item_sum.h:445
#12 init_sum_functions (func_ptr=0x14cf70016230, end_ptr=0x14cf70016238) at /test/10.9_dbg/sql/sql_select.cc:26254
#13 0x0000564b3468b5e2 in end_send_group (join=0x14cf70015b18, join_tab=<optimized out>, end_of_records=<optimized out>) at /test/10.9_dbg/sql/sql_select.cc:22551
#14 0x0000564b34651d3a in evaluate_join_record (join=join@entry=0x14cf70015b18, join_tab=join_tab@entry=0x14cf70016e70, error=error@entry=0) at /test/10.9_dbg/sql/sql_select.cc:21325
#15 0x0000564b34668169 in sub_select (join=0x14cf70015b18, join_tab=0x14cf70016e70, end_of_records=<optimized out>) at /test/10.9_dbg/sql/sql_select.cc:21095
#16 0x0000564b3469ff98 in do_select (procedure=0x0, join=0x14cf70015b18) at /test/10.9_dbg/sql/sql_select.cc:20640
#17 JOIN::exec_inner (this=this@entry=0x14cf70015b18) at /test/10.9_dbg/sql/sql_select.cc:4749
#18 0x0000564b346a0544 in JOIN::exec (this=this@entry=0x14cf70015b18) at /test/10.9_dbg/sql/sql_select.cc:4527
#19 0x0000564b3469e553 in mysql_select (thd=thd@entry=0x14cf70000db8, tables=0x14cf70014b38, fields=@0x14cf70014138: {<base_list> = {<Sql_alloc> = {<No data fields>}, first = 0x14cf70014a88, last = 0x14cf70014a88, elements = 1}, <No data fields>}, conds=0x0, og_num=0, order=0x0, group=0x0, having=0x0, proc_param=0x0, select_options=2147748608, result=0x14cf70015af0, unit=0x14cf700051c8, select_lex=0x14cf70013e98) at /test/10.9_dbg/sql/sql_select.cc:5007
#20 0x0000564b3469e808 in handle_select (thd=thd@entry=0x14cf70000db8, lex=lex@entry=0x14cf700050f0, result=result@entry=0x14cf70015af0, setup_tables_done_option=setup_tables_done_option@entry=0) at /test/10.9_dbg/sql/sql_select.cc:543
#21 0x0000564b345fdb96 in execute_sqlcom_select (thd=thd@entry=0x14cf70000db8, all_tables=0x14cf70014b38) at /test/10.9_dbg/sql/sql_parse.cc:6268
#22 0x0000564b3460ab7e in mysql_execute_command (thd=thd@entry=0x14cf70000db8, is_called_from_prepared_stmt=is_called_from_prepared_stmt@entry=false) at /test/10.9_dbg/sql/sql_parse.cc:3959
#23 0x0000564b345f6e23 in mysql_parse (thd=thd@entry=0x14cf70000db8, rawbuf=<optimized out>, length=<optimized out>, parser_state=parser_state@entry=0x14cfc80e2400) at /test/10.9_dbg/sql/sql_parse.cc:8043
#24 0x0000564b34605a23 in dispatch_command (command=command@entry=COM_QUERY, thd=thd@entry=0x14cf70000db8, packet=packet@entry=0x14cf7000b889 "", packet_length=packet_length@entry=45, blocking=blocking@entry=true) at /test/10.9_dbg/sql/sql_class.h:1362
#25 0x0000564b34608e74 in do_command (thd=0x14cf70000db8, blocking=blocking@entry=true) at /test/10.9_dbg/sql/sql_parse.cc:1407
#26 0x0000564b34785d2a in do_handle_one_connection (connect=<optimized out>, connect@entry=0x564b38b4f158, put_in_cache=put_in_cache@entry=true) at /test/10.9_dbg/sql/sql_connect.cc:1418
#27 0x0000564b3478632f in handle_one_connection (arg=arg@entry=0x564b38b4f158) at /test/10.9_dbg/sql/sql_connect.cc:1312
#28 0x0000564b34c107a5 in pfs_spawn_thread (arg=0x564b38a8f0f8) at /test/10.9_dbg/storage/perfschema/pfs.cc:2201
#29 0x000014cfd4054609 in start_thread (arg=<optimized out>) at pthread_create.c:477
#30 0x000014cfd3c40163 in clone () at ../sysdeps/unix/sysv/linux/x86_64/clone.S:95

Bug confirmed present in:
MariaDB: 10.7.4 (dbg), 10.8.3 (dbg), 10.9.0 (dbg)

Bug (or feature/syntax) confirmed not present in:
MariaDB: 10.2.44 (dbg), 10.2.44 (opt), 10.3.35 (dbg), 10.3.35 (opt), 10.4.25 (dbg), 10.4.25 (opt), 10.5.16 (dbg), 10.5.16 (opt), 10.6.8 (dbg), 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)

Comment by Roel Van de Paar [ 2022-04-09 ]

UniqueID for the original first testcase + the testcase by bar

!is_null()|SIGABRT|FixedBinTypeBundle<Inet6>::Field_fbt::to_fbt|FixedBinTypeBundle<Inet6>::Field_fbt::val_str|Field::val_str|Field::val_str   

UniqueID for the original second testcase

!is_null()|SIGABRT|FixedBinTypeBundle<UUID>::Field_fbt::to_fbt|FixedBinTypeBundle<UUID>::Field_fbt::val_str|Field::val_str|Field::val_str

UniqueID for testcase in comment before this one

!is_null()|SIGABRT|FixedBinTypeBundle<Inet6>::Field_fbt::to_fbt|FixedBinTypeBundle<Inet6>::Field_fbt::val_str|Field::val_str|Item_func_group_concat::add    

Comment by Alexander Barkov [ 2022-04-11 ]

This patch seems to fix the problem:

--- a/sql/item_sum.cc
+++ b/sql/item_sum.cc
@@ -3844,6 +3844,7 @@ int dump_leaf_key(void* key_arg, element_count count __attribute__((unused)),
         uint offset= (field->offset(field->table->record[0]) -
                       table->s->null_bytes);
         DBUG_ASSERT(offset < table->s->reclength);
+        field->set_notnull();
         res= item->get_str_from_field(*arg, field, &tmp, key,
                                       offset + item->get_null_bytes());
       }

field->is_null() seems to have an arbitrary value at this point.
This change sets it to NOT NULL, as Item_func_group_concat::add() adds only NOT NULL values.

Comment by Alice Sherepa [ 2022-06-30 ]

bar, could you please fix it, I'm getting it now on bb-10.10-bar-MDEV-23287-inet4

10.10/sql/sql_type_fixedbin.h:1204: FixedBinTypeBundle<FbtImpl>::Fbt FixedBinTypeBundle<FbtImpl>::Field_fbt::to_fbt() const [with FbtImpl = Inet4]: Assertion `!is_null()' failed.
 
sql/sql_type_fixedbin.h:1205(FixedBinTypeBundle<Inet4>::Field_fbt::to_fbt() const)[0x558576c3a82e]
sql/sql_type_fixedbin.h:1210(FixedBinTypeBundle<Inet4>::Field_fbt::val_str(String*, String*))[0x558576c30e40]
sql/field.h:1044(Field::val_str(String*))[0x558574a7aa18]
sql/field.h:1605(Field::val_str(String*, unsigned char const*))[0x558575373126]
sql/item_jsonfunc.cc:1642(append_json_value_from_field(String*, Item*, Field*, unsigned char const*, unsigned long, String*))[0x558575358ea6]
sql/item_jsonfunc.cc:3903(Item_func_json_arrayagg::get_str_from_field(Item*, Field*, String*, unsigned char const*, unsigned long))[0x55857536d068]
sql/item_sum.cc:3856(dump_leaf_key)[0x558575918f08]
sql/item_sum.cc:4231(Item_func_group_concat::add(bool))[0x55857591d35d]
sql/item_sum.h:2044(Item_func_group_concat::add())[0x55857537381b]
sql/item_sum.h:720(Aggregator_simple::add())[0x558575922174]
sql/item_sum.h:564(Item_sum::aggregator_add())[0x558574a7cf18]
sql/item_sum.h:446(Item_sum::reset_and_add())[0x558574a7cd72]
sql/sql_select.cc:26444(init_sum_functions(Item_sum**, Item_sum**))[0x558574f353d5]
sql/sql_select.cc:22734(end_send_group(JOIN*, st_join_table*, bool))[0x558574f1a4ec]
sql/sql_select.cc:21508(evaluate_join_record(JOIN*, st_join_table*, int))[0x558574f1053f]
sql/sql_select.cc:21278(sub_select(JOIN*, st_join_table*, bool))[0x558574f0ee3d]
sql/sql_select.cc:20823(do_select(JOIN*, Procedure*))[0x558574f0cee6]
sql/sql_select.cc:4787(JOIN::exec_inner())[0x558574e9a47c]
sql/sql_select.cc:4566(JOIN::exec())[0x558574e979be]
sql/sql_select.cc:5047(mysql_select(THD*, TABLE_LIST*, List<Item>&, Item*, unsigned int, st_order*, st_order*, Item*, st_order*, unsigned long long, select_result*, st_select_lex_unit*, st_select_lex*))[0x558574e9bdb3]
sql/sql_select.cc:579(handle_select(THD*, LEX*, select_result*, unsigned long))[0x558574e6c70d]
sql/sql_parse.cc:4708(mysql_execute_command(THD*, bool))[0x558574d8ac2d]
sql/sql_prepare.cc:5221(Prepared_statement::execute(String*, bool))[0x558574e3294b]
sql/sql_prepare.cc:4644(Prepared_statement::execute_loop(String*, bool, unsigned char*, unsigned char*))[0x558574e2dc09]
sql/sql_prepare.cc:5373(Prepared_statement::execute_immediate(char const*, unsigned int))[0x558574e33b28]
sql/sql_prepare.cc:3098(mysql_sql_stmt_execute_immediate(THD*))[0x558574e24278]
sql/sql_parse.cc:3951(mysql_execute_command(THD*, bool))[0x558574d855c6]
sql/sql_parse.cc:8036(mysql_parse(THD*, char*, unsigned int, Parser_state*))[0x558574da19f5]
sql/sql_parse.cc:1896(dispatch_command(enum_server_command, THD*, char*, unsigned int, bool))[0x558574d780a1]
sql/sql_parse.cc:1407(do_command(THD*, bool))[0x558574d74dd7]
sql/sql_connect.cc:1418(do_handle_one_connection(CONNECT*, bool))[0x55857521191f]
sql/sql_connect.cc:1314(handle_one_connection)[0x5585752111a4]
perfschema/pfs.cc:2203(pfs_spawn_thread)[0x558575eac159]
nptl/pthread_create.c:487(start_thread)[0x7faf73190fa3]
x86_64/clone.S:97(clone)[0x7faf72d99eff]

Comment by Alexander Barkov [ 2022-07-04 ]

Also repeatable with a1 being INT instead of TIME.

DROP TABLE IF EXISTS t1;
CREATE TABLE t1 (i6 INET6, a1 INT, a2 VARCHAR(10));
INSERT INTO t1 VALUES ('::',1,'uw'), ('70:ef59::46:c7b:f:678:bd9f',0,'a');
SELECT GROUP_CONCAT(IF(a1, i6, a2) ORDER BY 1) FROM t1;

Comment by Alexander Barkov [ 2022-07-04 ]

Also repeatable with this script:

DROP TABLE IF EXISTS t1;
CREATE TABLE t1 (i6 INET6, a2 VARCHAR(10));
INSERT INTO t1 VALUES ('::',''), (NULL,NULL);
SELECT GROUP_CONCAT(COALESCE(i6, a2) ORDER BY 1) FROM t1;

Comment by Alexander Barkov [ 2022-07-05 ]

Also repeatable with GROUP_CONCAT(DISTINCT..) instread of GROUP_CONCAT(..ORDER BY..)

DROP TABLE IF EXISTS t1;
CREATE TABLE t1 (i6 INET6, a2 VARCHAR(10));
INSERT INTO t1 VALUES ('::',''), (NULL,NULL);
SELECT GROUP_CONCAT(DISTINCT COALESCE(i6, a2)) FROM t1;

Comment by Alexander Barkov [ 2022-07-05 ]

A similar creash is repeatable with this script:

DROP TABLE IF EXISTS t1, t2;
DROP VIEW IF EXISTS v1;
 
CREATE TABLE t1 (id int NOT NULL PRIMARY KEY, a INET6(6) DEFAULT '::10');
INSERT INTO t1(id) VALUES (1), (2), (3), (4);
INSERT INTO t1 VALUES (5,'::5'), (6,'::6');
SELECT * FROM t1;
 
CREATE VIEW v1(a, m) AS SELECT a, MIN(id) FROM t1 GROUP BY a;
SELECT * FROM v1;
 
CREATE TABLE t2 SELECT * FROM v1;

#0  __GI_raise (sig=sig@entry=6) at ../sysdeps/unix/sysv/linux/raise.c:50
#1  0x00007ffff760a8d9 in __GI_abort () at abort.c:79
#2  0x00007ffff760a7a9 in __assert_fail_base (fmt=0x7ffff7775af8 "%s%s%s:%u: %s%sAssertion `%s' failed.\n%n", 
    assertion=0x1bbd6fa "!is_null()", 
    file=0x1bbce10 "/home/bar/maria-git/server.10.7.enum/sql/sql_type_fixedbin.h", line=1204, 
    function=<optimized out>) at assert.c:92
#3  0x00007ffff7619a66 in __GI___assert_fail (assertion=0x1bbd6fa "!is_null()", 
    file=0x1bbce10 "/home/bar/maria-git/server.10.7.enum/sql/sql_type_fixedbin.h", line=1204, 
    function=0x1bbe510 "FixedBinTypeBundle<FbtImpl>::Fbt FixedBinTypeBundle<FbtImpl>::Field_fbt::to_fbt() const [with FbtImpl = Inet6]") at assert.c:101
#4  0x000000000157ee1c in FixedBinTypeBundle<Inet6>::Field_fbt::to_fbt (this=0x7fffb0082fe0)
    at /home/bar/maria-git/server.10.7.enum/sql/sql_type_fixedbin.h:1204
#5  0x000000000157d540 in FixedBinTypeBundle<Inet6>::Field_fbt::val_str (this=0x7fffb0082fe0, 
    val_buffer=0x7fffe0d06830) at /home/bar/maria-git/server.10.7.enum/sql/sql_type_fixedbin.h:1210
#6  0x00000000007c11d1 in Field::val_str (this=0x7fffb0082fe0, str=0x7fffe0d06830)
    at /home/bar/maria-git/server.10.7.enum/sql/field.h:1044
#7  0x0000000000b51aab in Field::val_str (this=0x7fffb0082fe0, str=0x7fffe0d06830, new_ptr=0x7fffb00831b9 "")
    at /home/bar/maria-git/server.10.7.enum/sql/field.h:1595
#8  0x0000000000c7d8bb in Column_definition::Column_definition (this=0x7fffb0081350, thd=0x7fffb0000db8, 
    old_field=0x7fffb0081288, orig_field=0x7fffb0082fe0) at /home/bar/maria-git/server.10.7.enum/sql/field.cc:10897
#9  0x00000000008c21dc in Create_field::Create_field (this=0x7fffb0081350, thd=0x7fffb0000db8, 
    old_field=0x7fffb0081288, orig_field=0x7fffb0082fe0) at /home/bar/maria-git/server.10.7.enum/sql/field.h:5694
#10 0x00000000008be8f3 in select_create::create_table_from_items (this=0x7fffb007fbd8, thd=0x7fffb0000db8, 
    items=0x7fffe0d076c0, lock=0x7fffe0d076b8, hooks=0x7fffe0d07670)
    at /home/bar/maria-git/server.10.7.enum/sql/sql_insert.cc:4525
#11 0x00000000008bf401 in select_create::prepare (this=0x7fffb007fbd8, _values=..., u=0x7fffb00051c0)
    at /home/bar/maria-git/server.10.7.enum/sql/sql_insert.cc:4772
#12 0x00000000009674f2 in JOIN::prepare (this=0x7fffb007fd20, tables_init=0x7fffb0017950, conds_init=0x0, 
    og_num=0, order_init=0x0, skip_order_by=false, group_init=0x0, having_init=0x0, proc_param_init=0x0, 
    select_lex_arg=0x7fffb0017378, unit_arg=0x7fffb00051c0)
    at /home/bar/maria-git/server.10.7.enum/sql/sql_select.cc:1695
#13 0x00000000009732f9 in mysql_select (thd=0x7fffb0000db8, tables=0x7fffb0017950, fields=..., conds=0x0, 
    og_num=0, order=0x0, group=0x0, having=0x0, proc_param=0x0, select_options=2201171004160, 
    result=0x7fffb007fbd8, unit=0x7fffb00051c0, select_lex=0x7fffb0017378)
    at /home/bar/maria-git/server.10.7.enum/sql/sql_select.cc:4995
#14 0x0000000000962aad in handle_select (thd=0x7fffb0000db8, lex=0x7fffb00050e8, result=0x7fffb007fbd8, 
    setup_tables_done_option=0) at /home/bar/maria-git/server.10.7.enum/sql/sql_select.cc:554
#15 0x0000000000a267bb in Sql_cmd_create_table_like::execute (this=0x7fffb0016c30, thd=0x7fffb0000db8)
    at /home/bar/maria-git/server.10.7.enum/sql/sql_table.cc:11905
#16 0x000000000090d3a1 in mysql_execute_command (thd=0x7fffb0000db8, is_called_from_prepared_stmt=false)
    at /home/bar/maria-git/server.10.7.enum/sql/sql_parse.cc:5988

Generated at Thu Feb 08 09:49:41 UTC 2024 using Jira 8.20.16#820016-sha1:9d11dbea5f4be3d4cc21f03a88dd11d8c8687422.