[MDEV-9236] Dramatically overallocation of InnoDB buffer pool leads to crash Created: 2015-12-03 Updated: 2023-04-27 |
|
| Status: | Open |
| Project: | MariaDB Server |
| Component/s: | Storage Engine - InnoDB |
| Affects Version/s: | 10.1.9 |
| Fix Version/s: | 10.6, 10.11 |
| Type: | Bug | Priority: | Major |
| Reporter: | Oli Sennhauser | Assignee: | Marko Mäkelä |
| Resolution: | Unresolved | Votes: | 0 |
| Labels: | memory_exhaustion | ||
| Environment: |
Linux, Ubuntu 14.04 |
||
| Issue Links: |
|
||||||||
| Description |
|
my.cnf
|
| Comments |
| Comment by Elena Stepanova [ 2015-12-16 ] |
|
Error 12 does indicate that the memory could not be allocated. |
| Comment by Jan Lindström (Inactive) [ 2015-12-16 ] |
|
There is no way I can fix all possible memory allocation failures in GA product not to crash inside a InnoDB, but maybe this buffer pool over-allocation problem is feasible to be fixed. InnoDB has traditionally selected crashing when something goes wrong, not to shutdown cleanly, that change is also out of reach on GA product. |
| Comment by Jan Lindström (Inactive) [ 2015-12-17 ] |
|
There is already error handling on buffer pool initialization and --innodb_buffer_pool_populate=ON would also help here. |
| Comment by Jan Lindström (Inactive) [ 2015-12-17 ] |
|
Hi, Can you provide full error log and if possible use resolve_stack_dump for above addresses. |
| Comment by Marko Mäkelä [ 2023-04-11 ] |
|
oli, this very old bug was just assigned to me. Can you please try to see what would happen in MariaDB Server 10.6 in this case? The buffer pool initialization was greatly simplified there. If there still is a problem, it would make a good test case for MDEV-29445. |
| Comment by Oli Sennhauser [ 2023-04-17 ] |
|
Hi Marko I tried:
...
2023-04-17 11:29:08 0 [Note] InnoDB: Initializing buffer pool, total size = 137438953472, chunk size = 134217728
2023-04-17 11:26:58 0 [Note] InnoDB: Initializing buffer pool, total size = 128.000GiB, chunk size = 2.000GiB Thanks and Regards, Oli |
| Comment by Marko Mäkelä [ 2023-04-17 ] |
|
Thank you, oli. It is possible that Linux would overcommit the memory and actually allocate it later as part of copy-on-write. That is, excessive swapping or an OOM kill could happen later when the memory is actually being used. I will retain this ticket open for now, to be tested when we work on MDEV-29445. |