Bug #67987 make test fails
Submitted: 29 Dec 2012 7:46 Modified: 14 Jan 2013 15:57
Reporter: John Dzilvelis Email Updates:
Status: Closed Impact on me:
None 
Category:MySQL Server: Compiling Severity:S3 (Non-critical)
Version:5.6.9 OS:Linux (Centos 6.3)
Assigned to: Tor Didriksen CPU Architecture:Any

[29 Dec 2012 7:46] John Dzilvelis
Description:
Running "make test" reports an error on a new build of MySQL 5.6.9-rc on CentOS 6.3

Running tests...                                                                                                                            
Start processing tests
Test project /opt/mysql/mysql-5.6.9-rc/bld6
  1/ 66 Testing pfs_instr_class                  Passed
  2/ 66 Testing pfs_instr_class-oom              Passed
  3/ 66 Testing pfs_instr                        Passed
  4/ 66 Testing pfs_instr-oom                    Passed
  5/ 66 Testing pfs_account-oom                  Passed
  6/ 66 Testing pfs_host-oom                     Passed
  7/ 66 Testing pfs_user-oom                     Passed
  8/ 66 Testing pfs                              Passed
  9/ 66 Testing pfs_connect_attr                 Passed
 10/ 66 Testing hp_test1                         Passed
 11/ 66 Testing hp_test2                         Passed
 12/ 66 Testing regex1                           Passed
 13/ 66 Testing regex2                           Passed
 14/ 66 Testing regex3                           Passed
 15/ 66 Testing queues_test                      Passed
 16/ 66 Testing simple                           Passed
 17/ 66 Testing skip                             Passed
 18/ 66 Testing todo                             Passed
 19/ 66 Testing skip_all                         Passed
 20/ 66 Testing no_plan                          Passed
 21/ 66 Testing basic                            Passed
 22/ 66 Testing base64                           Passed
 23/ 66 Testing my_vsnprintf                     Passed
 24/ 66 Testing my_atomic                        Passed
 25/ 66 Testing my_rdtsc                         Passed
 26/ 66 Testing lf                               Passed
 27/ 66 Testing waiting_threads                  Passed
 28/ 66 Testing my_malloc                        Passed
 29/ 66 Testing alignment                        Passed
 30/ 66 Testing bounded_queue                    Passed
 31/ 66 Testing bounds_checked_array             Passed
 32/ 66 Testing byteorder                        Passed
 33/ 66 Testing client_string                    Passed
 34/ 66 Testing cost_estimate                    Passed
 35/ 66 Testing dbug                             Passed
 36/ 66 Testing decimal                          Passed
 37/ 66 Testing dynarray                         Passed
 38/ 66 Testing filesort_buffer                  Passed
 39/ 66 Testing filesort_compare                 Passed
 40/ 66 Testing mdl                              Passed
 41/ 66 Testing mdl_mytap                        Passed
 42/ 66 Testing my_bitmap                        Passed
 43/ 66 Testing my_error                         Passed
 44/ 66 Testing my_fileutils                     Passed
 45/ 66 Testing my_regex                         Passed
 46/ 66 Testing sql_list                         Passed
 47/ 66 Testing sql_plist                        Passed
 48/ 66 Testing sql_string                       Passed
 49/ 66 Testing stdcxx                           Passed
 50/ 66 Testing thread_utils                     Passed
 51/ 66 Testing copy_info                        Passed
 52/ 66 Testing create_field                     Passed
 53/ 66 Testing delayable_insert_operation       Passed
 54/ 66 Testing field                         ***Failed 
 55/ 66 Testing get_diagnostics                  Passed
 56/ 66 Testing handler                          Passed
 57/ 66 Testing item                             Passed
 58/ 66 Testing item_func_now_local              Passed
 59/ 66 Testing join_tab_sort                    Passed
 60/ 66 Testing make_sortkey                     Passed
 61/ 66 Testing my_decimal                       Passed
 62/ 66 Testing opt_range                        Passed
 63/ 66 Testing opt_trace                        Passed
 64/ 66 Testing segfault                         Passed
 65/ 66 Testing sql_table                        Passed
 66/ 66 Testing table_cache                      Passed

98% tests passed, 1 tests failed out of 66

The following tests FAILED:
     54 - field (Failed)
Errors while running CTest
make: *** [test] Error 8

For reference: output of uname -a 

Linux dzdb 2.6.32-279.14.1.el6.x86_64 #1 SMP Tue Nov 6 23:43:09 UTC 2012 x86_64 x86_64 x86_64 GNU/Linux

How to repeat:
cd /opt/mysql/mysql-5.6.9-rc
mkdir bld
cd bld

cmake /opt/mysql/mysql-5.6.9-rc  \
    -DBUILD_CONFIG=mysql_release \
    -DENABLE_DOWNLOADS=1 \
    -DCMAKE_INSTALL_PREFIX=/opt/mysql/mysql-5.6.9-rc-centos_6_3.x86_64 \
    -DSYSCONFDIR=/etc 

make VERBOSE=1

