[MDEV-27967] Assertion !buf_pool.any_io_pending() failed in srv_prepare_to_delete_redo_log_file() Created: 2022-03-01 Updated: 2022-03-01 Resolved: 2022-03-01 |
|
| Status: | Closed |
| Project: | MariaDB Server |
| Component/s: | Storage Engine - InnoDB |
| Affects Version/s: | 10.5, 10.6, 10.7, 10.8 |
| Fix Version/s: | 10.5.16, 10.6.8, 10.7.4, 10.8.3 |
| Type: | Bug | Priority: | Major |
| Reporter: | Marko Mäkelä | Assignee: | Marko Mäkelä |
| Resolution: | Fixed | Votes: | 0 |
| Labels: | debug, race | ||
| Description |
|
The log resizing test occasionally fails like this:
I was able to reproduce this failure locally by running this test 120 times in parallel with itself (3 times the number of hardware threads reported by nproc). In the core dump, the assertion would have held. Therefore, it looks like we must actually protect the reads in this debug assertion with buf_pool.mutex in order to avoid false alarms. With the following patch, I am not able to reproduce any crash. The function is only being called by debug assertions (which are not present in release builds).
|
| Comments |
| Comment by Marko Mäkelä [ 2022-03-01 ] | ||||||||||
|
Here is the result of my local testing:
|