Details
Description
10.0/sql/protocol.cc:521: void Protocol::end_statement(): Assertion `0' failed. 140829 19:00:32 [ERROR] mysqld got signal 6 ;
#6 0x00007f3ebc1d76f1 in *__GI___assert_fail (assertion=0xf0d710 "0", file=<optimized out>, line=521, function=0xf0ea40 "void Protocol::end_statement()") at assert.c:81 #7 0x00000000005d0ef3 in Protocol::end_statement (this=0x7f3ea38505f8) at 10.0/sql/protocol.cc:521 #8 0x00000000006772a6 in dispatch_command (command=COM_QUERY, thd=0x7f3ea3850070, packet=0x7f3ea3856071 "UPDATE `t1` SET `col_int` = 2 WHERE `col_varchar_1_key` = 'g' OR `col_int_key` >= 3", packet_length=83) at 10.0/sql/sql_parse.cc:1728 #9 0x000000000067521d in do_command (thd=0x7f3ea3850070) at 10.0/sql/sql_parse.cc:1004 #10 0x0000000000791512 in do_handle_one_connection (thd_arg=0x7f3ea3850070) at 10.0/sql/sql_connect.cc:1379 #11 0x0000000000791265 in handle_one_connection (arg=0x7f3ea3850070) at 10.0/sql/sql_connect.cc:1293 #12 0x00007f3ebdd90b50 in start_thread (arg=<optimized out>) at pthread_create.c:304 #13 0x00007f3ebc28820d in clone () at ../sysdeps/unix/sysv/linux/x86_64/clone.S:112
Stack trace from:
revision-id: jplindst@mariadb.org-20140825103533-p9jodvh91r9tueo1 revno: 4362 branch-nick: 10.0 elenst@wheezy-64:~/bzr/10.0$ cd - /home/elenst/bzr/randgen-mariadb-patches
RQG grammar (assertion.yy):
thread1: UPDATE `t1` SET `col_int` = 2 WHERE `col_varchar_1_key` = 'g' OR `col_int_key` >= 3; thread2: ANALYZE TABLE `t1` PERSISTENT FOR ALL;
RQG data template (assertion.zz):
$tables = {
names => [ 't1' ],
rows => [ 5000 ] ,
engines => [ 'InnoDB' ] ,
pk => [ undef ] ,
partitions => [ "LIST COLUMNS(col_int) (
PARTITION p0 VALUES IN (1,3,5,7,9,NULL),
PARTITION p1 VALUES IN (2,4,6,8,0))" ]
};
$fields = { types => [ 'int', 'varchar(1)' ] };
$data = {
numbers => [ 'digit' , 'digit' , 'digit' , 'digit' , 'null' ],
strings => [ 'letter' ]
};
RQG command line:
perl ./runall-new.pl --gendata=assertion.zz --threads=2 --duration=300 --queries=100M --grammar=assertion.yy --basedir=<basedir> --vardir=<vardir>
Gliffy Diagrams
Attachments
Activity
- All
- Comments
- Work Log
- History
- Activity
- Transitions
Vicentiu Ciorbaru, please check this (after
MDEV-6687). It has a similar end result - attempt to put the client-server protocol into an invalid state. I suspect, the source is similar - something raised an error condition but didn't print it to the network (or vice versa - printed the error to the network but didn't let the SQL layer know this).We need to get rid of the assertion, first. The second part of the bug is why ANALYZE TABLE causes errors in concurrent UPDATEs.