Bug #81923 SYS_VARS.LOG_SLOW_ADMIN_STATEMENTS_FUNC TRIGGERS ASSERT IN INNODB
Submitted: 20 Jun 2016 7:10 Modified: 8 Aug 2016 13:32
Reporter: Lars Tangvald Email Updates:
Status: Duplicate Impact on me:
None 
Category:MySQL Server: InnoDB storage engine Severity:S3 (Non-critical)
Version:5.7.13 OS:Any
Assigned to: CPU Architecture:Any

[20 Jun 2016 7:10] Lars Tangvald
Description:
This is a duplicate of #23561894, in order to get the report published:

== Original bug text ==
Running test sys_vars.log_slow_admin_statements_func on aarch64/arm64
triggers a assert in innodb:

sys_vars.log_slow_admin_statements_func  [ fail ]
        Test ended at 2016-06-09 14:25:44

CURRENT_TEST: sys_vars.log_slow_admin_statements_func
mysqltest: At line 60: query 'CALL add_rows()' failed: 2013: Lost connection
to MySQL server during query

The result from queries just before the failure was:
< snip >
Table   Op      Msg_type        Msg_text
test.log_slow_admin_statements  analyze status  OK
OPTIMIZE TABLE log_slow_admin_statements;
Table   Op      Msg_type        Msg_text
test.log_slow_admin_statements  optimize        note    Table does not
support optimize, doing recreate + analyze instead
test.log_slow_admin_statements  optimize        status  OK
CHECK TABLE log_slow_admin_statements EXTENDED;
Table   Op      Msg_type        Msg_text
test.log_slow_admin_statements  check   status  OK
Administrative sql statements must not be logged
SELECT count(sql_text)= 0 FROM mysql.slow_log
WHERE sql_text LIKE '%TABLE log_slow_admin_statements%';
count(sql_text)= 0
1
SET GLOBAL log_slow_admin_statements = on;
DROP TABLE log_slow_admin_statements;
CREATE TABLE log_slow_admin_statements (
i INT PRIMARY KEY AUTO_INCREMENT,
j VARCHAR(255)
) ENGINE=InnoDB;

Log:

2016-06-09 15:25:44 0x3ff7d6af1c0  InnoDB: Assertion failure in thread
4395855704512 in file buf0buf.cc line 3863
InnoDB: Failing assertion: it != chunk_map->end()
[snip]
12:25:44 UTC - mysqld got signal 6 ;

== Extra info ==
Several other tests are unstable, examples are:

 main.innodb_mrr_cost_icp
 main.ctype_big5
 main.ctype_latin2
 sysschema.pr_diagnostics

running with --repeat=10 I get:

./mtr --mem --parallel=8 --retry=0 --max-test-fail=0  --force
main.ctype_big5 --repeat=10

to trigger similar assert quickly.

How to repeat:
Build mysql 5.7 on aarch64/arm64 machine, for example ellex03.no.oracle.com,
with default cmake options
and run test sys_vars.log_slow_admin_statements_func :

$ export WITH_BOOST=/usr/global/share
$ mkdir build && cd build
$ cmake .. && make -j10
$ cd mysql-test
$??./mtr --mem sys_vars.log_slow_admin_statements_func

== Or ==
./mtr --mem --parallel=8 --retry=0 --max-test-fail=0  --force
main.ctype_big5 --repeat=10
[21 Jun 2016 23:53] Daniel Black
This is also a duplicate of bug #79378

Patch: https://github.com/mysql/mysql-server/pull/73/files
[22 Jun 2016 8:01] Lars Tangvald
Thanks for that!

We're working on verifying #79378 and the patch
[8 Aug 2016 13:32] Erlend Dahl
Duplicate of fixed bug

Bug#79378 buf_block_align() makes incorrect assumptions about chunk size