diff options
author | Jan Lindström <jan.lindstrom@mariadb.com> | 2016-11-09 15:17:55 +0200 |
---|---|---|
committer | Jan Lindström <jan.lindstrom@mariadb.com> | 2016-11-09 15:17:55 +0200 |
commit | ada3d7581bd619a729f1243a730499eb4d07b054 (patch) | |
tree | bc6a72a8edc73548e80f373cabc57bd7e234afcc | |
parent | 8e5f532dc2cb5922ee59fd6c9a33e9d1614b7b05 (diff) | |
download | mariadb-git-ada3d7581bd619a729f1243a730499eb4d07b054.tar.gz |
MDEV-10692: InnoDB: Failing assertion: lock->trx->lock.wait_lock == lock
When we enter here wait_lock could be already gone i.e. NULL, that
should be allowed.
-rw-r--r-- | storage/innobase/lock/lock0lock.cc | 5 |
1 files changed, 3 insertions, 2 deletions
diff --git a/storage/innobase/lock/lock0lock.cc b/storage/innobase/lock/lock0lock.cc index d17cef18f76..12a79aacb4a 100644 --- a/storage/innobase/lock/lock0lock.cc +++ b/storage/innobase/lock/lock0lock.cc @@ -779,7 +779,8 @@ lock_reset_lock_and_trx_wait( ut_ad(lock_get_wait(lock)); ut_ad(lock_mutex_own()); - if (lock->trx->lock.wait_lock != lock) { + if (lock->trx->lock.wait_lock && + lock->trx->lock.wait_lock != lock) { const char* stmt=NULL; const char* stmt2=NULL; size_t stmt_len; @@ -800,7 +801,7 @@ lock_reset_lock_and_trx_wait( << " and statement " << (stmt2 ? stmt2 : "NULL") << "wait_lock " << lock->trx->lock.wait_lock; - ut_error; + ut_ad(lock->trx->lock.wait_lock != lock); } lock->trx->lock.wait_lock = NULL; |