Details
-
Bug
-
Status: Closed (View Workflow)
-
Critical
-
Resolution: Fixed
-
10.6.16, 10.10.7, 10.11.6, 11.0.4, 10.6.17, 10.11.7, 11.1.3, 11.2.2
Description
While the testing of MDEV-33588, mleich encountered an rr replay trace where the purge_coordinator_task is trying to parse arbitrary data in the middle of an undo log record. I narrowed it down to the following code in purge_sys_t::choose_next_log():
const trx_undo_rec_t *undo_rec= |
trx_undo_page_get_first_rec(b, hdr_page_no, hdr_offset);
|
Here, b is undo log page 13, and hdr_page_no and hdr_offset are related to that. I think that we would benefit from some testing with the following patch to catch the root cause of the corruption sooner:
@@ -134,8 +134,9 @@ trx_undo_page_get_first_rec(const buf_block_t *block, uint32_t page_no,
|
uint16_t offset)
|
{
|
uint16_t start= trx_undo_page_get_start(block, page_no, offset);
|
- return start == trx_undo_page_get_end(block, page_no, offset)
|
- ? nullptr : block->page.frame + start;
|
+ uint16_t end= trx_undo_page_get_end(block, page_no, offset);
|
+ ut_ad(start <= end);
|
+ return start >= end ? nullptr : block->page.frame + start;
|
}
|
|
/** Get the last undo log record on a page. |
In the trace that I analyzed, we would be reading an invalid start value that points outside the page frame.
Attachments
Issue Links
- is caused by
-
MDEV-32050 UNDO logs still growing for write-intensive workloads
-
- Closed
-
- relates to
-
MDEV-33208 InnoDB: Trying to access update undo rec field 50 in index `PRIMARY` of table NNN but index has only 14 fields
-
- Closed
-
-
MDEV-33588 buf::Block_hint is a performance hog
-
- Closed
-
Activity
Field | Original Value | New Value |
---|---|---|
Link |
This issue relates to |
Link |
This issue relates to |
Status | Open [ 1 ] | In Progress [ 3 ] |
Link |
This issue is caused by |
Labels | rr-profile | regression rr-profile-analyzed |
Summary | mach_read_next_much_compressed(const byte**): Assertion `val == 0xFF' failed in purge | The purge of committed history is mis-parsing some log |
Link |
This issue relates to |
Assignee | Marko Mäkelä [ marko ] | Vladislav Lesin [ vlad.lesin ] |
Status | In Progress [ 3 ] | In Review [ 10002 ] |
Affects Version/s | 10.11.7 [ 29519 ] | |
Affects Version/s | 10.6.17 [ 29518 ] | |
Affects Version/s | 11.2.2 [ 29035 ] | |
Affects Version/s | 11.1.3 [ 29023 ] | |
Affects Version/s | 11.0.4 [ 29021 ] | |
Affects Version/s | 10.11.6 [ 29020 ] | |
Affects Version/s | 10.10.7 [ 29018 ] | |
Affects Version/s | 10.6.16 [ 29014 ] | |
Affects Version/s | 10.6 [ 24028 ] |
Assignee | Vladislav Lesin [ vlad.lesin ] | Marko Mäkelä [ marko ] |
Status | In Review [ 10002 ] | Stalled [ 10000 ] |
Fix Version/s | 10.6.18 [ 29627 ] | |
Fix Version/s | 10.11.8 [ 29630 ] | |
Fix Version/s | 11.1.5 [ 29629 ] | |
Fix Version/s | 11.2.4 [ 29631 ] | |
Fix Version/s | 11.4.2 [ 29633 ] | |
Fix Version/s | 11.0.0 [ 28500 ] | |
Fix Version/s | 10.6 [ 24028 ] | |
Fix Version/s | 10.11 [ 27614 ] | |
Resolution | Fixed [ 1 ] | |
Status | Stalled [ 10000 ] | Closed [ 6 ] |
Link |
This issue relates to |