[MDEV-5453] Assertion `src' fails in my_strnxfrm_unicode on GROUP BY MID(..) WITH ROLLUP Created: 2013-12-16  Updated: 2014-01-29  Resolved: 2013-12-17

Status: Closed
Project: MariaDB Server
Component/s: None
Affects Version/s: 5.5.34, 10.0.6
Fix Version/s: 5.5.35, 10.0.8

Type: Bug Priority: Major
Reporter: Elena Stepanova Assignee: Alexander Barkov
Resolution: Fixed Votes: 0
Labels: None

Issue Links:
Relates

 Description   

CREATE TABLE t1 (i INT) ENGINE=MyISAM;
INSERT INTO t1 VALUES (1),(2);
SELECT * FROM t1 GROUP BY MID( CURRENT_USER, 'foo' ) WITH ROLLUP;

mysqld: 5.5/strings/ctype-utf8.c:2104: my_strnxfrm_unicode: Assertion `src' failed.
131216 12:55:02 [ERROR] mysqld got signal 6 ;

#8  0x0000000000d0024f in my_strnxfrm_unicode (cs=0x15336e0 <my_charset_utf8_general_ci>, dst=0x7f8c7d821c81 '\245' <repeats 71 times>, "h4z\025", '\245' <repeats 52 times>, 'Z' <repeats 73 times>..., dstlen=0, src=0x0, srclen=0) at 5.5/strings/ctype-utf8.c:2104
#9  0x00000000007db091 in make_sortkey (param=0x7f8c842a9150, to=0x7f8c7d821c81 '\245' <repeats 71 times>, "h4z\025", '\245' <repeats 52 times>, 'Z' <repeats 73 times>..., ref_pos=0x7f8c842a8fc0 "") at 5.5/sql/filesort.cc:857
#10 0x00000000007da810 in find_all_keys (param=0x7f8c842a9150, select=0x7f8c7d96d340, sort_keys=0x7f8c7d821c20, sort_keys_buf=0x7f8c7d821c80 "\001", '\245' <repeats 71 times>, "h4z\025", '\245' <repeats 52 times>, 'Z' <repeats 72 times>..., buffpek_pointers=0x7f8c842a9360, tempfile=0x7f8c842a91d0) at 5.5/sql/filesort.cc:652
#11 0x00000000007d94bd in filesort (thd=0x7f8c7e67b060, table=0x7f8c7d989660, sortorder=0x7f8c7d96d908, s_length=1, select=0x7f8c7d96d340, max_rows=18446744073709551615, sort_positions=false, examined_rows=0x7f8c842a95f8) at 5.5/sql/filesort.cc:240
#12 0x000000000068e486 in create_sort_index (thd=0x7f8c7e67b060, join=0x7f8c7d91cbe0, order=0x7f8c7d91cae8, filesort_limit=18446744073709551615, select_limit=18446744073709551615, is_order_by=true) at 5.5/sql/sql_select.cc:19738
#13 0x0000000000665b95 in JOIN::exec (this=0x7f8c7d91cbe0) at 5.5/sql/sql_select.cc:2831
#14 0x00000000006665ab in mysql_select (thd=0x7f8c7e67b060, rref_pointer_array=0x7f8c7e67ecb8, tables=0x7f8c7d91c2b8, wild_num=1, fields=..., conds=0x0, og_num=1, order=0x0, group=0x7f8c7d91cae8, having=0x0, proc_param=0x0, select_options=2147748608, result=0x7f8c7d91cbc0, unit=0x7f8c7e67e378, select_lex=0x7f8c7e67ea50) at 5.5/sql/sql_select.cc:3081
#15 0x000000000065d109 in handle_select (thd=0x7f8c7e67b060, lex=0x7f8c7e67e2c8, result=0x7f8c7d91cbc0, setup_tables_done_option=0) at 5.5/sql/sql_select.cc:319
#16 0x0000000000636b07 in execute_sqlcom_select (thd=0x7f8c7e67b060, all_tables=0x7f8c7d91c2b8) at 5.5/sql/sql_parse.cc:4687
#17 0x000000000062fe10 in mysql_execute_command (thd=0x7f8c7e67b060) at 5.5/sql/sql_parse.cc:2231
#18 0x00000000006391d5 in mysql_parse (thd=0x7f8c7e67b060, rawbuf=0x7f8c7d91c078 "SELECT * FROM t1 GROUP BY MID( CURRENT_USER, 'foo' ) WITH ROLLUP", length=64, parser_state=0x7f8c842aa660) at 5.5/sql/sql_parse.cc:5798
#19 0x000000000062d3e0 in dispatch_command (command=COM_QUERY, thd=0x7f8c7e67b060, packet=0x7f8c7e7d3061 "SELECT * FROM t1 GROUP BY MID( CURRENT_USER, 'foo' ) WITH ROLLUP", packet_length=64) at 5.5/sql/sql_parse.cc:1078
#20 0x000000000062c58a in do_command (thd=0x7f8c7e67b060) at 5.5/sql/sql_parse.cc:793
#21 0x000000000072c626 in do_handle_one_connection (thd_arg=0x7f8c7e67b060) at 5.5/sql/sql_connect.cc:1266
#22 0x000000000072c0f8 in handle_one_connection (arg=0x7f8c7e67b060) at 5.5/sql/sql_connect.cc:1181
#23 0x0000000000b5e558 in pfs_spawn_thread (arg=0x7f8c7e680940) at 5.5/storage/perfschema/pfs.cc:1015
#24 0x00007f8c83f200db in start_thread () from /lib64/libpthread.so.0
#25 0x00007f8c82bd790d in clone () from /lib64/libc.so.6

revision-id: sergii@pisem.net-20131213120038-hjea4r5zp7sjuq8l
revno: 4004
branch-nick: 5.5

Also reproducible on 10.0. Could not reproduce on 5.3.



 Comments   
Comment by Alexander Barkov [ 2013-12-17 ]

Also reproducible with this script:

SET NAMES utf8;
DROP TABLE IF EXISTS t1;
CREATE TABLE t1 (i INT) ENGINE=MyISAM;
INSERT INTO t1 VALUES (1),(2);
SELECT * FROM t1 GROUP BY MID('test',0) WITH ROLLUP;

Comment by Alexander Barkov [ 2013-12-17 ]

Pushed into 5.5 and 10.0-base

Comment by Daniel Bartholomew [ 2014-01-29 ]

http://bazaar.launchpad.net/~maria-captains/maria/5.5/revision/4007

Generated at Thu Feb 08 07:04:30 UTC 2024 using Jira 8.20.16#820016-sha1:9d11dbea5f4be3d4cc21f03a88dd11d8c8687422.