Bug #84457 Performance Schema 5.6.35 unittest pft-t failing
Submitted: 10 Jan 2017 12:53 Modified: 16 Feb 2017 14:10
Reporter: Vicentiu Marian Ciorbaru (OCA) Email Updates:
Status: Closed Impact on me:
None 
Category:MySQL Server: Performance Schema Severity:S3 (Non-critical)
Version:5.6.35 OS:Linux
Assigned to: CPU Architecture:Any
Tags: unittest

[10 Jan 2017 12:53] Vicentiu Marian Ciorbaru
Description:
The unittest pft-t from storage/perfschema/unittests/pfs-t.cc fails at:

not ok 179 - no locker (no thread owner)

This is introduced by:

        commit 160b823d146288d66638e4a740d6d2da72f9a689
        Author: Marc Alff <marc.alff@oracle.com>
        Date:   Tue Aug 30 12:14:07 2016 +0200
    
        Bug#22551677 SIGNAL 11 IN LF_PINBOX_PUT_PINS
    
        Backport to 5.6

How to repeat:
In MySQL 5.6.35

cmake .
make
storage/perfschema/unittest/pfs-t

Suggested fix:
The m_thread_owner variable is now inconsistently set when creating a socket. The owner is marked as NULL while when using it the thread local storage is queried with my_pthread_getspecific_ptr.

To make the unittest pass:

@@ -1316,6 +1316,7 @@ void test_locker_disabled()
   /* Pretend the socket does not have a thread owner */
   /* ---------------------------------------------- */
 
+  psi->delete_current_thread();
   socket_class_A->m_enabled= true;
   socket_A1= psi->init_socket(socket_key_A, NULL, NULL, 0);
   ok(socket_A1 != NULL, "instrumented");

However, this probably just masks an underlying issue as the m_thread_owner for sockets is now inconsistent.
[10 Jan 2017 13:24] MySQL Verification Team
Hello Vicentiu,

Thank you for the report and feedback!

Thanks,
Umesh
[16 Feb 2017 14:10] Paul DuBois
Posted by developer:
 
Fixed in 5.6.36.

Work was done for test suite. No changelog entry needed.