Details
-
Bug
-
Status: Confirmed (View Workflow)
-
Blocker
-
Resolution: Unresolved
-
11.4.5
-
Fedora41 + gcc (GCC) 14.2.1 20250110 (Red Hat 14.2.1-7)
Description
BUILD: mariadb-lts git_mariadb_11.4.4
on Fedora41 + gcc (GCC) 14.2.1 20250110 (Red Hat 14.2.1-7)
OK
-> log: https://pastebin.com/aHQzV8Qk
BUILD: mariadb-lts git_mariadb_11.4.5
on Fedora41 + gcc (GCC) 14.2.1 20250110 (Red Hat 14.2.1-7)
FAILS
-> https://pastebin.com/5FRnJnfy, line # 907
```
...
/builddir/build/BUILD/mariadb-lts-git_mariadb_11.4.5-build/server.git-e2c746b03313677dd880ed7f5ada49c17c8c1b1c/storage/innobase/include/trx0trx.h: In member function ‘void trx_t::mutex_lock()’:
/builddir/build/BUILD/mariadb-lts-git_mariadb_11.4.5-build/server.git-e2c746b03313677dd880ed7f5ada49c17c8c1b1c/storage/innobase/include/trx0trx.h:674:13: error: ‘mutex_owner’ was not declared in this scope
674 | assert(!mutex_owner.exchange(pthread_self(),
^~~~~~~~~~~ /builddir/build/BUILD/mariadb-lts-git_mariadb_11.4.5-build/server.git-e2c746b03313677dd880ed7f5ada49c17c8c1b1c/storage/innobase/include/trx0trx.h: In member function ‘void trx_t::mutex_unlock()’: /builddir/build/BUILD/mariadb-lts-git_mariadb_11.4.5-build/server.git-e2c746b03313677dd880ed7f5ada49c17c8c1b1c/storage/innobase/include/trx0trx.h:680:12: error: ‘mutex_owner’ was not declared in this scope 680 |
assert(mutex_owner.exchange(0, std::memory_order_relaxed) == |
^~~~~~~~~~~ ... ``` |
Attachments
Issue Links
- is duplicated by
-
MDEV-36113 Compilation fails in storage/innobase/include/trx0trx.h
-
- Closed
-
regression from 43233fe469fd85d7c64978f01ed68de3288d43cc
mutex_owner is behind UNIV_DEBUG
diff --git a/storage/innobase/include/trx0trx.h b/storage/innobase/include/trx0trx.h
index 889437aa1d2..ef11f5edd1c 100644
--- a/storage/innobase/include/trx0trx.h
+++ b/storage/innobase/include/trx0trx.h
@@ -658,10 +658,8 @@ struct trx_t : ilist_node<>
/** mutex protecting state and some of lock
(some are protected by lock_sys.latch) */
srw_spin_mutex mutex;
-#ifdef UNIV_DEBUG
/** The owner of mutex (0 if none); protected by mutex */
std::atomic<pthread_t> mutex_owner{0};
-#endif /* UNIV_DEBUG */
public:
void mutex_init() { mutex.init(); }
void mutex_destroy() { mutex.destroy(); }