Bug #29083 test suite times out on OS X 64bit - also in older releases
Submitted: 13 Jun 2007 17:37 Modified: 28 Nov 2007 18:24
Reporter: Joerg Bruehe Email Updates:
Status: Closed Impact on me:
None 
Category:MySQL Server: Replication Severity:S2 (Serious)
Version:4.1.23 OS:MacOS (PPC 64 bit only)
Assigned to: Sergey Vojtovich CPU Architecture:Any

[13 Jun 2007 17:37] Joerg Bruehe
Description:
IMO, this is the same problem as bug#26664,
but it happens in 4.1 already (found while building 4.1.23).

I open it as a new report, so that there is no confusion about the other bug# already being fixed in 5.0 and 5.1

The timeouts are extremely frequent and occur in all configurations,
we feel we should not publish 4.1.23 on/for OSX-PPC-64bit:

debug.log:rpl000001                      [ fail ]  timeout
debug.log:rpl000002                      [ pass ]           2127
debug.log:rpl000004                      [ fail ]
debug.log:rpl000005                      [ fail ]  timeout
debug.log:rpl000006                      [ pass ]           1430
debug.log:rpl000008                      [ fail ]  timeout
debug.log:rpl000009                      [ fail ]
debug.log:rpl000010                      [ fail ]  timeout
debug.log:rpl000011                      [ fail ]  timeout
debug.log:rpl000012                      [ fail ]  timeout
debug.log:rpl000013                      [ fail ]  timeout
debug.log:rpl000015                      [ fail ]
debug.log:rpl000017                      [ fail ]  timeout
debug.log:rpl_EE_error                   [ fail ]  timeout
debug.log:rpl_alter                      [ fail ]  timeout
debug.log:rpl_change_master              [ fail ]
debug.log:rpl_charset                    [ pass ]           8324
debug.log:rpl_commit_after_flush         [ pass ]           1068

standard.log:rpl000001                      [ fail ]  timeout
standard.log:rpl000002                      [ fail ]  timeout
standard.log:rpl000004                      [ fail ]
standard.log:rpl000005                      [ pass ]           1119
standard.log:rpl000006                      [ pass ]           1864
standard.log:rpl000008                      [ fail ]  timeout
standard.log:rpl000009                      [ fail ]  timeout
standard.log:rpl000010                      [ fail ]  timeout
standard.log:rpl000011                      [ fail ]  timeout
standard.log:rpl000012                      [ pass ]           2101
standard.log:rpl000013                      [ pass ]           2064
standard.log:rpl000015                      [ fail ]
standard.log:rpl000017                      [ fail ]  timeout
standard.log:rpl_EE_error                   [ fail ]  timeout
standard.log:rpl_alter                      [ pass ]           2070
standard.log:rpl_change_master              [ fail ]
standard.log:rpl_charset                    [ fail ]  timeout
standard.log:rpl_commit_after_flush         [ skipped ]   Test requires: 'slave-running'
standard.log:rpl_create_database            [ fail ]  timeout

max.log:rpl000001                      [ fail ]  timeout
max.log:rpl000002                      [ pass ]           2128
max.log:rpl000004                      [ fail ]
max.log:rpl000005                      [ pass ]           2088
max.log:rpl000006                      [ fail ]  timeout
max.log:rpl000008                      [ pass ]           1340
max.log:rpl000009                      [ fail ]  timeout
max.log:rpl000010                      [ pass ]            157
max.log:rpl000011                      [ fail ]  timeout
max.log:rpl000012                      [ fail ]  timeout
max.log:rpl000013                      [ pass ]           1112
max.log:rpl000015                      [ fail ]
max.log:rpl000017                      [ fail ]  timeout
max.log:rpl_EE_error                   [ pass ]           1383
max.log:rpl_alter                      [ pass ]           2083
max.log:rpl_change_master              [ fail ]
max.log:rpl_charset                    [ fail ]  timeout
max.log:rpl_commit_after_flush         [ pass ]           1098
max.log:rpl_create_database            [ fail ]  timeout
max.log:rpl_ddl                        [ fail ]  timeout
max.log:rpl_deadlock                   [ fail ]  timeout
max.log:rpl_delete_all                 [ pass ]           2134
max.log:rpl_do_grant                   [ pass ]             74
max.log:rpl_drop                       [ pass ]             47
max.log:rpl_drop_db                    [ pass ]           2164
max.log:rpl_drop_temp                  [ pass ]           4066

