Bug #43014 ma_blockrec.c:6185: _ma_apply_redo_insert_row_head_or_tail: Assertion `0' failed
Submitted: 19 Feb 2009 11:13 Modified: 26 May 2010 17:51
Reporter: Philip Stoev Email Updates:
Status: Unsupported Impact on me:
None 
Category:MySQL Server: Maria storage engine Severity:S1 (Critical)
Version:6.0-maria OS:Any
Assigned to: CPU Architecture:Any

[19 Feb 2009 11:13] Philip Stoev
Description:
When attempting to reproduce bug #42648 , the same test produced a recovery failure as follows:

# 13:08:17 090219 13:08:17 [Note] mysqld: Maria engine: starting recovery
# 13:08:17 recovered pages: 0% 10% 20% 30% 40% 50% 60% 70%mysqld: ma_blockrec.c:6185: _ma_apply_redo_insert_row_head_or_tail: Assertion `0' failed.

#6  0x000000315a42bec9 in __assert_fail () from /lib64/libc.so.6
#7  0x0000000000bc7588 in _ma_apply_redo_insert_row_head_or_tail (info=0x7fc5910fdae8, lsn=4298821424, page_type=1, new_page=0 '\0',
    header=0x7fc5910cd36a "\002", data=0x7fc5910cd370 "\200\001\005", data_length=545) at ma_blockrec.c:6185
#8  0x0000000000c111a8 in exec_REDO_LOGREC_REDO_INSERT_ROW_HEAD (rec=0x7fff9dfde280) at ma_recovery.c:1355
#9  0x0000000000c0f5d1 in display_and_apply_record (log_desc=0x1d933e8, rec=0x7fff9dfde280) at ma_recovery.c:510
#10 0x0000000000c13b7f in run_redo_phase (lsn=4294976665, apply=MARIA_LOG_APPLY) at ma_recovery.c:2498
#11 0x0000000000c0ef2d in maria_apply_log (from_lsn=4294976665, apply=MARIA_LOG_APPLY, trace_file=0x7fc590e440a0, should_run_undo_phase=1 '\001',
    skip_DDLs_arg=1 '\001', take_checkpoints=1 '\001', warnings_count=0x7fff9dfe0c50) at ma_recovery.c:311
#12 0x0000000000c0eccc in maria_recovery_from_log () at ma_recovery.c:214
#13 0x0000000000b84392 in ha_maria_init (p=0x7fc590ae69e8) at ha_maria.cc:3047
#14 0x000000000081b57a in ha_initialize_handlerton (plugin=0x7fc590196340) at handler.cc:450
#15 0x00000000008d1c94 in plugin_initialize (plugin=0x7fc590196340) at sql_plugin.cc:1008
#16 0x00000000008d53d9 in plugin_init (argc=0x13288c0, argv=0x7fc590107ae0, flags=0) at sql_plugin.cc:1220
#17 0x00000000006c6da0 in init_server_components () at mysqld.cc:4136
#18 0x00000000006c7897 in main (argc=11, argv=0x7fff9dfe1408) at mysqld.cc:4649

(gdb) list
6180        pagecache_unlock_by_link(share->pagecache, page_link.link,
6181                                 PAGECACHE_LOCK_WRITE_UNLOCK,
6182                                 PAGECACHE_UNPIN, LSN_IMPOSSIBLE,
6183                                 LSN_IMPOSSIBLE, 0, FALSE);
6184      _ma_mark_file_crashed(share);
6185      DBUG_ASSERT(0); /* catch recovery errors early */
6186      DBUG_RETURN((my_errno= error));
6187    }
6188
6189

How to repeat:
The tablespace will be uploaded shortly.
[19 Feb 2009 11:15] Philip Stoev
This recovery failure is reproducible using the tablespace from:

http://fedora10.dyndns.org/bug43014-2.zip
[5 Mar 2009 10:03] Guilhem Bichot
could reproduce it with provided tables.
[5 Mar 2009 13:36] Guilhem Bichot
I was able to generate data which causes such crash, with latest 6.0-maria, so this is not an already-fixed bug.
[5 Mar 2009 13:39] Guilhem Bichot
just start mysqld on this datadir, it will assert

Attachment: bug43014-datadir.tar.bz2 (application/x-bzip2, text), 491.36 KiB.