From: Tor Didriksen Date: October 17 2012 3:14pm Subject: bzr push into mysql-5.6 branch (tor.didriksen:4497 to 4498) Bug#14689561 List-Archive: http://lists.mysql.com/commits/145063 X-Bug: 14689561 Message-Id: <20121017151439.23790.79625.4498@atum07.no.oracle.com> MIME-Version: 1.0 Content-Type: text/plain; charset="us-ascii" Content-Transfer-Encoding: 7bit 4498 Tor Didriksen 2012-10-17 Bug#14689561 - SERVER CRASH ON CONNECTING CLIENT Post-push fix: We must call hash_filo::clear() to initialize the mutex, before calling resize(0). modified: unittest/gunit/segfault-t.cc 4497 Tor Didriksen 2012-10-17 Bug#14771006 SHOW PROCESSLIST SORT ORDER CHANGED IN 5.6 'SHOW PROCESSLIST' has traditionally returned the result ordered by thread_id, so do the same now, even if the THD-list is a std::set. Solution: Convert thread_infos from intrusive list, to array of pointers, and std::sort it. modified: sql/global_threads.h sql/sql_show.cc === modified file 'unittest/gunit/segfault-t.cc' --- a/unittest/gunit/segfault-t.cc 2012-10-16 08:39:32 +0000 +++ b/unittest/gunit/segfault-t.cc 2012-10-17 15:11:15 +0000 @@ -180,16 +180,19 @@ TEST(PrintUtilities, Printf) EXPECT_STREQ(sprintfbuff, buff); } -TEST_F(FatalSignalDeathTest, TestHashFiloZeroSize) + +// After the fix for Bug#14689561, this is no longer a death test. +TEST(HashFiloTest, TestHashFiloZeroSize) { hash_filo *t_cache; t_cache= new hash_filo(5, 0, 0, (my_hash_get_key) NULL, (my_hash_free_key) NULL, NULL); + t_cache->clear(); t_cache->resize(0); hash_filo_element entry; - //after resize (to zero) it tries to dereference last_link which is NULL + // After resize (to zero) it tries to dereference last_link which is NULL. t_cache->add(&entry); delete t_cache; } No bundle (reason: useless for push emails).