|
A different but apparently closely related assertion
CREATE TABLE t1 (a INET6);
|
INSERT INTO t1 VALUES ('::'),('f::f');
|
SET SESSION max_sort_length= 8;
|
SELECT CASE 1 WHEN 0 THEN 'foo' ELSE a END AS f FROM t1 GROUP BY f WITH ROLLUP;
|
|
10.5 f99de891
|
mariadbd: /data/src/10.5/plugin/type_inet/sql_type_inet.cc:1397: virtual void Type_handler_inet6::make_sort_key_part(uchar*, Item*, const SORT_FIELD_ATTR*, Sort_param*) const: Assertion `Inet6::binary_length() == sort_field->length' failed.
|
200730 21:14:20 [ERROR] mysqld got signal 6 ;
|
|
#7 0x00007fc0b9a9ef12 in __GI___assert_fail (assertion=0x56505fe7ef28 "Inet6::binary_length() == sort_field->length", file=0x56505fe7eb30 "/data/src/10.5/plugin/type_inet/sql_type_inet.cc", line=1397, function=0x56505fe7f360 <Type_handler_inet6::make_sort_key_part(unsigned char*, Item*, SORT_FIELD_ATTR const*, Sort_param*) const::__PRETTY_FUNCTION__> "virtual void Type_handler_inet6::make_sort_key_part(uchar*, Item*, const SORT_FIELD_ATTR*, Sort_param*) const") at assert.c:101
|
#8 0x000056505f825a5e in Type_handler_inet6::make_sort_key_part (this=0x565060f6c730 <type_handler_inet6>, to=0x7fc0a4065299 '\245' <repeats 200 times>..., item=0x7fc0a40141c8, sort_field=0x7fc0a4017e20, param=0x7fc0b4639080) at /data/src/10.5/plugin/type_inet/sql_type_inet.cc:1397
|
#9 0x000056505ee59a7a in make_sortkey (param=0x7fc0b4639080, to=0x7fc0a4065298 "\001", '\245' <repeats 199 times>...) at /data/src/10.5/sql/filesort.cc:3002
|
#10 0x000056505ee554b5 in make_sortkey (param=0x7fc0b4639080, to=0x7fc0a4065298 "\001", '\245' <repeats 199 times>..., ref_pos=0x7fc0a40f85f8 "", using_packed_sortkeys=false) at /data/src/10.5/sql/filesort.cc:1338
|
#11 0x000056505ee541ce in find_all_keys (thd=0x7fc0a4000b18, param=0x7fc0b4639080, select=0x7fc0a4017310, fs_info=0x7fc0a4064f40, buffpek_pointers=0x7fc0b46392a0, tempfile=0x7fc0b4639130, pq=0x0, found_rows=0x7fc0a4065130) at /data/src/10.5/sql/filesort.cc:957
|
#12 0x000056505ee52093 in filesort (thd=0x7fc0a4000b18, table=0x7fc0a41a7598, filesort=0x7fc0a40176a0, tracker=0x7fc0a4017d90, join=0x7fc0a4015580, first_table_bit=1) at /data/src/10.5/sql/filesort.cc:357
|
#13 0x000056505eb909d9 in create_sort_index (thd=0x7fc0a4000b18, join=0x7fc0a4015580, tab=0x7fc0a40169d0, fsort=0x7fc0a40176a0) at /data/src/10.5/sql/sql_select.cc:23875
|
#14 0x000056505eb8aba2 in st_join_table::sort_table (this=0x7fc0a40169d0) at /data/src/10.5/sql/sql_select.cc:21625
|
#15 0x000056505eb8a77d in join_init_read_record (tab=0x7fc0a40169d0) at /data/src/10.5/sql/sql_select.cc:21564
|
#16 0x000056505eb88525 in sub_select (join=0x7fc0a4015580, join_tab=0x7fc0a40169d0, end_of_records=false) at /data/src/10.5/sql/sql_select.cc:20638
|
#17 0x000056505eb87a40 in do_select (join=0x7fc0a4015580, procedure=0x0) at /data/src/10.5/sql/sql_select.cc:20175
|
#18 0x000056505eb5b4ab in JOIN::exec_inner (this=0x7fc0a4015580) at /data/src/10.5/sql/sql_select.cc:4450
|
#19 0x000056505eb5a5d7 in JOIN::exec (this=0x7fc0a4015580) at /data/src/10.5/sql/sql_select.cc:4231
|
#20 0x000056505eb5bd08 in mysql_select (thd=0x7fc0a4000b18, tables=0x7fc0a40143d8, fields=..., conds=0x0, og_num=1, order=0x0, group=0x7fc0a4014c08, having=0x0, proc_param=0x0, select_options=2147748608, result=0x7fc0a4015558, unit=0x7fc0a4004b30, select_lex=0x7fc0a40139d0) at /data/src/10.5/sql/sql_select.cc:4655
|
#21 0x000056505eb4b9ae in handle_select (thd=0x7fc0a4000b18, lex=0x7fc0a4004a68, result=0x7fc0a4015558, setup_tables_done_option=0) at /data/src/10.5/sql/sql_select.cc:429
|
#22 0x000056505eb10f00 in execute_sqlcom_select (thd=0x7fc0a4000b18, all_tables=0x7fc0a40143d8) at /data/src/10.5/sql/sql_parse.cc:6209
|
#23 0x000056505eb081a7 in mysql_execute_command (thd=0x7fc0a4000b18) at /data/src/10.5/sql/sql_parse.cc:3931
|
#24 0x000056505eb15d4d in mysql_parse (thd=0x7fc0a4000b18, rawbuf=0x7fc0a40138d0 "SELECT CASE 1 WHEN 0 THEN 'foo' ELSE a END AS f FROM t1 GROUP BY f WITH ROLLUP", length=78, parser_state=0x7fc0b463a520, is_com_multi=false, is_next_command=false) at /data/src/10.5/sql/sql_parse.cc:7993
|
#25 0x000056505eb02046 in dispatch_command (command=COM_QUERY, thd=0x7fc0a4000b18, packet=0x7fc0a41af1e9 "", packet_length=78, is_com_multi=false, is_next_command=false) at /data/src/10.5/sql/sql_parse.cc:1867
|
#26 0x000056505eb0077e in do_command (thd=0x7fc0a4000b18) at /data/src/10.5/sql/sql_parse.cc:1348
|
#27 0x000056505eca607a in do_handle_one_connection (connect=0x565062e8db48, put_in_cache=true) at /data/src/10.5/sql/sql_connect.cc:1410
|
#28 0x000056505eca5de2 in handle_one_connection (arg=0x565062e8db48) at /data/src/10.5/sql/sql_connect.cc:1312
|
#29 0x000056505f1e4126 in pfs_spawn_thread (arg=0x565062e8d778) at /data/src/10.5/storage/perfschema/pfs.cc:2201
|
#30 0x00007fc0bba274a4 in start_thread (arg=0x7fc0b463b700) at pthread_create.c:456
|
#31 0x00007fc0b9b5bd0f in clone () at ../sysdeps/unix/sysv/linux/x86_64/clone.S:97
|
Same test case without ROLLUP (or slightly modified in other ways) produces the assertion failure reported in the previous comment:
CREATE TABLE t1 (a INET6);
|
INSERT INTO t1 VALUES ('::'),('f::f');
|
SET SESSION max_sort_length= 8;
|
SELECT CASE 1 WHEN 0 THEN 'foo' ELSE a END AS f FROM t1 GROUP BY f;
|
mariadbd: /data/src/10.5/plugin/type_inet/sql_type_inet.cc:703: virtual void Field_inet6::sort_string(uchar*, uint): Assertion `length == pack_length()' failed.
|
200730 21:16:22 [ERROR] mysqld got signal 6 ;
|
|
#7 0x00007fcacb014f12 in __GI___assert_fail (assertion=0x55770d4e3d07 "length == pack_length()", file=0x55770d4e3b30 "/data/src/10.5/plugin/type_inet/sql_type_inet.cc", line=703, function=0x55770d4e5440 <Field_inet6::sort_string(unsigned char*, unsigned int)::__PRETTY_FUNCTION__> "virtual void Field_inet6::sort_string(uchar*, uint)") at assert.c:101
|
#8 0x000055770ce8e549 in Field_inet6::sort_string (this=0x7fcab4065e00, to=0x7fcab407acc9 '\245' <repeats 200 times>..., length=8) at /data/src/10.5/plugin/type_inet/sql_type_inet.cc:703
|
#9 0x000055770c487b24 in Field::make_sort_key_part (this=0x7fcab4065e00, buff=0x7fcab407acc9 '\245' <repeats 200 times>..., length=8) at /data/src/10.5/sql/field.cc:1035
|
#10 0x000055770c4bea11 in make_sortkey (param=0x7fcac5baefb0, to=0x7fcab407acc8 "\001", '\245' <repeats 199 times>...) at /data/src/10.5/sql/filesort.cc:2994
|
#11 0x000055770c4ba4b5 in make_sortkey (param=0x7fcac5baefb0, to=0x7fcab407acc8 "\001", '\245' <repeats 199 times>..., ref_pos=0x7fcab4065fe8 "x\264\006\264\312\177", using_packed_sortkeys=false) at /data/src/10.5/sql/filesort.cc:1338
|
#12 0x000055770c4b91ce in find_all_keys (thd=0x7fcab4000b18, param=0x7fcac5baefb0, select=0x0, fs_info=0x7fcab407aa40, buffpek_pointers=0x7fcac5baf1d0, tempfile=0x7fcac5baf060, pq=0x0, found_rows=0x7fcab407ac30) at /data/src/10.5/sql/filesort.cc:957
|
#13 0x000055770c4b7093 in filesort (thd=0x7fcab4000b18, table=0x7fcab40650e0, filesort=0x7fcab4017668, tracker=0x7fcab4017818, join=0x7fcab4015570, first_table_bit=1) at /data/src/10.5/sql/filesort.cc:357
|
#14 0x000055770c1f59d9 in create_sort_index (thd=0x7fcab4000b18, join=0x7fcab4015570, tab=0x7fcab4016c88, fsort=0x7fcab4017668) at /data/src/10.5/sql/sql_select.cc:23875
|
#15 0x000055770c1efba2 in st_join_table::sort_table (this=0x7fcab4016c88) at /data/src/10.5/sql/sql_select.cc:21625
|
#16 0x000055770c1ef77d in join_init_read_record (tab=0x7fcab4016c88) at /data/src/10.5/sql/sql_select.cc:21564
|
#17 0x000055770c2043ef in AGGR_OP::end_send (this=0x7fcab4017508) at /data/src/10.5/sql/sql_select.cc:28926
|
#18 0x000055770c1ecfc1 in sub_select_postjoin_aggr (join=0x7fcab4015570, join_tab=0x7fcab4016c88, end_of_records=true) at /data/src/10.5/sql/sql_select.cc:20351
|
#19 0x000055770c1ed324 in sub_select (join=0x7fcab4015570, join_tab=0x7fcab40168e0, end_of_records=true) at /data/src/10.5/sql/sql_select.cc:20586
|
#20 0x000055770c1ecaa6 in do_select (join=0x7fcab4015570, procedure=0x0) at /data/src/10.5/sql/sql_select.cc:20177
|
#21 0x000055770c1c04ab in JOIN::exec_inner (this=0x7fcab4015570) at /data/src/10.5/sql/sql_select.cc:4450
|
#22 0x000055770c1bf5d7 in JOIN::exec (this=0x7fcab4015570) at /data/src/10.5/sql/sql_select.cc:4231
|
#23 0x000055770c1c0d08 in mysql_select (thd=0x7fcab4000b18, tables=0x7fcab40143c8, fields=..., conds=0x0, og_num=1, order=0x0, group=0x7fcab4014bf8, having=0x0, proc_param=0x0, select_options=2147748608, result=0x7fcab4015548, unit=0x7fcab4004b30, select_lex=0x7fcab40139c0) at /data/src/10.5/sql/sql_select.cc:4655
|
#24 0x000055770c1b09ae in handle_select (thd=0x7fcab4000b18, lex=0x7fcab4004a68, result=0x7fcab4015548, setup_tables_done_option=0) at /data/src/10.5/sql/sql_select.cc:429
|
#25 0x000055770c175f00 in execute_sqlcom_select (thd=0x7fcab4000b18, all_tables=0x7fcab40143c8) at /data/src/10.5/sql/sql_parse.cc:6209
|
#26 0x000055770c16d1a7 in mysql_execute_command (thd=0x7fcab4000b18) at /data/src/10.5/sql/sql_parse.cc:3931
|
#27 0x000055770c17ad4d in mysql_parse (thd=0x7fcab4000b18, rawbuf=0x7fcab40138d0 "SELECT CASE 1 WHEN 0 THEN 'foo' ELSE a END AS f FROM t1 GROUP BY f", length=66, parser_state=0x7fcac5bb0520, is_com_multi=false, is_next_command=false) at /data/src/10.5/sql/sql_parse.cc:7993
|
#28 0x000055770c167046 in dispatch_command (command=COM_QUERY, thd=0x7fcab4000b18, packet=0x7fcab41af1e9 "", packet_length=66, is_com_multi=false, is_next_command=false) at /data/src/10.5/sql/sql_parse.cc:1867
|
#29 0x000055770c16577e in do_command (thd=0x7fcab4000b18) at /data/src/10.5/sql/sql_parse.cc:1348
|
#30 0x000055770c30b07a in do_handle_one_connection (connect=0x55770f11bb88, put_in_cache=true) at /data/src/10.5/sql/sql_connect.cc:1410
|
#31 0x000055770c30ade2 in handle_one_connection (arg=0x55770f11bb88) at /data/src/10.5/sql/sql_connect.cc:1312
|
#32 0x000055770c849126 in pfs_spawn_thread (arg=0x55770f11b7b8) at /data/src/10.5/storage/perfschema/pfs.cc:2201
|
#33 0x00007fcaccf9d4a4 in start_thread (arg=0x7fcac5bb1700) at pthread_create.c:456
|
#34 0x00007fcacb0d1d0f in clone () at ../sysdeps/unix/sysv/linux/x86_64/clone.S:97
|
|