Bug #93175 innodb.log_corruption test fails
Submitted: 13 Nov 2018 16:34 Modified: 14 Nov 2018 8:50
Reporter: Valeriy Kravchuk Email Updates:
Status: Verified Impact on me:
None 
Category:MySQL Server: Tests Severity:S7 (Test Cases)
Version:8.0.13 OS:Ubuntu (14.04)
Assigned to: CPU Architecture:x86 (x86_64)
Tags: innodb.log_corruption

[13 Nov 2018 16:34] Valeriy Kravchuk
Description:
innodb.log_corruption test fails for me with MySQL 8.0.13 built from source on up to date Ubuntu 14.04.

How to repeat:
Build from source using cmake like this:

cmake . -DCMAKE_BUILD_TYPE=RelWithDebInfo -DBUILD_CONFIG=mysql_release -DFEATURE_SET=community -DWITH_EMBEDDED_SERVER=OFF -DCMAKE_INSTALL_PREFIX=/home/openxs/dbs/8.0 -DWITH_BOOST=/home/openxs/boost -DDOWNLOAD_BOOST=1

Make, install and then run the test:

openxs@ao756:~/dbs/8.0/mysql-test$ ./mtr innodb.log_corruption                  Logging: ./mtr  innodb.log_corruption
2018-11-13T16:29:55.030090Z 0 [Warning] [MY-010139] [Server] Changed limits: max_open_files: 1024 (requested 8161)
2018-11-13T16:29:55.030820Z 0 [Warning] [MY-010142] [Server] Changed limits: table_open_cache: 431 (requested 4000)
MySQL Version 8.0.13
Checking supported features...
Using 'all' suites
Collecting tests...
Checking leftover processes...
Removing old var directory...
Creating var directory '/home/openxs/dbs/8.0/mysql-test/var'...
Installing system database...
Using parallel: 1

==============================================================================

TEST                                      RESULT   TIME (ms) or COMMENT
--------------------------------------------------------------------------

worker[1] Using MTR_BUILD_THREAD 300, with reserved ports 13000..13019
[100%] innodb.log_corruption                    [ fail ]
        Test ended at 2018-11-13 18:32:07

CURRENT_TEST: innodb.log_corruption
--- /home/openxs/dbs/8.0/mysql-test/suite/innodb/r/log_corruption.result       2018-04-19 15:32:01.000000000 +0300
+++ /home/openxs/dbs/8.0/mysql-test/var/log/log_corruption.reject       2018-11-13 19:32:07.522647626 +0300
@@ -35,14 +35,14 @@
 # Test a corrupted record.
 # current header, valid checkpoint 1, all-zero (invalid) checkpoint 2
 Pattern "############### CORRUPT LOG RECORD FOUND ###############" found
-Pattern "Log record type 56, page 0:0\. Log parsing proceeded successfully up to 1213964\. Previous log record type 128, is multi 0 Recv offset 0, prev 0" found
+Pattern "Log record type 56, page 0:0\. Log parsing proceeded successfully up to 1213964\. Previous log record type 128, is multi 0 Recv offset 0, prev 0" not found
 Pattern "len 22. hex 38000000000012860cb7809781e80006626f67757300. asc 8               bogus " found
 Pattern "Set innodb_force_recovery to ignore this error" found
 # Test a corrupted record.
 # valid header, invalid checkpoint 1, valid checkpoint 2
 Pattern "The log file was created by mysqlbackup --apply-log at MEB      was here!!!1!\. The following crash recovery is part of a normal restore\." found
 Pattern "############### CORRUPT LOG RECORD FOUND ###############" found
-Pattern "Log record type 56, page 0:0\. Log parsing proceeded successfully up to 1213964\. Previous log record type 128, is multi 0 Recv offset 0, prev 0" found
+Pattern "Log record type 56, page 0:0\. Log parsing proceeded successfully up to 1213964\. Previous log record type 128, is multi 0 Recv offset 0, prev 0" not found
 Pattern "Hex dump starting 0 bytes before and ending 22 bytes after the corrupted record" found
 Pattern "len 22. hex 38000000000012860cb7809781e80006626f67757300. asc 8               bogus " found
 Pattern "Set innodb_force_recovery to ignore this error" found

mysqltest: Result content mismatch

