[MDEV-28381] InnoDB page number mismatch by 0x100000 Created: 2022-04-21 Updated: 2022-08-01 Resolved: 2022-08-01 |
|
| Status: | Closed |
| Project: | MariaDB Server |
| Component/s: | Storage Engine - InnoDB |
| Affects Version/s: | 10.9 |
| Fix Version/s: | N/A |
| Type: | Bug | Priority: | Major |
| Reporter: | Marko Mäkelä | Assignee: | Marko Mäkelä |
| Resolution: | Cannot Reproduce | Votes: | 0 |
| Labels: | corruption | ||
| Environment: |
Debian GNU/Linux Sid, x86 (32-bit) user space on AMD64, GCC 11.2.0 |
||
| Description |
|
When testing the fix of
The page number difference is exactly 1<<20, a constant that occurs in the function page_id_t::fold(). This failure is independent of the There is a debug assertion in mtr_t::page_lock() that also catches this:
The cause is not obvious to me. cmake -DWITH_UBSAN=ON is not reporting anything before the crash. The test does not fail on 64-bit platforms. |
| Comments |
| Comment by Marko Mäkelä [ 2022-08-01 ] |
|
I don’t think that 10.8 and 10.9 have changed much in this respect. Regretfully, I did not write down which compiler version I was using. Today, I tried to repeat this with GCC 12.1.0 and the current 10.8 f79cebb4d02a7b5151ac617bc762c3e094436562. Both Debug and RelWithDebInfo builds of the server passed the test. I think that we can dismiss this to be something caused by a bug in an early version of GCC 11 or 12. |