Bug #50478 perfschema.tampered_perfschema_table1 fails sporadically on Windows and Solaris
Submitted: 20 Jan 2010 15:07 Modified: 6 Mar 2010 19:41
Reporter: Alexander Nozdrin Email Updates:
Status: Closed Impact on me:
None 
Category:MySQL Server: Performance Schema Severity:S1 (Critical)
Version:Celosia (M3), 6.0 OS:Any (Windows, Solaris)
Assigned to: Marc ALFF CPU Architecture:Any
Tags: experimental, PB, test failure

[20 Jan 2010 15:07] Alexander Nozdrin
Description:
perfschema.tampered_perfschema_table1 fails sporadically
on Windows and Solaris:

perfschema.tampered_perfschema_table1 [ fail ]
        Test ended at 2010-01-20 03:56:04

CURRENT_TEST: perfschema.tampered_perfschema_table1
--- /export/home/pb2/test/sb_0-1205436-1263953191.11/mysql-6.0.14-alpha-solaris10-sparc-test/mysql-test/suite/perfschema/r/tampered_perfschema_table1.result	2010-01-20 00:18:08.000000000 +0300
+++ /export/home/pb2/test/sb_0-1205436-1263953191.11/mysql-6.0.14-alpha-solaris10-sparc-test/mysql-test/suite/perfschema/r/tampered_perfschema_table1.reject	2010-01-20 05:56:03.816981997 +0300
@@ -2,5 +2,5 @@
 "Column count of mysql.SETUP_INSTRUMENTS is wrong. "
 "Expected 4, found 3. The table is probably corrupted");
 select * from performance_schema.SETUP_INSTRUMENTS limit 1;
-ERROR HY000: Native table 'performance_schema'.'SETUP_INSTRUMENTS' has the wrong structure
+ERROR HY000: Native table 'performance_schema'.'L' has the wrong structure
 select * from performance_schema.SETUP_CONSUMERS limit 1;

How to repeat:
See PB, XRef2
[20 Jan 2010 15:18] Alexander Nozdrin
Making the test case experimental staring from Celosia (next-mr).
[21 Jan 2010 10:41] Sveta Smirnova
Thank you for the report.

Verified as described.
[22 Jan 2010 11:49] Vladislav Vaintroub
The reason for error (at least on Windows) is likely my_error usage in  PFS_engine_table::read_row /PFS_engine_table::update_row

    my_error(ER_WRONG_NATIVE_TABLE_STRUCTURE, MYF(0),
        PERFORMANCE_SCHEMA_str.str, m_share_ptr->m_name);

here, last parameter is LEX_STRING, but should be char *.
Changing m_share_ptr->m_name to m_share_ptr->m_name.str will likely fix the issue
[23 Jan 2010 0:18] 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/97953

2970 Marc Alff	2010-01-22
      Bug#50478 perfschema.tampered_perfschema_table1 fails sporadically on
      Windows and Solaris
      
      Reviewed every call to my_error() using the va_args parameters,
      to make sure the arguments type are ok.
      
      Fixed the broken calls to my_error() to pass a strings as 'char *',
      not LEX_STRING.
[23 Jan 2010 0:22] Marc ALFF
Thanks vlad for the analysis.
[23 Jan 2010 1:33] Marc ALFF
Patch queued in:
- mysql-next-mr-marc
- mysql-6.0-codebase-marc
[13 Feb 2010 8:36] Bugs System
Pushed into 6.0.14-alpha (revid:alik@sun.com-20100213083436-9pesg4h55w1mekxc) (version source revid:luis.soares@sun.com-20100211135109-t63avry9fqpgyh78) (merge vers: 6.0.14-alpha) (pib:16)
[13 Feb 2010 8:38] Bugs System
Pushed into mysql-next-mr (revid:alik@sun.com-20100213083327-cee4ao3jpg33eggv) (version source revid:luis.soares@sun.com-20100211135018-1f9dbghg0itszigo) (pib:16)
[13 Feb 2010 13:24] Marc ALFF
Doc team:
- bug present in mysql-next-mr (betony)
- fixed in mysql-next-mr (celosia)
- bug not present in any GA release
[13 Feb 2010 17:44] Paul DuBois
No changelog entry needed. Appears in no released version.

Setting report to Need Merge pending push of Celosia to release tree.
[6 Mar 2010 10:56] Bugs System
Pushed into 5.5.3-m3 (revid:alik@sun.com-20100306103849-hha31z2enhh7jwt3) (version source revid:vvaintroub@mysql.com-20100213160132-nx1vlocxuta76txh) (merge vers: 5.5.99-m3) (pib:16)
[6 Mar 2010 19:41] Paul DuBois
No changelog entry needed.