Details
-
Bug
-
Status: Closed (View Workflow)
-
Major
-
Resolution: Done
-
10.1(EOL), 10.2(EOL), 10.3(EOL), 10.4(EOL)
Description
According to marko, running tests under UBSAN produces a lot of runtime failures relating to the optimizer (example output attached)
We need to take these apart and fix them.
How to reproduce:
cmake -DWITH_UBSAN=ON
|
...
run mtr like so
UBSAN_OPTIONS=print_stacktrace=1:halt_on_error=1 ./mtr alias
|
Attachments
Issue Links
- relates to
-
MDEV-21521 UBSan crashes in MYSQL_BIN_LOG::open
-
- Closed
-
-
MDEV-21692 UBSAN error: load of value 2779096485, which is not a valid value for type enum_binlog_format
-
- Closed
-
-
MDEV-25454 Make MariaDB server UBSAN safe
-
- Confirmed
-
Roel, do you have evidence that both WITH_ASAN and WITH_UBSAN can really be enabled simultaneously? I thought that the various -fsanitize= options are mutually exclusive. How does the actual compiler invocation look like?
I believe that -fsanitize=undefined is a little different from the others, until all flagged errors have been fixed. When it comes to WITH_ASAN, we should be clean, and aborting on the first error makes perfect sense. For WITH_MSAN we are almost there (see
MDEV-20377) and might consider running with MSAN_OPTIONS=abort_on_error=1, but for WITH_UBSAN and especially WITH_TSAN I am afraid that we still have a long way to go. It might help to file more WITH_UBSAN bugs.