pro.log:rpl000001                      [ fail ]  timeout
pro.log:rpl000002                      [ fail ]  timeout
pro.log:rpl000004                      [ fail ]
pro.log:rpl000005                      [ fail ]  timeout
pro.log:rpl000006                      [ pass ]             80
pro.log:rpl000008                      [ pass ]           2071
pro.log:rpl000009                      [ fail ]  timeout
pro.log:rpl000010                      [ pass ]             52
pro.log:rpl000011                      [ pass ]             67
pro.log:rpl000012                      [ pass ]           2070
pro.log:rpl000013                      [ fail ]  timeout
pro.log:rpl000015                      [ fail ]  timeout
pro.log:rpl000017                      [ fail ]  timeout
pro.log:rpl_EE_error                   [ pass ]           1450
pro.log:rpl_alter                      [ pass ]           2085
pro.log:rpl_change_master              [ fail ]
pro.log:rpl_charset                    [ fail ]  timeout
pro.log:rpl_commit_after_flush         [ pass ]             46
pro.log:rpl_create_database            [ fail ]  timeout
pro.log:rpl_ddl                        [ fail ]  timeout

pro-gpl.log:rpl000001                      [ fail ]  timeout
pro-gpl.log:rpl000002                      [ fail ]  timeout
pro-gpl.log:rpl000004                      [ fail ]
pro-gpl.log:rpl000005                      [ fail ]  timeout
pro-gpl.log:rpl000006                      [ fail ]  timeout
pro-gpl.log:rpl000008                      [ pass ]           1077
pro-gpl.log:rpl000009                      [ fail ]  timeout
pro-gpl.log:rpl000010                      [ pass ]             53
pro-gpl.log:rpl000011                      [ pass ]             55
pro-gpl.log:rpl000012                      [ fail ]  timeout
pro-gpl.log:rpl000013                      [ fail ]  timeout
pro-gpl.log:rpl000015                      [ fail ]
pro-gpl.log:rpl000017                      [ fail ]  timeout
pro-gpl.log:rpl_EE_error                   [ pass ]           1353
pro-gpl.log:rpl_alter                      [ pass ]           2070
pro-gpl.log:rpl_change_master              [ fail ]
pro-gpl.log:rpl_charset                    [ pass ]           5576
pro-gpl.log:rpl_commit_after_flush         [ pass ]             56
pro-gpl.log:rpl_create_database            [ fail ]  timeout
pro-gpl.log:rpl_ddl                        [ fail ]  timeout

The full reports are available in the 4.1.23 build log files of our OS X, PPC, 64 bit host.

The wait time spent to re-synchronize after the failures then caused all test runs to be aborted, because of the test suite timeout.

How to repeat:
Found by running the test suite.

Suggested fix:
Backport the 5.0 fix to 4.1 ?
[9 Nov 2007 12:02] Bugs System
A patch for this bug has been committed. After review, it may
be pushed to the relevant source trees for release in the next
version. You can access the patch from:

  http://lists.mysql.com/commits/37432

ChangeSet@1.2692, 2007-11-09 16:05:01+04:00, svoj@mysql.com +3 -0
  BUG#29083 - test suite times out on OS X 64bit - also in older releases
  
  The "mysql client in mysqld"(which is used by
  replication and federated) should use alarms instead of setting
  socket timeout value if the rest of the server uses alarm. By
  always calling 'my_net_set_write_timeout'
  or 'net_set_read_timeout' when changing the timeout value(s), the
  selection whether to use alarms or timeouts will be handled by
  ifdef's in those two functions.
  
  This is minimal backport of patch for BUG#26664, which was pushed
  to 5.0 and up.
  
  Affects 4.1 only.
[28 Nov 2007 10:24] Bugs System
Pushed into 6.0.4-alpha
[28 Nov 2007 10:25] Bugs System
Pushed into 5.1.23-rc
[28 Nov 2007 10:27] Bugs System
Pushed into 5.0.54
[28 Nov 2007 10:47] Bugs System
Pushed into 4.1.24
[28 Nov 2007 18:24] Jon Stephens
Thank you for your bug report. This issue has been committed to our source repository of that product and will be incorporated into the next release.

If necessary, you can access the source repository and build the latest available version, including the bug fix. More information about accessing the source trees is available at

    http://dev.mysql.com/doc/en/installing-source.html

Documented bugfix in 4.1.24 changelog:

        Connections from one mysqld server to another failed on Mac OS X,
        affecting replication and FEDERATED tables.

Per developer notes this fix affected 4.1 only, see Bug #26664 for 5.0+ fix.