Details
Description
When the server is built with cmake -DWITH_UBSAN=ON using clang instead of GCC, a lot of function pointer mismatch will be reported for various traversal of lock-free hash tables:
10.4 96130b1898d34222d1f0543d75dc1acb6cdb8b09 |
/mariadb/10.4/storage/innobase/include/trx0sys.h:534:12: runtime error: call to function trx_sys_t::copy_one_id(rw_trx_hash_element_t*, trx_sys_t::snapshot_ids_arg*) through pointer to incorrect function type 'char (*)(void *, void *)'
|
/mariadb/10.4/storage/innobase/include/trx0sys.h:1155: note: trx_sys_t::copy_one_id(rw_trx_hash_element_t*, trx_sys_t::snapshot_ids_arg*) defined here
|
Attachments
Issue Links
- blocks
-
MDEV-34348 MariaDB is violating clang-16 -Wcast-function-type-strict
- Closed
- is blocked by
-
MDEV-26272 The macro MASTER_INFO_VAR invokes undefined behaviour
- Closed
- is caused by
-
MDEV-14638 Replace trx_sys_t::rw_trx_set with LF_HASH
- Closed
- relates to
-
MDEV-34237 On Startup: UBSAN: runtime error: call to function MDL_lock::lf_hash_initializer lf_hash_insert through pointer to incorrect function type 'void (*)(st_lf_hash *, void *, const void *)'
- Closed