Details
-
Bug
-
Status: Open (View Workflow)
-
Major
-
Resolution: Unresolved
-
5.5(EOL), 10.1(EOL), 10.2(EOL), 10.3(EOL), 10.4(EOL), 10.6
-
None
-
gcc (Debian 6.3.0-18+deb9u1) 6.3.0 20170516 ; also observed on Xenial with gcc 5.4.0 and 7.4.0
Description
To reproduce:
cmake . -DCMAKE_BUILD_TYPE=Debug -DENABLE_GCOV=ON
|
make -j6
|
lcov --directory `pwd` --zerocounters
|
cd mysql-test
|
wget https://jira.mariadb.org/secure/attachment/49027/mdev20694.tar.gz
|
tar zxf mdev20694.tar.gz
|
perl ./mtr `echo "bug.gcov1 bug.gcov2"{,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,}` --noreorder --verbose-restart
|
Soon enough, the test run fails with
...
|
bug.gcov2 [ pass ] 45
|
worker[1] > Restart [mysqld.1 - pid: 9243, winpid: 9243] - using different config file
|
bug.gcov1 [ pass ]
|
worker[1] > Restart [mysqld.1 - pid: 9262, winpid: 9262] - using different config file
|
worker[1] > Restart [mysqld.2 - pid: 9264, winpid: 9264] - using different config file
|
bug.gcov2 [ fail ]
|
Test ended at 2019-09-28 19:16:07
|
|
CURRENT_TEST: bug.gcov2
|
--- /data/src/10.4-gcov/mysql-test/suite/bug/gcov2.result 2019-09-28 19:10:25.000000000 +0300
|
+++ /data/src/10.4-gcov/mysql-test/suite/bug/gcov2.reject 2019-09-28 19:16:06.996515133 +0300
|
@@ -1,2 +1,3 @@
|
mysqld would have been started with the following arguments:
|
|
+profiling:/data/src/10.4-gcov/sql/CMakeFiles/sql.dir/sql_type.cc.gcda:Merge mismatch for function 1201
|
|
mysqltest: Result length mismatch
|
The archive contents is very simple, it's just added as a tarball for convenience. There are two test files in it, a cnf file for the first test, and result files for both:
gcov1.test |
select 1;
|
gcov1.cnf |
# Use default setting for mysqld processes
|
!include include/default_mysqld.cnf
|
!include include/default_client.cnf
|
|
[mysqld.1]
|
|
[mysqld.2]
|
|
[ENV]
|
MASTER_MYPORT= @mysqld.1.port
|
MASTER_MYSOCK= @mysqld.1.socket
|
|
SLAVE_MYPORT= @mysqld.2.port
|
SLAVE_MYSOCK= @mysqld.2.socket
|
gcov2.test |
--replace_regex /.*mysqld/mysqld/
|
exec $MYSQLD --print-defaults 2>&1;
|
The second test is derived from main.mysqld--defaults-file. The first one can be anything, as long as it requires two servers.
It is not the only unique way to reproduce the problem. Here is another one, for example. gcov1 test is the same one as above:
perl ./mtr `echo "bug.gcov1 main.1st"{,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,}` --noreorder --verbose-restart
|
perl ./mtr main.1st
|
The first test run passes, there are no errors. But the second one produces the errors already on the bootstrap:
Logging: ./mtr main.1st
|
vardir: /data/src/10.4-gcov/mysql-test/var
|
Checking leftover processes...
|
Removing old var directory...
|
Creating var directory '/data/src/10.4-gcov/mysql-test/var'...
|
Checking supported features...
|
profiling:/data/src/10.4-gcov/storage/innobase/CMakeFiles/innobase.dir/lock/lock0lock.cc.gcda:Merge mismatch for function 460
|
profiling:/data/src/10.4-gcov/sql/CMakeFiles/sql.dir/item_timefunc.cc.gcda:Merge mismatch for function 454
|
profiling:/data/src/10.4-gcov/sql/CMakeFiles/sql.dir/item_create.cc.gcda:Merge mismatch for function 333
|
profiling:/data/src/10.4-gcov/sql/CMakeFiles/sql.dir/item.cc.gcda:Merge mismatch for function 1238
|
profiling:/data/src/10.4-gcov/sql/CMakeFiles/sql.dir/handler.cc.gcda:Merge mismatch for function 868
|
profiling:/data/src/10.4-gcov/sql/CMakeFiles/sql.dir/sql_yacc_ora.cc.gcda:Merge mismatch for function 164
|
profiling:/data/src/10.4-gcov/sql/CMakeFiles/sql.dir/sql_type.cc.gcda:Merge mismatch for function 798
|
profiling:/data/src/10.4-gcov/sql/CMakeFiles/sql.dir/opt_subselect.cc.gcda:Merge mismatch for function 100
|
profiling:/data/src/10.4-gcov/sql/CMakeFiles/sql.dir/sql_acl.cc.gcda:Merge mismatch for function 159
|
MariaDB Version 10.4.9-MariaDB-debug
|
- SSL connections supported
|
- binaries are debug compiled
|
- binaries built with wsrep patch
|
Collecting tests...
|
Installing system database...
|
Reproducible on all of current 5.5-10.4. I didn't try 10.5, but I don't expect any difference.
Couldn't check old 5.5 versions, as even 5.5.40 no longer builds on my machine.
Attachments
Issue Links
- relates to
-
MDEV-28394 Tests do not work with clang -fsanitize-coverage
- Open