Bug #34250 Assertion failed: block->hash_link->pageno < ((1ull) << 40), file .\ma_pagecache
Submitted: 2 Feb 2008 12:49 Modified: 7 Feb 2008 14:22
Reporter: Shane Bester (Platinum Quality Contributor) Email Updates:
Status: Closed Impact on me:
None 
Category:MySQL Server: Maria storage engine Severity:S1 (Critical)
Version:mysql-5.1.23-maria-alpha-pb297 OS:Any
Assigned to: Michael Widenius CPU Architecture:Any

[2 Feb 2008 12:49] Shane Bester
Description:
Importing some data into a table leads to a repeatable assertion with debug binary:

Assertion failed: block->hash_link->pageno < ((1ull) << 40), file .\ma_pagecache.c, line 4313

mysqld.exe!_NMSG_WRITE
mysqld.exe!abort
mysqld.exe!_wassert
mysqld.exe!pagecache_collect_changed_blocks_with_lsn
mysqld.exe!really_execute_checkpoint
mysqld.exe!ma_checkpoint_execute
mysqld.exe!ma_checkpoint_background
mysqld.exe!pthread_start
mysqld.exe!_callthreadstart
mysqld.exe!_threadstart
kernel32.dll!FlsSetValue

How to repeat:
See attached file.
[2 Feb 2008 13:21] Shane Bester
some debug info

Attachment: bug34250_debug_info.txt (text/plain), 9.93 KiB.

[2 Feb 2008 13:58] Guilhem Bichot
the assertion detects that a page has a too high number (page numbers are stored in 5 bytes in log records and checkpoint record, so they should not be >= 1<<40); here the page number is 2251799813685247 which 2048 * 1<<40 - 1.
The assertion is good, there must be a bug elsewhere in Maria.
We should check where hash_link->pageno is set.
[4 Feb 2008 22:08] Guilhem Bichot
verified on linux
[7 Feb 2008 14:22] Guilhem Bichot
After this relevant cset:
ChangeSet@1.2562.4.1, 2008-02-06 22:06:37+02:00, monty@mysql.com +1 -0
  Fixed bug in _ma_lock_key_del() when key link is locked and there is no freed
pages
I cannot repeat the bug anymore.