Details
Description
The task to fix that we can run all mtr tests with a MariaDB server compiled with
UBSAN (UndefinedBehaviorSanitizer) and TSAN (ThreadSanitizer) and fix all run time errors (if possible).
gcc --fsanitize=undefined works at least with gcc 7.5.0 and up.
Attachments
Issue Links
- relates to
-
MDEV-21341 Fix UBSAN failures
-
- Confirmed
-
-
MDEV-22742 UBSAN: Many overflow issues in strings/decimal.c - runtime error: signed integer overflow: x * y cannot be represented in type 'long long int' (on optimized builds)
-
- Closed
-
-
MDEV-24193 UBSAN: sql/sql_acl.cc:9985:29: runtime error: member access within null pointer of type 'struct TABLE'
-
- Open
-
-
MDEV-24198 UBSAN: sql/sql_type_int.h:91:42: runtime error: shift exponent 255 is too large for 64-bit type 'long long unsigned int' (on optimized builds)
-
- Open
-
-
MDEV-24510 Assertion `tmp != ((long long) 0x8000000000000000LL)' failed in TIME_from_longlong_datetime_packed & UBSAN: runtime error: negation of -9223372036854775808 cannot be represented in type 'long long int'
-
- Closed
-
-
MDEV-26272 The macro MASTER_INFO_VAR invokes undefined behaviour
-
- In Review
-
-
MDEV-26814 UBSAN: runtime error: applying non-zero offset 18446744073709551584 to null pointer on JSON_ARRAY_INSERT, runtime error: pointer index expression with base 0x000000000001 overflowed to 0xffffffffffffffe1
-
- Confirmed
-
-
MDEV-26817 runtime error: index 24320 out of bounds for type 'json_string_char_classes [128] *and* ASAN: global-buffer-overflow on address ... READ of size 4 on SELECT JSON_VALID
-
- Closed
-
-
MDEV-26839 UBSAN: null pointer passed as argument 2, which is declared to never be null in maria/ma_key.c on ALTER
-
- Confirmed
-
-
MDEV-26840 UBSAN: load of value 3200171710, which is not a valid value for type 'geometry_type' in sql/unireg.cc on ALTER
-
- Open
-
-
MDEV-28374 UBSAN: runtime error: signed integer overflow: 10000000000000 * 10000000000000 cannot be represented in type 'long long int' in sql/sql_analyse.cc
-
- Confirmed
-
-
MDEV-29473 UBSAN: Signed integer overflow: X * Y cannot be represented in type 'int' in strings/dtoa.c
-
- Closed
-