Details
-
Task
-
Status: Stalled (View Workflow)
-
Major
-
Resolution: Unresolved
-
Sprint 7 (07.04.2025)
Description
There are a number of compiler defines that fake initialization LINT_INIT and UNINIT_VAR for example.
With modern static analysers and the current usage, these are very shallow path to determine the initialisation did happen.
Its better to catch these uninitialised values.
Faking over the initialisation of variables in debug mode is likely to have a release build without the correct initialization.
The UNINIT_VAR(x) x= x construct was causing UBSAN issues like:
sql/sql_view.cc:1299:8: runtime error: load of value 16, which is not a valid value for type 'bool'
|
Attachments
Issue Links
- blocks
-
MDBF-741 Remove the gcc UBSAN builder to use the clang based UBSAN
-
- In Testing
-
- relates to
-
MDEV-35589 UBSAN: runtime error: load of value 21/58, which is not a valid value for type 'bool' in extract_date_time
-
- Open
-
-
MDEV-35590 UBSAN: runtime error: load of value 43, which is not a valid value for type 'bool' on I_S SELECT
-
- Open
-
Monty, can I get a review of https://github.com/MariaDB/server/pull/3961 please.