[MDEV-5505] Assertion `! is_set()' fails on PREPARE SELECT with out of range in GROUP BY Created: 2014-01-05  Updated: 2014-02-12  Resolved: 2014-02-12

Status: Closed
Project: MariaDB Server
Component/s: None
Affects Version/s: 5.5.34, 10.0.7
Fix Version/s: 5.5.36, 10.0.9

Type: Bug Priority: Major
Reporter: Elena Stepanova Assignee: Oleksandr Byelkin
Resolution: Fixed Votes: 0
Labels: None

Issue Links:
Relates

 Description   

CREATE TABLE t1 (a INT);
PREPARE stmt FROM "SELECT 1 FROM t1 GROUP BY 0 OR 18446744073709551615+1";

sql/sql_error.cc:362: void Diagnostics_area::set_ok_status(THD*, ulonglong, ulonglong, const char*): Assertion `! is_set()' failed.
140105  3:23:06 [ERROR] mysqld got signal 6 ;

#6  0x00007fc57128b621 in *__GI___assert_fail (assertion=0xd67686 "! is_set()", file=<optimized out>, line=362, function=0xd68140 "void Diagnostics_area::set_ok_status(THD*, ulonglong, ulonglong, const char*)") at assert.c:81
#7  0x000000000060c265 in Diagnostics_area::set_ok_status (this=0x7fc56dbf2690, thd=0x7fc56dbee060, affected_rows_arg=0, last_insert_id_arg=0, message_arg=0xd735b7 "Statement prepared") at 5.5/sql/sql_error.cc:362
#8  0x00000000005c9b54 in my_ok (thd=0x7fc56dbee060, affected_rows=0, id=0, message=0xd735b7 "Statement prepared") at 5.5/sql/sql_class.h:3163
#9  0x000000000064c5e9 in mysql_sql_stmt_prepare (thd=0x7fc56dbee060) at 5.5/sql/sql_prepare.cc:2463
#10 0x000000000062f0e5 in mysql_execute_command (thd=0x7fc56dbee060) at 5.5/sql/sql_parse.cc:2236
#11 0x0000000000638622 in mysql_parse (thd=0x7fc56dbee060, rawbuf=0x7fc56bcd9078 "PREPARE stmt FROM \"SELECT 1 FROM t1 GROUP BY 0 OR 18446744073709551615+1\"", length=73, parser_state=0x7fc56c7b5630) at 5.5/sql/sql_parse.cc:5798
#12 0x000000000062c643 in dispatch_command (command=COM_QUERY, thd=0x7fc56dbee060, packet=0x7fc56cefd061 "PREPARE stmt FROM \"SELECT 1 FROM t1 GROUP BY 0 OR 18446744073709551615+1\"", packet_length=73) at 5.5/sql/sql_parse.cc:1078
#13 0x000000000062b7e6 in do_command (thd=0x7fc56dbee060) at 5.5/sql/sql_parse.cc:793
#14 0x000000000072cf86 in do_handle_one_connection (thd_arg=0x7fc56dbee060) at 5.5/sql/sql_connect.cc:1266
#15 0x000000000072ca45 in handle_one_connection (arg=0x7fc56dbee060) at 5.5/sql/sql_connect.cc:1181
#16 0x0000000000984d6d in pfs_spawn_thread (arg=0x7fc56dbf3a80) at 5.5/storage/perfschema/pfs.cc:1015
#17 0x00007fc5727ebb50 in start_thread (arg=<optimized out>) at pthread_create.c:304
#18 0x00007fc57133aa7d in clone () at ../sysdeps/unix/sysv/linux/x86_64/clone.S:112

revision-id: monty@askmonty.org-20140102135102-voewd11ma1yqi3rz
revno: 4010
branch-nick: 5.5



 Comments   
Comment by Oleksandr Byelkin [ 2014-01-22 ]

error is sent due to numeric overflow, but is_fatal_error is not set (WHY if we are not going to finish the query?)

I will investigate how it supposed to work.

Comment by Oleksandr Byelkin [ 2014-01-23 ]

comitted for review

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