Bug #48204 Server aborts in tests because of wrong option
Submitted: 21 Oct 2009 10:40 Modified: 22 Jan 2010 14:06
Reporter: Joerg Bruehe Email Updates:
Status: Duplicate Impact on me:
None 
Category:Tools: MTR / mysql-test-run Severity:S3 (Non-critical)
Version:5.1.40 + 5.5.0 OS:Windows
Assigned to: Bjørn Munch CPU Architecture:Any

[21 Oct 2009 10:40] Joerg Bruehe
Description:
Test failure occurred 117 times in the build of 5.1.40,
specific to Windows:

=====
CURRENT_TEST: rpl.rpl_init_slave
YYMMDD HH:MM:SS [Warning] The syntax 'for replication startup options' is deprecated and will be removed in MySQL 6.0. Please use 'CHANGE MASTER' instead.
YYMMDD HH:MM:SS [Note] Plugin 'FEDERATED' is disabled.
YYMMDD HH:MM:SS [Warning] g:/mysql-5.1.40-winbuild/mysql-classic-5.1.40-win32/bin/mysqld.exe: unknown variable 'loose-innodb_data_file_path=ibdata1:10M:autoextend'
YYMMDD HH:MM:SS [Warning] g:/mysql-5.1.40-winbuild/mysql-classic-5.1.40-win32/bin/mysqld.exe: unknown option '--loose-innodb'
YYMMDD HH:MM:SS [Warning] g:/mysql-5.1.40-winbuild/mysql-classic-5.1.40-win32/bin/mysqld.exe: unknown option '--loose-skip-innodb'
YYMMDD HH:MM:SS [Warning] g:/mysql-5.1.40-winbuild/mysql-classic-5.1.40-win32/bin/mysqld.exe: unknown variable 'loose-debug-sync-timeout=300'
g:/mysql-5.1.40-winbuild/mysql-classic-5.1.40-win32/bin/mysqld.exe: Too many arguments (first extra is 'global').
Use --verbose --help to get a list of available options
YYMMDD HH:MM:SS [ERROR] Aborting

YYMMDD HH:MM:SS [Note] g:/mysql-5.1.40-winbuild/mysql-classic-5.1.40-win32/bin/mysqld.exe: Shutdown complete

Failed to start mysqld.2

 - saving '/PATH/mysql-test/var/log/rpl.rpl_init_slave-row/' to '/PATH/mysql-test/var/log/rpl.rpl_init_slave-row/'
=====

I'm not sure whether the wrong option is given only on Windows,
or whether the server tolerates it on other platforms -
all I can say is that the test passes on other platforms.

How to repeat:
Run the tests.

Suggested fix:
Get the server, the test script, and the option files in sync.
[21 Oct 2009 11:08] Joerg Bruehe
From the reference to "global" in the error message,
I guess the critical part is file 
   mysql-test/suite/rpl/t/rpl_init_slave-slave.opt
which consists of this line:
  --init-slave="set global max_connections=500"

I don't see why this should differ on Unix and Windows,
so I suspect option analysis is done different.
[18 Nov 2009 18:08] Joerg Bruehe
Same issue in 5.5.0-beta:

=====
rpl.rpl_init_slave 'row'                 [ retry-fail ]
        Test ended at YYYY-MM-DD HH:MM:SS

Server log is:
YYMMDD HH:MM:SS [Warning] The syntax 'for replication startup options' is deprecated and will be removed in My
SQL 6.0. Please use 'CHANGE MASTER' instead.
YYMMDD HH:MM:SS [Note] Plugin 'FEDERATED' is disabled.
YYMMDD HH:MM:SS [Note] Plugin 'InnoDB' is disabled.
YYMMDD HH:MM:SS [Warning] /PATH/mysqld: unknown variable 'loose-debug-sync-timeout=300'
/PATH/mysqld: Too many arguments (first extra is 'global').
Use --verbose --help to get a list of available options
YYMMDD HH:MM:SS [ERROR] Aborting

YYMMDD HH:MM:SS [Note] /PATH/mysqld: Shutdown complete

Failed to start mysqld.2
=====

Same for modes "mix" and "stmt", of course.
[22 Jan 2010 14:06] Bjørn Munch
Duplicate of 43005; I was able to reproduce on 5.1 from before this was fixed, but not a more recent version.