[MDEV-31450] mem_root->flags corruption in calculate_block_sizes Created: 2023-06-10 Updated: 2023-06-30 Resolved: 2023-06-30 |
|
| Status: | Closed |
| Project: | MariaDB Server |
| Component/s: | Server |
| Affects Version/s: | 10.7, 10.8, 10.9, 10.10, 10.11, 11.1 |
| Fix Version/s: | 10.9.8, 10.11.5, 11.0.3 |
| Type: | Bug | Priority: | Minor |
| Reporter: | Yury Chaikou | Assignee: | Michael Widenius |
| Resolution: | Fixed | Votes: | 0 |
| Labels: | None | ||
| Description |
|
&= changes mem_root->flags, which makes condition always true mysys/my_alloc.c
|
| Comments |
| Comment by Daniel Black [ 2023-06-13 ] |
|
Thanks Yury, I've put you as the author of this fix on https://github.com/MariaDB/server/pull/2668. Note, being &= it doesn't make it always true, but it does clear other flags like ROOT_FLAG_THREAD_SPECIFIC. |
| Comment by Yury Chaikou [ 2023-06-13 ] |
|
Yes, that is right, it will not make the condition always true. |
| Comment by Daniel Black [ 2023-06-13 ] |
|
I'd be tempted to remove MALLOC_FLAG as its not actually used. But I'll leave that to Monty to decide in review. |
| Comment by Michael Widenius [ 2023-06-30 ] |
|
This has already been fixed and pushed to 10.9 The effect was that that ROOT_FLAG_THREAD_SPECIFIC was cleared and This exposed a bug in how "show explain for ..." allocated data.
Other things:
Reported by: Yury Chaikou |
| Comment by Michael Widenius [ 2023-06-30 ] |
|
Already fixed |