Bug #31880 make test failure from public bk tree
Submitted: 26 Oct 2007 14:30 Modified: 4 Aug 2008 23:42
Reporter: Boyd GERBER Email Updates:
Status: Closed Impact on me:
None 
Category:MySQL Server: Compiling Severity:S2 (Serious)
Version:5.0 bk tree OS:Any (All)
Assigned to: Daniel Fischer CPU Architecture:Any
Triage: D3 (Medium)

[26 Oct 2007 14:30] Boyd GERBER
Description:
make test
cd mysql-test ; \
        /usr/bin/perl ./mysql-test-run.pl
Logging: ./mysql-test-run.pl
MySQL Version 5.0.52
Using ndbcluster when necessary, mysqld supports it
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 NDBCLUSTER_PORT       = 9310
Using IM_PORT               = 9312
Using IM_MYSQLD1_PORT       = 9313
Using IM_MYSQLD2_PORT       = 9314

Duplicate Ports.

How to repeat:
bkf clone bk://mysql.bkbits.net/mysql-5.0 mysql-5.0
cd bdb/dist;sh s_all
cd ../../innobase
autoreconf --force --install
cd ..
autoreconf --force --install
./BUILD/compile-pentium-max
make test
[26 Oct 2007 17:27] Miguel Solorzano
Thank you for the bug report.

[miguel@skybr mysql-5.0]$ make test
cd mysql-test ; \
        /usr/bin/perl ./mysql-test-run.pl  
Logging: ./mysql-test-run.pl 
MySQL Version 5.0.52
Using ndbcluster when necessary, mysqld supports it
Setting mysqld to support SSL connections
Binaries are debug compiled
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 NDBCLUSTER_PORT       = 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
Installing Master Cluster
mysql-test-run: *** ERROR: Failed to wait for start of ndb_mgmd
make: *** [test-ns] Error 1
[miguel@skybr mysql-5.0]$
[13 Dec 2007 18:09] Daniel Fischer
Easy workaround: Set environment variable MTR_BUILD_THREAD to a non-zero value, for example 1.
[13 Dec 2007 18:13] 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/39924

ChangeSet@1.2576, 2007-12-13 19:10:49+01:00, df@pippilotta.erinye.com +1 -0
  BUG#31880 make test failure from public bk tree
[13 Dec 2007 21:17] Timothy Smith
Patch is weird, but acceptable.  I might prefer an extra comment in set_mtr_build_thread_ports() warning that a magic value depends on these equations.
[14 Dec 2007 9:47] 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/39969

ChangeSet@1.2576, 2007-12-14 10:47:01+01:00, df@pippilotta.erinye.com +1 -0
  BUG#31880 make test failure from public bk tree
[14 Dec 2007 9:49] Daniel Fischer
Above patch is previously reviewed patch with additional comment added.
[22 Dec 2007 14:26] Bugs System
Pushed into 6.0.5-alpha
[22 Dec 2007 14:32] Bugs System
Pushed into 5.1.23-rc
[22 Dec 2007 14:37] Bugs System
Pushed into 5.0.56
[26 Dec 2007 14:26] Boyd GERBER
It appears it is some what fixed.  But I get the below when trying to run the test on Openserver 6.  It appears that the bug is only really fixed on Linux systems.

# make test
cd mysql-test ; \
            /bin/perl ./mysql-test-run.pl
perl: warning: Setting locale failed.
perl: warning: Please check that your locale settings:
        LC_ALL = (unset),
        LC_COLLATE = "POSIX",
        LANG = "en_US.UTF-8"
    are supported and installed on your system.
perl: warning: Falling back to the standard locale ("C").
Logging: ./mysql-test-run.pl
071226 14:18:59 [Warning] option 'max_join_size': unsigned value 18446744073709551615 adjusted to 4294967295
071226 14:18:59 [Warning] option 'max_join_size': unsigned value 18446744073709551615 adjusted to 4294967295
071226 14:18:59 [Warning] option 'myisam_max_extra_sort_file_size': unsigned value 2147483648 adjusted to 2147483647
MySQL Version 5.0.56
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               = 9313
Using IM_MYSQLD1_PORT       = 9314
Using IM_MYSQLD2_PORT       = 9315
Killing Possible Leftover Processes
Removing Stale Files
Creating Directories
Installing Master Database
mysql-test-run: *** ERROR(child): can't dup STDOUT: Bad file number
mysql-test-run: *** ERROR: Error executing mysqld --bootstrap
Could not install system database from /home/mount/uw714/top/zenez/zen/build/osr6/mysql-5.0/mysql-test/var/tmp/bootstrap.sql
see /home/mount/uw714/top/zenez/zen/build/osr6/mysql-5.0/mysql-test/var/log/bootstrap.log for errors
gmake: *** [test-ns] Error 1
[22 Jan 2008 11:39] Boyd GERBER
Why has there been not comment or change after reporting loss of ability to use the pushed patch on other OS's?
[22 Jan 2008 21:43] Timothy Smith
Boyd,

Hi.  The pushed patch does fix the "Duplicate ports" problem that was originally reported.  You can see that mysql-test-run.pl is getting farther in the process than before, and that the reported ports are correct.

However, you appear to have another problem.  It would be best to open a new bug report for this.  Include the contents of your mysql-5.0/mysql-test/var/log/bootstrap.log.  If you could run:

/bin/perl ./mysql-test-run.pl --script-debug 2>&1 | tee mtr-debug.log

That log might also contain some useful information.

Thanks,

Timothy
[22 Jan 2008 22:22] Boyd GERBER
Created new bug report

http://bugs.mysql.com/bug.php?id=33997

I have to think that a patch that breaks previous behavior should be fixed under bug that broke it.  But you have the new bug as requested.
[2 Feb 2008 11:33] Jon Stephens
Boyd,

We prefer to have a separate bug for each issue. The duplicate ports issue reported in this bug appears to have been fixed. 

Also, I don't see where the fix for this bug *caused* the new issue. Timothy seems to think that - since the process is now getting farther than it did before - it's quite likely that the "new" issue *already* existed, but couldn't be observed (yet) because the process failed before reaching that point.

We do our best to make sure that changelog entries properly reflect the relationship between related bugs with one or more of: "See also Bug#..."; "Reversion of Bug#..."; "Introduced by Bug #..."; etc. These relationships are very important to us (and our users) in tracking issues/workflows, and so we try very hard to get them right.

cheers

Jon Stephens / MySQL Documentation Team
[4 Aug 2008 12:51] Daniel Fischer
Closing this bug, the fix was pushed half a year ago.
[4 Aug 2008 19:19] Jon Stephens
Fix was never documented; bug status should have been set to Documenting rather than Closed.
[4 Aug 2008 23:42] Paul Dubois
Noted in 5.0.56, 5.1.23, 6.0.5 changelogs.

mysql-test-run.pl sometimes set up test scenarios in which the same
port number was passed to multiple servers, causing one of them to be
unable to start.