[MDEV-10886] encryption.innodb-bad-key-change fails (crashes) in buildbot Created: 2016-09-25  Updated: 2016-09-27  Resolved: 2016-09-27

Status: Closed
Project: MariaDB Server
Component/s: Encryption, Storage Engine - InnoDB, Storage Engine - XtraDB, Tests
Affects Version/s: 10.1
Fix Version/s: 10.1.18

Type: Bug Priority: Blocker
Reporter: Elena Stepanova Assignee: Jan Lindström (Inactive)
Resolution: Fixed Votes: 0
Labels: None

Issue Links:
Blocks
blocks MDEV-7069 Fix buildbot failures in main server ... Stalled

 Description   

http://buildbot.askmonty.org/buildbot/builders/kvm-bintar-centos5-amd64/builds/3700/steps/test/logs/stdio

encryption.innodb-bad-key-change 'cbc,innodb_plugin' w1 [ fail ]
        Test ended at 2016-09-24 15:01:08
 
CURRENT_TEST: encryption.innodb-bad-key-change
mysqltest: At line 64: query 'DROP TABLE t1' failed: 2013: Lost connection to MySQL server during query
 
The result from queries just before the failure was:
< snip >
TRUNCATE TABLE t1;
SELECT * FROM t1;
c	c2
INSERT INTO t1 VALUES ('foobar',1);
INSERT INTO t1 VALUES ('foobar',2);
FLUSH TABLE WITH READ LOCK;
SELECT * FROM t1;
c	c2
foobar	1
foobar	2
 
# Restart server with keysbad3.txt
SELECT * FROM t1;
ERROR HY000: Got error 192 'Table encrypted but decryption failed. This could be because correct encryption management plugin is not loaded, used encryption key is not available or encryption method does not match.' from InnoDB
SHOW WARNINGS;
Level	Code	Message
Warning	192	Table test/t1 in tablespace  is encrypted but encryption service or used key_id is not available.  Can't continue reading table.
Warning	192	Table test/t1 is encrypted but encryption service or used key_id is not available.  Can't continue reading table.
Error	1296	Got error 192 'Table encrypted but decryption failed. This could be because correct encryption management plugin is not loaded, used encryption key is not available or encryption method does not match.' from InnoDB
DROP TABLE t1;

160924 15:01:08 [ERROR] mysqld got signal 11 ;
This could be because you hit a bug. It is also possible that this binary
or one of the libraries it was linked against is corrupt, improperly built,
or misconfigured. This error can also be caused by malfunctioning hardware.
 
To report this bug, see https://mariadb.com/kb/en/reporting-bugs
 
We will try our best to scrape up some info that will hopefully help
diagnose the problem, but since we have already crashed, 
something is definitely wrong and this may fail.
 
Server version: 10.1.18-MariaDB
key_buffer_size=1048576
read_buffer_size=131072
max_used_connections=1
max_threads=153
thread_count=1
It is possible that mysqld could use up to 
key_buffer_size + (read_buffer_size + sort_buffer_size)*max_threads = 62897 K  bytes of memory
Hope that's ok; if not, decrease some variables in the equation.
 
Thread pointer: 0x0x2b08333e6008
Attempting backtrace. You can use the following information to find out
where mysqld died. If you see no messages after this, something went
terribly wrong...
stack_bottom = 0x4195a468 thread_stack 0x48400
/usr/local/mariadb-10.1.18-linux-x86_64/bin/mysqld(my_print_stacktrace+0x2e)[0xc089be]
/usr/local/mariadb-10.1.18-linux-x86_64/bin/mysqld(handle_fatal_signal+0x4ba)[0x7679da]
/lib64/libpthread.so.0[0x2b082cacf4c0]
/usr/local/mariadb-10.1.18-linux-x86_64/lib/plugin/ha_innodb.so[0x2aaaaaad65f8]
/usr/local/mariadb-10.1.18-linux-x86_64/lib/plugin/ha_innodb.so[0x2aaaaab2211f]
/usr/local/mariadb-10.1.18-linux-x86_64/lib/plugin/ha_innodb.so[0x2aaaaac6e073]
/usr/local/mariadb-10.1.18-linux-x86_64/lib/plugin/ha_innodb.so[0x2aaaaac6e690]
/usr/local/mariadb-10.1.18-linux-x86_64/lib/plugin/ha_innodb.so[0x2aaaaac25344]
/usr/local/mariadb-10.1.18-linux-x86_64/lib/plugin/ha_innodb.so[0x2aaaaac25af8]
/usr/local/mariadb-10.1.18-linux-x86_64/lib/plugin/ha_innodb.so[0x2aaaaac4fca6]
/usr/local/mariadb-10.1.18-linux-x86_64/lib/plugin/ha_innodb.so[0x2aaaaabb05b8]
/usr/local/mariadb-10.1.18-linux-x86_64/bin/mysqld(_Z15ha_delete_tableP3THDP10handlertonPKcS4_S4_b+0x191)[0x7718d1]
/usr/local/mariadb-10.1.18-linux-x86_64/bin/mysqld(_Z23mysql_rm_table_no_locksP3THDP10TABLE_LISTbbbbb+0x3b8)[0x63d4e8]
/usr/local/mariadb-10.1.18-linux-x86_64/bin/mysqld(_Z14mysql_rm_tableP3THDP10TABLE_LISTcc+0x163)[0x63e3f3]
/usr/local/mariadb-10.1.18-linux-x86_64/bin/mysqld(_Z21mysql_execute_commandP3THD+0x2a12)[0x5b4a52]
/usr/local/mariadb-10.1.18-linux-x86_64/bin/mysqld(_Z11mysql_parseP3THDPcjP12Parser_state+0x354)[0x5bb9e4]
/usr/local/mariadb-10.1.18-linux-x86_64/bin/mysqld(_Z16dispatch_command19enum_server_commandP3THDPcj+0x23a7)[0x5bea17]
/usr/local/mariadb-10.1.18-linux-x86_64/bin/mysqld(_Z10do_commandP3THD+0x2a7)[0x5bee27]
/usr/local/mariadb-10.1.18-linux-x86_64/bin/mysqld(_Z24do_handle_one_connectionP3THD+0x183)[0x68e103]
/usr/local/mariadb-10.1.18-linux-x86_64/bin/mysqld(handle_one_connection+0x42)[0x68e322]
/usr/local/mariadb-10.1.18-linux-x86_64/bin/mysqld[0xb0aeb9]
/lib64/libpthread.so.0[0x2b082cac7367]
/lib64/libc.so.6(clone+0x6d)[0x2b082db79f7d]
 
Trying to get some variables.
Some pointers may be invalid and cause the dump to abort.
Query (0x2aaaaf821020): DROP TABLE t1
Connection ID (thread ID): 2
Status: NOT_KILLED



 Comments   
Comment by Jan Lindström (Inactive) [ 2016-09-27 ]

commit 452e84952228a290b3c1fb16a8f60e2990aa8710
Author: Jan Lindström <jan.lindstrom@mariadb.com>
Date: Mon Sep 26 12:29:31 2016 +0300

MDEV-10886: encryption.innodb-bad-key-change fails (crashes) in buildbot

Problem was that NULL-pointer was accessed inside a macro when
page read from tablespace is encrypted but decrypt fails because
of incorrect key file.

Removed unsafe macro using inlined function where used pointers
are checked.

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