[MDEV-28828] SIGSEGV in buf_flush_LRU_list_batch Created: 2022-06-14 Updated: 2022-06-16 Resolved: 2022-06-14 |
|
| Status: | Closed |
| Project: | MariaDB Server |
| Component/s: | Storage Engine - InnoDB |
| Affects Version/s: | 10.5.16, 10.6.8, 10.7.4, 10.8.3, 10.9.1, 10.10 |
| Fix Version/s: | 10.5.17, 10.6.9, 10.7.5, 10.8.4, 10.9.2 |
| Type: | Bug | Priority: | Blocker |
| Reporter: | Roel Van de Paar | Assignee: | Marko Mäkelä |
| Resolution: | Fixed | Votes: | 1 |
| Labels: | crash, regression-10.5 | ||
| Attachments: |
|
||||||||||||||||
| Issue Links: |
|
||||||||||||||||
| Description |
|
This following bug was observed:
However, all attempts at reproduction have so far failed. This ticket in the hope that there is sufficient information to find the issue. |
| Comments |
| Comment by Roel Van de Paar [ 2022-06-14 ] | ||||||||||||||||||||||||||||
|
A C-based client (pquery) was in use when the issue happened, if it matters.
| ||||||||||||||||||||||||||||
| Comment by Roel Van de Paar [ 2022-06-14 ] | ||||||||||||||||||||||||||||
|
The failure seems to have been on this command:
| ||||||||||||||||||||||||||||
| Comment by Marko Mäkelä [ 2022-06-14 ] | ||||||||||||||||||||||||||||
|
The crash occurs due to dereferencing a null pointer:
The indicated source code line is the following:
The value of bpage is not directly available. rbx contains &buf_pool. The offset 0x4430 refers to buf_pool.lru_hp.m_hp, which is nullptr in the core dump. But this does not match the above source code line. The generated code perfectly matches the following code (the goto was optimized away):
Side note: This branch preview-10.10- It looks like the code was compiled with PLUGIN_PERFSCHEMA=NO. The code is indeed blindly dereferencing the null pointer that was returned by buf_pool.lru_hp.get(). Before | ||||||||||||||||||||||||||||
| Comment by Roel Van de Paar [ 2022-06-14 ] | ||||||||||||||||||||||||||||
|
Confirming CMAKE command used -DPLUGIN_PERFSCHEMA=NO
|