safe_process[28249]: Child process: 28250, exit: 1

 - the logfile can be found in '/home/openxs/dbs/8.0/mysql-test/var/log/innodb.log_corruption/log_corruption.log'
--------------------------------------------------------------------------
The servers were restarted 0 times
Spent 0.000 of 133 seconds executing testcases

Completed: Failed 1/1 tests, 0.00% were successful.

Failing test(s): innodb.log_corruption

The log files in var/log may give you some hint of what went wrong.

If you want to report this error, please read first the documentation
at http://dev.mysql.com/doc/mysql/en/mysql-test-suite.html

mysql-test-run: *** ERROR: there were failing test cases

Suggested fix:
Fix the test or underlying reason of the failure.
[14 Nov 2018 8:50] MySQL Verification Team
Hello Valeriy,

Thank you for the report and feedback.
Verified as described on Ubuntu 14.04.5 LTS, but similar build on Ol7 had no issues.

regards,
Umesh
[14 Nov 2018 8:52] MySQL Verification Team
- 8.0.13
mkdir bld && cd bld
ushastry@TrustyTahr:~/Downloads/mysql-8.0.13/bld$ cmake .. -DCMAKE_BUILD_TYPE=RelWithDebInfo -DBUILD_CONFIG=mysql_release -DFEATURE_SET=community -DWITH_EMBEDDED_SERVER=OFF -DCMAKE_INSTALL_PREFIX=/home/ushastry/Downloads/mysql-8.0.13/bld -DWITH_BOOST=../boost
ushastry@TrustyTahr:~/Downloads/mysql-8.0.13/bld$ make -j8
ushastry@TrustyTahr:~/Downloads/mysql-8.0.13/bld$ make install
ushastry@TrustyTahr:~/Downloads/mysql-8.0.13/bld$ cd mysql-test/
ushastry@TrustyTahr:~/Downloads/mysql-8.0.13/bld/mysql-test$ ./mtr innodb.log_corruption 
Logging: ./mtr  innodb.log_corruption
2018-11-14T08:44:00.784049Z 0 [Warning] [MY-010139] [Server] Changed limits: max_open_files: 1024 (requested 8161)
2018-11-14T08:44:00.784215Z 0 [Warning] [MY-010142] [Server] Changed limits: table_open_cache: 431 (requested 4000)
MySQL Version 8.0.13
Checking supported features...
Using 'all' suites
Collecting tests...
Removing old var directory...
Creating var directory '/home/ushastry/Downloads/mysql-8.0.13/bld/mysql-test/var'...
Installing system database...
Using parallel: 1

==============================================================================

TEST                                      RESULT   TIME (ms) or COMMENT
--------------------------------------------------------------------------

worker[1] Using MTR_BUILD_THREAD 300, with reserved ports 13000..13019
[100%] innodb.log_corruption                    [ fail ]
        Test ended at 2018-11-14 14:14:50

CURRENT_TEST: innodb.log_corruption
--- /home/ushastry/Downloads/mysql-8.0.13/bld/mysql-test/suite/innodb/r/log_corruption.result	2018-10-07 11:44:22.000000000 +0300
+++ /home/ushastry/Downloads/mysql-8.0.13/bld/mysql-test/var/log/log_corruption.reject	2018-11-14 11:44:49.838569999 +0300
@@ -35,14 +35,14 @@
 # Test a corrupted record.
 # current header, valid checkpoint 1, all-zero (invalid) checkpoint 2
 Pattern "############### CORRUPT LOG RECORD FOUND ###############" found
-Pattern "Log record type 56, page 0:0\. Log parsing proceeded successfully up to 1213964\. Previous log record type 128, is multi 0 Recv offset 0, prev 0" found
+Pattern "Log record type 56, page 0:0\. Log parsing proceeded successfully up to 1213964\. Previous log record type 128, is multi 0 Recv offset 0, prev 0" not found
 Pattern "len 22. hex 38000000000012860cb7809781e80006626f67757300. asc 8               bogus " found
 Pattern "Set innodb_force_recovery to ignore this error" found
 # Test a corrupted record.
 # valid header, invalid checkpoint 1, valid checkpoint 2
 Pattern "The log file was created by mysqlbackup --apply-log at MEB      was here!!!1!\. The following crash recovery is part of a normal restore\." found
 Pattern "############### CORRUPT LOG RECORD FOUND ###############" found
