Uploaded image for project: 'MariaDB Server'
  1. MariaDB Server
  2. MDEV-2738

LP:602604 - RQG: ma_blockrec.c:6187: _ma_apply_redo_insert_row_head_or_tail: Assertion `0' failed on Maria engine recovery

    Details

    • Type: Bug
    • Status: Closed
    • Priority: Major
    • Resolution: Fixed
    • Affects Version/s: None
    • Fix Version/s: None
    • Component/s: None
    • Labels:

      Description

      Mysql bug #43014 is still repeatable with Maria 5.2. On recovery of a table containing a lot of indexes on big fields, the following assertion occurs:

      mysqld: ma_blockrec.c:6187: _ma_apply_redo_insert_row_head_or_tail: Assertion `0' failed.

      #8 0x00897de8 in __assert_fail () from /lib/libc.so.6
      #9 0x0855b590 in _ma_apply_redo_insert_row_head_or_tail (info=0xa02c818, lsn=4296390922, page_type=1, new_page=0 '\000', header=0xa003ee2 "\003",
      data=0xa003ee8 "", data_length=1968) at ma_blockrec.c:6187
      #10 0x085a453e in exec_REDO_LOGREC_REDO_INSERT_ROW_HEAD (rec=0xbfabfa60) at ma_recovery.c:1373
      #11 0x085a26db in display_and_apply_record (log_desc=0x9261528, rec=0xbfabfa60) at ma_recovery.c:528
      #12 0x085a6fe3 in run_redo_phase (lsn=4294975495, apply=MARIA_LOG_APPLY) at ma_recovery.c:2518
      #13 0x085a2047 in maria_apply_log (from_lsn=4294975495, apply=MARIA_LOG_APPLY, trace_file=0x9fbf7a0, should_run_undo_phase=1 '\001', skip_DDLs_arg=1 '\001',
      take_checkpoints=1 '\001', warnings_count=0xbfac25e4) at ma_recovery.c:317
      #14 0x085a1d28 in maria_recovery_from_log () at ma_recovery.c:218
      #15 0x08527735 in ha_maria_init (p=0x9fb13a0) at ha_maria.cc:3251
      #16 0x0839ed0d in ha_initialize_handlerton (plugin=0x9fa3090) at handler.cc:430
      #17 0x0845b23b in plugin_initialize (plugin=0x9fa3090) at sql_plugin.cc:1239
      #18 0x0845bab1 in plugin_init (argc=0x8a4a6d8, argv=0x9f71590, flags=0) at sql_plugin.cc:1467
      #19 0x0826eb4b in init_server_components () at mysqld.cc:4126
      #20 0x0826f611 in main (argc=16, argv=0xbfac2be4) at mysqld.cc:4600

      Datadir from before recovery:

      http://bugs.mysql.com/file.php?id=11479

      RQG command line:

      1. 2010-07-07T02:01:39 # runall.pl \
      2. 2010-07-07T02:01:39 # --basedir=/home/philips/bzr/5.2/ \
      3. 2010-07-07T02:01:39 # --grammar=conf/engines/many_indexes.yy \
      4. 2010-07-07T02:01:39 # --gendata=conf/engines/many_indexes.zz \
      5. 2010-07-07T02:01:39 # --reporter=Recovery \
      6. 2010-07-07T02:01:39 # --duration=30 \
      7. 2010-07-07T02:01:39 # --queries=1M \
      8. 2010-07-07T02:01:39 # --engine=Maria \
      9. 2010-07-07T02:01:39 # --rows=1000 \
      10. 2010-07-07T02:01:39 # -mysqld=-maria-checkpoint-interval=0 \
      11. 2010-07-07T02:01:39 # -mysqld=-log-output=file \
      12. 2010-07-07T02:01:39 # --vardir=/home/philips/tmp/z2 \
      13. 2010-07-07T02:01:39 # -mysqld=-loose-skip-innnodb \
      14. 2010-07-07T02:01:39 # --seed=time

        Gliffy Diagrams

          Attachments

            Activity

            Hide
            monty Michael Widenius added a comment -

            Re: RQG: ma_blockrec.c:6187: _ma_apply_redo_insert_row_head_or_tail: Assertion `0' failed on Maria engine recovery
            I tried to use the provided test files, but this didn't work for me.
            The data in the .frm file is using a not supported character set::

            How to verify this:
            copy table100_maria_int_autoinc.* to datadir/test and do in the MySQL monitor:
            show create table table100_maria_int_autoinc

            I get the error:
            Unknown collation '#60' in table 'table100_maria_int_autoinc' definition

            I got this even when I recompiled MariaDB with --extra-charsets=all
            When looking a the source, it looks like there is no character set 60 anymore, so I don't know how the test tables where created.

            Will now try to see if I can run the test case instead.

            Show
            monty Michael Widenius added a comment - Re: RQG: ma_blockrec.c:6187: _ma_apply_redo_insert_row_head_or_tail: Assertion `0' failed on Maria engine recovery I tried to use the provided test files, but this didn't work for me. The data in the .frm file is using a not supported character set:: How to verify this: copy table100_maria_int_autoinc.* to datadir/test and do in the MySQL monitor: show create table table100_maria_int_autoinc I get the error: Unknown collation '#60' in table 'table100_maria_int_autoinc' definition I got this even when I recompiled MariaDB with --extra-charsets=all When looking a the source, it looks like there is no character set 60 anymore, so I don't know how the test tables where created. Will now try to see if I can run the test case instead.
            Hide
            philipstoev Philip Stoev added a comment -

            A fresh data directory plus core file for the recovery crash.

            bzr version-info:

            revision-id: <email address hidden>
            date: 2010-07-17 12:58:08 -0700
            build-date: 2010-07-19 21:27:54 +0300
            revno: 2826
            branch-nick: 5.2

            var-bug602604.zip
            LPexportBug602604_var-bug602604.zip

            Show
            philipstoev Philip Stoev added a comment - A fresh data directory plus core file for the recovery crash. bzr version-info: revision-id: <email address hidden> date: 2010-07-17 12:58:08 -0700 build-date: 2010-07-19 21:27:54 +0300 revno: 2826 branch-nick: 5.2 var-bug602604.zip LPexportBug602604_var-bug602604.zip
            Hide
            philipstoev Philip Stoev added a comment -

            Re: RQG: ma_blockrec.c:6187: _ma_apply_redo_insert_row_head_or_tail: Assertion `0' failed on Maria engine recovery
            A fresh data directory plus core file for the recovery crash.

            bzr version-info:

            revision-id: igor@askmonty.org-20100717195808-mvh782jvt6c32u2d
            date: 2010-07-17 12:58:08 -0700
            build-date: 2010-07-19 21:27:54 +0300
            revno: 2826
            branch-nick: 5.2

            Show
            philipstoev Philip Stoev added a comment - Re: RQG: ma_blockrec.c:6187: _ma_apply_redo_insert_row_head_or_tail: Assertion `0' failed on Maria engine recovery A fresh data directory plus core file for the recovery crash. bzr version-info: revision-id: igor@askmonty.org-20100717195808-mvh782jvt6c32u2d date: 2010-07-17 12:58:08 -0700 build-date: 2010-07-19 21:27:54 +0300 revno: 2826 branch-nick: 5.2
            Hide
            philipstoev Philip Stoev added a comment -

            trace + core + binary + vardirs
            LPexportBug602604_var-bug602604trace.zip

            Show
            philipstoev Philip Stoev added a comment - trace + core + binary + vardirs LPexportBug602604_var-bug602604trace.zip
            Hide
            philipstoev Philip Stoev added a comment -

            Re: RQG: ma_blockrec.c:6187: _ma_apply_redo_insert_row_head_or_tail: Assertion `0' failed on Maria engine recovery

            Show
            philipstoev Philip Stoev added a comment - Re: RQG: ma_blockrec.c:6187: _ma_apply_redo_insert_row_head_or_tail: Assertion `0' failed on Maria engine recovery
            Hide
            ratzpo Rasmus Johansson added a comment -

            Launchpad bug id: 602604

            Show
            ratzpo Rasmus Johansson added a comment - Launchpad bug id: 602604

              People

              • Assignee:
                monty Michael Widenius
                Reporter:
                philipstoev Philip Stoev
              • Votes:
                0 Vote for this issue
                Watchers:
                0 Start watching this issue

                Dates

                • Created:
                  Updated:
                  Resolved: