Details
-
Bug
-
Status: Closed (View Workflow)
-
Critical
-
Resolution: Fixed
-
10.5
Description
Caught by UBSAN:
/home/buildbot/buildbot/build/mariadb-10.5.28/sql/sql_base.h:357:29: runtime error: shift exponent 64 is too large for 64-bit type 'long long unsigned int'
|
This happens inside setup_table_map() when tablenr==64 while table->map is a 64-bit integer, so there's an overflow.
Needs to figure out why there's no error generated when tablenr==MAX_TABLES and optionally add DBUG_ASSERT(tablenr < MAX_TABLES) to setup_table_map() to be able to catch such situations without running UBSAN.
Attachments
Issue Links
- is caused by
-
MDEV-29935 Server crashes in get_sort_by_table/make_join_statistics after INSERT into a view with ORDER BY
-
- Closed
-
Activity
Field | Original Value | New Value |
---|---|---|
Summary | Table number > 64 causes overflow of table_map at main.join test | Table number >= MAX_TABLES causes overflow of table_map at main.join test |
Link |
This issue is caused by |
Fix Version/s | 10.5 [ 23123 ] |
Labels | regression |
Priority | Major [ 3 ] | Critical [ 2 ] |
Description |
Caught by UBSAN:
{code} /home/buildbot/buildbot/build/mariadb-10.5.28/sql/sql_base.h:357:29: runtime error: shift exponent 64 is too large for 64-bit type 'long long unsigned int' {code} This happens inside setup_table_map() when tablenr==64 (MAX_TABLES) while table->map is a 64-bit integer, so there's an overflow. Needs to figure out why there's no error generated when tablenr==MAX_TABLES and optionally add DBUG_ASSERT(tablenr < MAX_TABLES) to setup_table_map() to be able to catch such situations without running UBSAN. |
Caught by UBSAN:
{code} /home/buildbot/buildbot/build/mariadb-10.5.28/sql/sql_base.h:357:29: runtime error: shift exponent 64 is too large for 64-bit type 'long long unsigned int' {code} This happens inside setup_table_map() when tablenr==64 while table->map is a 64-bit integer, so there's an overflow. Needs to figure out why there's no error generated when tablenr==MAX_TABLES and optionally add DBUG_ASSERT(tablenr < MAX_TABLES) to setup_table_map() to be able to catch such situations without running UBSAN. |
Summary | Table number >= MAX_TABLES causes overflow of table_map at main.join test | Table number > MAX_TABLES causes overflow of table_map at main.join test |
Status | Open [ 1 ] | In Progress [ 3 ] |
Assignee | Oleg Smirnov [ JIRAUSER50405 ] | Oleksandr Byelkin [ sanja ] |
Status | In Progress [ 3 ] | In Review [ 10002 ] |
Assignee | Oleksandr Byelkin [ sanja ] | Oleg Smirnov [ JIRAUSER50405 ] |
Status | In Review [ 10002 ] | Stalled [ 10000 ] |
Component/s | Server [ 13907 ] | |
Fix Version/s | 10.5.28 [ 29952 ] | |
Fix Version/s | 10.5 [ 23123 ] | |
Resolution | Fixed [ 1 ] | |
Status | Stalled [ 10000 ] | Closed [ 6 ] |
Fix Version/s | 10.6.21 [ 29953 ] | |
Fix Version/s | 10.11.11 [ 29954 ] | |
Fix Version/s | 11.4.5 [ 29956 ] | |
Fix Version/s | 11.7.2 [ 29914 ] |
sanja, please review the fix bb-10.5-
MDEV-35680.