From: Dmitry Shulga Date: January 20 2012 10:10am Subject: bzr push into mysql-trunk branch (Dmitry.Shulga:3754 to 3755) Bug#13070308 List-Archive: http://lists.mysql.com/commits/142488 X-Bug: 13070308 Message-Id: <201201200908.q0K98WW1006132@acsmt356.oracle.com> MIME-Version: 1.0 Content-Type: text/plain; charset="us-ascii" Content-Transfer-Encoding: 7bit 3755 Dmitry Shulga 2012-01-20 [merge] Auto-merge of patch for bug#13070308 from mysql-5.5 tree. modified: mysql-test/r/xa.result mysql-test/t/xa.test 3754 Vasil Dimov 2012-01-18 Revert sunny.bains@stripped The asm code that was introduced in that revision causes a crash in ut_cpuid() when that function is not inlined, e.g. compiled with an attribute ``__attribute__((noinline))'' or with gcc's -fno-inline. The crash only happens on some 64 bit platforms, fimafeng09.no.oracle.com for example. It is not clear what sunny.bains@stripped was trying to address, but the old code (before that changeset) does pass all tests currently. Should any problems arise later (the ones that the reverted changeset was addressing) and if they are due to C vs. C++ difference we could add ``extern "C"'' to the function ut_cpuid(). Discussed with: Marko and Sunny (via IM) modified: storage/innobase/ut/ut0crc32.cc === modified file 'mysql-test/r/xa.result' --- a/mysql-test/r/xa.result 2011-12-22 10:38:23 +0000 +++ b/mysql-test/r/xa.result 2012-01-20 10:07:05 +0000 @@ -217,12 +217,14 @@ INSERT INTO t2 SELECT a FROM t1; # Connection default # Waiting until INSERT ... is blocked DELETE FROM t1; -COMMIT; # Connection con2 # Reaping: INSERT INTO t2 SELECT a FROM t1 ERROR 40001: Deadlock found when trying to get lock; try restarting transaction XA COMMIT 'xid1'; ERROR XA102: XA_RBDEADLOCK: Transaction branch was rolled back: deadlock was detected +# Connection default +COMMIT; +# Connection con2 XA START 'xid1'; XA END 'xid1'; XA PREPARE 'xid1'; === modified file 'mysql-test/t/xa.test' --- a/mysql-test/t/xa.test 2011-12-22 09:27:58 +0000 +++ b/mysql-test/t/xa.test 2012-01-20 10:07:05 +0000 @@ -364,7 +364,6 @@ let $wait_condition= --echo # Waiting until INSERT ... is blocked --source include/wait_condition.inc DELETE FROM t1; -COMMIT; --echo # Connection con2 --connection con2 @@ -373,6 +372,14 @@ COMMIT; --reap --error ER_XA_RBDEADLOCK XA COMMIT 'xid1'; + +--echo # Connection default +connection default; + +COMMIT; + +--echo # Connection con2 +connection con2; # This caused the assert to be triggered XA START 'xid1'; No bundle (reason: useless for push emails).