[MDEV-5181] incorrect binary search in remove_status_vars() Created: 2013-10-24 Updated: 2013-11-08 Resolved: 2013-11-08 |
|
| Status: | Closed |
| Project: | MariaDB Server |
| Component/s: | None |
| Affects Version/s: | 10.0.4, 5.5.33a |
| Fix Version/s: | 5.5.34, 10.0.6 |
| Type: | Bug | Priority: | Critical |
| Reporter: | Sergei Golubchik | Assignee: | Alexander Barkov |
| Resolution: | Fixed | Votes: | 1 |
| Labels: | plugins | ||
| Description |
|
On INSTALL SONAME 'ha_tokudb.so' when TokuDB cannot be installed (for example, because transparent hugepages are enabled), MariaDB hangs. The reason is the remove_status_vars() function that has incorrectly implemented binary search to remove plugin variables from the all-variables list. The code
in my test, a=129, b=130. So, c=129, in comparison I get res > 0, and the loop continues till infinity. |
| Comments |
| Comment by Patryk Pomykalski [ 2013-11-06 ] |
|
I came up with something like this: — sql/sql_show.cc 2013-07-16 17:09:54 +0000 for (; list->name; list++)
|
| Comment by Alexander Barkov [ 2013-11-08 ] |
|
Pushed into 5.1, 5.2, 5.3, 5.5, 10.0-base. |