make test
[29 Dec 2012 14:21] Erlend Dahl
Can you please post the relevant content of bld/Testing/Temporary/LastTest.log ?
[29 Dec 2012 16:17] John Dzilvelis
54/66 Testing: field
54/66 Test: field
Command: "/opt/mysql/mysql-5.6.9-rc/bld6/unittest/gunit/field-t"
Directory: /opt/mysql/mysql-5.6.9-rc/bld6/unittest/gunit
"field" start time: Dec 29 00:36 MST
Output:
----------------------------------------------------------
# Running 32 tests from 6 test cases
1..32
# Global test environment set-up
# Run 1 FieldTest.FieldTimef
# /opt/mysql/mysql-5.6.9-rc/unittest/gunit/field-t.cc:190: FailureValue of: timeStr.c_ptr()
#   Actual: "1970-01-05 03:45:45.555500"
# Expected: "1970-01-06 03:45:45.555500"
# /opt/mysql/mysql-5.6.9-rc/unittest/gunit/field-t.cc:261: FailureValue of: f->get_timestamp(&tv, &warnings)
#   Actual: true
# Expected: 0
# /opt/mysql/mysql-5.6.9-rc/unittest/gunit/field-t.cc:263: FailureValue of: tv.tv_usec
#   Actual: 11460463
# Expected: 123400
not ok 1
# Run 2 FieldTest.FieldTimefCompare
ok 2
# Run 3 FieldTest.FieldTime
ok 3
# Run 4 FieldTest.CopyFieldSet
ok 4
# Run 5 FieldTest.MakeSortKey
ok 5
# Run 6 FieldTest.copyInteger
ok 6
# Run 7 FieldDateTest.StoreLegalStringValues
ok 7
# Run 8 FieldDateTest.StoreIllegalStringValues
ok 8
# Run 9 FieldDateTest.StoreZeroDateSqlModeNoZeroRestrictions
ok 9
# Run 10 FieldDateTest.StoreZeroDateSqlModeNoZeroDate
ok 10
# Run 11 FieldDateTest.StoreZeroDateSqlModeNoZeroInDate
ok 11
# Run 12 FieldDatetimeTest.StoreLegalStringValues
ok 12
# Run 13 FieldDatetimeTest.StoreIllegalStringValues
ok 13
# Run 14 FieldDatetimeTest.StoreZeroDateSqlModeNoZeroRestrictions
ok 14
# Run 15 FieldDatetimeTest.StoreZeroDateSqlModeNoZeroDate
ok 15
# Run 16 FieldDatetimeTest.StoreZeroDateSqlModeNoZeroInDate
ok 16
# Run 17 FieldLongTest.StoreLegalIntValues
ok 17
# Run 18 FieldLongTest.StoreOutOfRangeIntValues
ok 18
# Run 19 FieldLongTest.StoreLegalStringValues
ok 19
# Run 20 FieldLongTest.StoreIllegalStringValues
ok 20
# Run 21 FieldLongTest.StoreNullValue
ok 21
# Run 22 FieldNewDecimalTest.StoreLegalStringValues
ok 22
# Run 23 FieldNewDecimalTest.StoreIllegalStringValues
ok 23
# Run 24 FieldNewDecimalTest.storeInternalWithErrorCheckLegalValues
ok 24
# Run 25 FieldNewDecimalTest.storeInternalWithErrorCheckOutOfRange
ok 25
# Run 26 FieldNewDecimalTest.storeInternalWithErrorCheckEDecOverflow
ok 26
# Run 27 FieldNewDecimalTest.storeInternalWithErrorCheckEDecTrunkated
ok 27
# Run 28 FieldNewDecimalTest.storeInternalWithErrorCheckRestOfParams
ok 28
# Run 29 FieldTimestampTest.hasInsertDefaultFunction
ok 29
# Run 30 FieldTimestampTest.hasUpdateDefaultFunction
ok 30
# Run 31 FieldTimestampTest.EvaluateInsertDefaultFunction
ok 31
# Run 32 FieldTimestampTest.EvaluateUpdateDefaultFunction
ok 32
# Global test environment tear-down
# Ran 32 tests from 6 test cases
# Passed 31 tests
# Failed 1 test
----------------------------------------------------------
"field" end time: Dec 29 00:36 MST
"field" time elapsed: 00:00:00
[29 Dec 2012 16:19] Erlend Dahl
Thanks, I will have a developer take a look at this.
[29 Dec 2012 16:41] John Dzilvelis
After looking at the code for the failing unit test I wonder if this has to do with timezones. 

My system was set for MST. I changed the system timezone to UTC and then re-ran make test -- all 66 tests passed. 

See ./unittest/gunit/field-t.cc
[29 Dec 2012 16:58] MySQL Verification Team
I couldn't repeat this failure on FC17, attached all the related info.

Attachment: bug67987_make_test_5.6.9.zip (application/x-zip-compressed, text), 89.58 KiB.

[29 Dec 2012 17:01] MySQL Verification Team
My timezone is SAST (UTC + 2 hours)
[31 Dec 2012 7:19] Erlend Dahl
The test passes for me if I run it under Ubuntu 12.10 on CET (system clock set to UTC).

However, if I change to EST (New York time), the test fails.

If I change to IST (New Delhi time), the test passes again.
[3 Jan 2013 16:12] Erlend Dahl
We have found the problem and a fix will be pushed to an upcoming release.

Note that this is a problem in the unit test only, not in the sever itself.

Thanks for reporting this issue.
[3 Jan 2013 22:29] John Dzilvelis
That's good news. Thanks.
[14 Jan 2013 15:57] Paul DuBois
Fixes for test suite. No changelog entry needed.