From: Date: August 12 2008 3:42pm Subject: bzr commit into mysql-6.0-falcon branch (olav:2775) Bug#35932 List-Archive: http://lists.mysql.com/commits/51417 X-Bug: 35932 Message-Id: <20080812134252.6466.qmail@khepri11> MIME-Version: 1.0 Content-Type: text/plain; charset="us-ascii" Content-Transfer-Encoding: 7bit #At file:///home/os136802/mysql/develop/repo/falcon-bug35932/ 2775 Olav Sandstaa 2008-08-12 Initial fix to Bug#35932 Falcon crashes in Transaction::commitNoUpdates for simple SELECT queries Changed the failing assert so that it handles that the transition of the Transaction object from Active to Available is not "atomic" when seen from a thread not having locked the transaction object. modified: storage/falcon/Transaction.cpp per-file messages: storage/falcon/Transaction.cpp Change the assert to handle that the transition of the Transaction object from Active to Available is not "atomic". === modified file 'storage/falcon/Transaction.cpp' === modified file 'storage/falcon/Transaction.cpp' --- a/storage/falcon/Transaction.cpp 2008-07-31 10:04:30 +0000 +++ b/storage/falcon/Transaction.cpp 2008-08-12 13:42:43 +0000 @@ -778,7 +778,8 @@ if (COMPARE_EXCHANGE_POINTER(&state->transaction, transaction, NULL)) { - ASSERT(transaction->transactionId == state->transactionId || transaction->state == Available); + ASSERT(transaction->transactionId == state->transactionId || transaction->transactionId == 0); + ASSERT(transaction->state == Active || transaction->state == Available); transaction->releaseDependency(); } }