Details
-
Task
-
Status: Closed (View Workflow)
-
Major
-
Resolution: Fixed
-
None
Description
The fix to the mentioned MDEV (checksum calculation for row compression + encryption introduced a bug noticed by both me and anikitin.
Andrii Nikitin added a comment - Yesterday
For me current mtr test xb_compressed_encrypted.test is still crashing occasionally with stack below:
xtrabackup.exe!mach_read_from_4()[mach0data.ic:186]
|
xtrabackup.exe!fil_space_verify_crypt_checksum()[fil0crypt.cc:955]
|
xtrabackup.exe!xb_fil_cur_read()[fil_cur.cc:349]
|
xtrabackup.exe!xtrabackup_copy_datafile()[xtrabackup.cc:2418]
|
xtrabackup.exe!data_copy_thread_func()[xtrabackup.cc:2934]
|
It appears in debugger that memory passed to mach_read_from_4 above is either corrupted or garbage
wlad Vladislav Vaintroub added a comment - 2 minutes ago
I had this, too.
The immediate reason seem to be that fil_space_verify_crypt_checksum() expects a page of the size UNIV_PAGE_SIZE, 16K
And it checks the checksum at the end of this 16K
However, the passed page had (from xtrabackup POV) page size of 8K , and also zip_size ok 8K.
That page was the last one, the end of allocated region, thus attempt to read 8K past allocated region crashed.