Bug #27204 Some tests fail if LC_ environment variables are set to *_*.UTF-8
Submitted: 16 Mar 2007 10:41 Modified: 2 Apr 2007 7:47
Reporter: Valeriy Kravchuk Email Updates:
Status: Can't repeat Impact on me:
None 
Category:MySQL Server: Tests Severity:S3 (Non-critical)
Version:5.0.36 OS:Solaris (Solaris10 SPARC, 64-bit)
Assigned to: Magnus Blåudd CPU Architecture:Any

[16 Mar 2007 10:41] Valeriy Kravchuk
Description:
If you set LC_* variables to some usual values like en_US.UTF-8, some tests from MySQL's test suite fails. These tests (mysql, mysqlbinlog) works OK when these variables are not set.

How to repeat:
-bash-3.00$ cd mysql-enterprise-gpl-5.0.36-solaris10-sparc-64bit
-bash-3.00$ cd mysql-test/
-bash-3.00$ LC_MONETARY=en_US.UTF-8; export LC_MONETARY;
-bash-3.00$ LC_NUMERIC=en_US.UTF-8; export LC_NUMERIC;
-bash-3.00$ LC_COLLATE=en_US.UTF-8; export LC_COLLATE;
-bash-3.00$ LC_CTYPE=en_US.UTF-8; export LC_COLLATE;
-bash-3.00$ ./mysql-test-run --force mysql mysqlbinlog rpl_rotate_logs
Logging: ./mysql-test-run --force mysql mysqlbinlog rpl_rotate_logs
MySQL Version 5.0.36
Skipping ndbcluster, mysqld not compiled with ndbcluster
Setting mysqld to support SSL connections
Using MTR_BUILD_THREAD      = 0
Using MASTER_MYPORT         = 9306
Using MASTER_MYPORT1        = 9307
Using SLAVE_MYPORT          = 9308
Using SLAVE_MYPORT1         = 9309
Using SLAVE_MYPORT2         = 9310
Using IM_PORT               = 9312
Using IM_MYSQLD1_PORT       = 9313
Using IM_MYSQLD2_PORT       = 9314
Killing Possible Leftover Processes
Removing Stale Files
Creating Directories
Installing Master Database
Installing Master Database
Installing Slave1 Database
Saving snapshot of installed databases
=======================================================
Starting Tests in the 'main' suite

TEST                           RESULT         TIME (ms)
-------------------------------------------------------

mysql                          [ fail ]

Errors are (from /users/vkravchuk/mysql-enterprise-gpl-5.0.36-solaris10-sparc-64
bit/mysql-test/var/log/mysqltest-time) :
mysqltest: Result length mismatch
(the last lines may be the most important ones)
Below are the diffs between actual and expected results:
-------------------------------------------------------
*** r/mysql.result      Tue Feb 20 21:21:49 2007
--- r/mysql.reject      Fri Mar 16 13:28:30 2007
***************
*** 61,76 ****
  test
  unlock tables;
  drop table t1;
! В?\
! В?\
  c_cp932
! В?\
! В?\
! В?\
! г'?
! г'?
! В?\
! В?\
  +----------------------+------------+--------+
  | concat('>',col1,'<') | col2       | col3   |
  +----------------------+------------+--------+
--- 61,76 ----
  test
  unlock tables;
  drop table t1;
! В?\
! В?\
  c_cp932
! В?\
! В?\
! В?\
! п?'г'?
! п?'г'?
! В?\
! В?\
  +----------------------+------------+--------+
  | concat('>',col1,'<') | col2       | col3   |
  +----------------------+------------+--------+
-------------------------------------------------------
Please follow the instructions outlined at
http://www.mysql.com/doc/en/Reporting_mysqltest_bugs.html
to find the reason to this problem and how to report this.

Result from queries before failure can be found in r/mysql.log

Stopping All Servers
Restoring snapshot of databases
Resuming Tests

mysqlbinlog                    [ fail ]

Errors are (from /users/vkravchuk/mysql-enterprise-gpl-5.0.36-solaris10-sparc-64
bit/mysql-test/var/log/mysqltest-time) :
mysqltest: Result length mismatch
(the last lines may be the most important ones)
Below are the diffs between actual and expected results:
-------------------------------------------------------
*** r/mysqlbinlog.result        Tue Feb 20 21:21:49 2007
--- r/mysqlbinlog.reject        Fri Mar 16 13:28:34 2007
***************
*** 205,214 ****
  E382BD
  select HEX(f) from t04;
  HEX(f)
! 835C
  select HEX(f) from t4;
  HEX(f)
! 835C
  flush logs;
  select * from t5  /* must be (1),(1) */;
  a
--- 205,214 ----
  E382BD
  select HEX(f) from t04;
  HEX(f)
! C2835C
  select HEX(f) from t4;
  HEX(f)
! C2835C
  flush logs;
  select * from t5  /* must be (1),(1) */;
  a
-------------------------------------------------------
Please follow the instructions outlined at
http://www.mysql.com/doc/en/Reporting_mysqltest_bugs.html
to find the reason to this problem and how to report this.

Result from queries before failure can be found in r/mysqlbinlog.log

Stopping All Servers
Restoring snapshot of databases
Resuming Tests

rpl_rotate_logs                [ pass ]           1596
-------------------------------------------------------
Stopping All Servers
Failed 2/3 tests, 33.33% were successful.

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://www.mysql.com/doc/en/MySQL_test_suite.html
The servers were restarted 3 times
Spent 1.596 seconds actually executing testcases

mysql-test-run in default mode: *** Failing the test(s): mysql mysqlbinlog
mysql-test-run: *** ERROR: there where failing test cases

Suggested fix:
Check tests, check environment while running tests or clearly describe the environment to run them.
[2 Apr 2007 7:47] Magnus Blåudd
Could not repeat with latest version of MySQL source code. Most likely fixed by bug#15126