Bug #24471 mysql-test-run gives warning for uninitialized variable
Submitted: 21 Nov 2006 12:23 Modified: 3 Dec 2006 18:17
Reporter: Mats Kindahl Email Updates:
Status: Closed Impact on me:
None 
Category:MySQL Server: Tests Severity:S3 (Non-critical)
Version:5.1.12-BK OS:Linux (Ubuntu)
Assigned to: Kent Boortz CPU Architecture:Any

[21 Nov 2006 12:23] Mats Kindahl
Description:
Got the following message when running mysql-test-run.pl

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

rpl_optimize                   Use of uninitialized value in concatenation (.) or string at lib/mtr_report.pl
        line 94 (#1)
    (W uninitialized) An undefined value was used as if it were already
    defined.  It was interpreted as a "" or a 0, but maybe it was a mistake.
    To suppress this warning assign a defined value to your variables.
    
    To help you figure out what was undefined, perl tells you what operation
    you used the undefined value in.  Note, however, that perl optimizes your
    program and the operation displayed in the warning may not necessarily
    appear literally in your program.  For example, "that $foo" is
    usually optimized into "that " . $foo, and the warning will refer to
    the concatenation (.) operator, even though there is no . in your
    program.
    
[ skipped ]   

How to repeat:
In a valgrind build, do the following:

perl mysql-test-run.pl --skip-ndb --do-test=rpl --mysqld=--binlog-format=row --valgrind --start-from=rpl_optimize --skip-test=rpl_optimize

Suggested fix:
Initialize the variable
[22 Nov 2006 14:17] MySQL Verification Team
Thank you for the bug report.

miguel@skybr:~/dbs/mysql-5.1/mysql-test$ cat /etc/issue
Ubuntu 6.10 \n \l

=======================================================
Starting Tests in the 'main' suite

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

rpl_optimize                   Use of uninitialized value in concatenation (.) or string at lib/mtr_report.pl
        line 94 (#1)
[24 Nov 2006 17:28] 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/15811

ChangeSet@1.2313, 2006-11-24 18:26:53+01:00, kent@mysql.com +2 -0
  mysql-test-run.pl:
    Removed "use diagnostics", reduces Perl speed significantly. Can be
    enabled with "perl -Mdiagnostics mysql-test-run.pl".
  mtr_report.pl:
    Don't try output "skipped" comment if there is none (bug#24471)
[28 Nov 2006 9:39] 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/15924

ChangeSet@1.2562, 2006-11-28 10:31:07+01:00, msvensson@neptunus.(none) +2 -0
  Backport of patch for bug#24471
  mysql-test-run.pl:
      Removed "use diagnostics", reduces Perl speed significantly. Can be
      enabled with "perl -Mdiagnostics mysql-test-run.pl".
  mtr_report.pl:
     Don't try output "skipped" comment if there is none (bug#24471)
[28 Nov 2006 11:43] 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/15937

ChangeSet@1.2558, 2006-11-28 12:33:36+01:00, msvensson@neptunus.(none) +2 -0
  Backport of patch for bug#24471