-Pattern "Log record type 56, page 0:0\. Log parsing proceeded successfully up to 1213964\. Previous log record type 128, is multi 0 Recv offset 0, prev 0" found
+Pattern "Log record type 56, page 0:0\. Log parsing proceeded successfully up to 1213964\. Previous log record type 128, is multi 0 Recv offset 0, prev 0" not found
 Pattern "Hex dump starting 0 bytes before and ending 22 bytes after the corrupted record" found
 Pattern "len 22. hex 38000000000012860cb7809781e80006626f67757300. asc 8               bogus " found
 Pattern "Set innodb_force_recovery to ignore this error" found

mysqltest: Result content mismatch

safe_process[13702]: Child process: 13703, exit: 1

 - the logfile can be found in '/home/ushastry/Downloads/mysql-8.0.13/bld/mysql-test/var/log/innodb.log_corruption/log_corruption.log'
--------------------------------------------------------------------------
The servers were restarted 0 times
Spent 0.000 of 51 seconds executing testcases

Completed: Failed 1/1 tests, 0.00% were successful.

Failing test(s): innodb.log_corruption

The log files in var/log may give you some hint of what went wrong.

If you want to report this error, please read first the documentation
at http://dev.mysql.com/doc/mysql/en/mysql-test-suite.html

mysql-test-run: *** ERROR: there were failing test cases
ushastry@TrustyTahr:~/Downloads/mysql-8.0.13/bld/mysql-test$ 
ushastry@TrustyTahr:~/Downloads/mysql-8.0.13/bld/mysql-test$ cmake --version
cmake version 2.8.12.2
ushastry@TrustyTahr:~/Downloads/mysql-8.0.13/bld/mysql-test$ gcc --version
gcc (Ubuntu 4.8.4-2ubuntu1~14.04.4) 4.8.4
Copyright (C) 2013 Free Software Foundation, Inc.
This is free software; see the source for copying conditions.  There is NO
warranty; not even for MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.

ushastry@TrustyTahr:~/Downloads/mysql-8.0.13/bld/mysql-test$ cat /etc/*release
DISTRIB_ID=Ubuntu
DISTRIB_RELEASE=14.04
DISTRIB_CODENAME=trusty
DISTRIB_DESCRIPTION="Ubuntu 14.04.5 LTS"
NAME="Ubuntu"
VERSION="14.04.5 LTS, Trusty Tahr"
ID=ubuntu
ID_LIKE=debian
PRETTY_NAME="Ubuntu 14.04.5 LTS"
VERSION_ID="14.04"
HOME_URL="http://www.ubuntu.com/"
SUPPORT_URL="http://help.ubuntu.com/"
BUG_REPORT_URL="http://bugs.launchpad.net/ubuntu/"

--src
md5sum ../../../mysql-boost-8.0.13.tar.gz 
ee3877d038349469c7e92cfd3aea10ca  ../../../mysql-boost-8.0.13.tar.gz
[14 Nov 2018 8:53] MySQL Verification Team
- Ol7 - no issues observed with source build(using the cmake provided in the report), and even in binary tarball build

/export/umesh/server/source/bugs/src_build/fb_builds/mysql-8.0.13/bld/mysql-test: ./mtr innodb.log_corruption
Logging: ./mtr  innodb.log_corruption
MySQL Version 8.0.13
Too long tmpdir path '/export/umesh/server/source/bugs/src_build/fb_builds/mysql-8.0.13/bld/mysql-test/var/tmp'  creating a shorter one...
 - Using tmpdir: '/tmp/9tK0249EQc'

Checking supported features...
Using 'all' suites
Collecting tests...
Removing old var directory...
Creating var directory '/export/umesh/server/source/bugs/src_build/fb_builds/mysql-8.0.13/bld/mysql-test/var'...
Installing system database...
Using parallel: 1

==============================================================================

TEST                                      RESULT   TIME (ms) or COMMENT
--------------------------------------------------------------------------

worker[1] Using MTR_BUILD_THREAD 300, with reserved ports 13000..13019
[100%] innodb.log_corruption                    [ pass ]  23143
--------------------------------------------------------------------------
The servers were restarted 0 times
Spent 23.143 of 36 seconds executing testcases

Completed: All 1 tests were successful.