Details
Description
Update by Elena on 2012-11-01:
I could not reproduce the problem using the RQG workload from the initial description, but the assertion itself is still reproducible by trying to start the server on the attached datadir.
So, to get the assertion, I don't recommend spending time trying to run the RQG test. Instead,
- download and unzip the attached zip archive, it will create var-bug625724 folder;
- start debug MySQL server with --datadir=<path>/var-bug625724/master-data
It takes time, about 5-10 min, but then fails with the described assertion.
I tried to do the same on a release (non-debug) server, nothing bad seems to happen, the server starts and works, no complaints in the log, which is why I'm setting the priority to Minor for now.
Reproducible on maria/5.1 revno 3151, maria/5.3 revno 3589, maria/10.0 revno 3467. I didn't check maria/5.2, but presumably it shouldn't be any different there.
==============================
Initial description:
When recovering from a DML workload, aria asserted as follows:
recovered pages: 0% 10% 20%mysqld: ma_recovery.c:2959: get_MARIA_HA_from_REDO_record: Assertion `((rec->lsn) - (checkpoint_start)) < 0' failed.
rqg command line :
perl runall.pl --basedir=/home/philips/bzr/maria-5.2/ --grammar=conf/smf/smf2.yy --mysqld=--init_file=/home/philips/bzr/randgen-smf/conf/smf/smf2.sql --queries=10M --duration=360 --engine=Maria --mysqld=--skip-innodb --mysqld=--default-storage-engine=Maria --duration=600 --mysqld=--log-output=file --mem --duration=3600 --reporter=Recovery --mysqld=--maria-checkpoint-interval=0
$ bzr version-info revision-id: <email address hidden> date: 2010-08-25 01:47:52 +0300 build-date: 2010-08-28 11:54:04 +0300 revno: 2848 branch-nick: maria-5.2
Gliffy Diagrams
Attachments
Activity
- All
- Comments
- Work Log
- History
- Activity
- Transitions
Re: Aria recovery assertion ma_recovery.c:2959: get_MARIA_HA_from_REDO_record: Assertion `((rec->lsn) - (checkpoint_start)) < 0'
Backtrace:
#8 0x0046bd98 in __assert_fail () from /lib/libc.so.6
#9 0x085b4ac6 in get_MARIA_HA_from_REDO_record (rec=0xbfc76640) at ma_recovery.c:2959
#10 0x085b0f76 in exec_REDO_LOGREC_REDO_INSERT_ROW_HEAD (rec=0xbfc76640) at ma_recovery.c:1368
#11 0x085af1b5 in display_and_apply_record (log_desc=0x9285578, rec=0xbfc76640) at ma_recovery.c:551
#12 0x085b3cae in run_redo_phase (lsn=4294975495, lsn_end=0, apply=MARIA_LOG_APPLY) at ma_recovery.c:2563
#13 0x085aeb36 in maria_apply_log (from_lsn=4294975495, end_lsn=0, apply=MARIA_LOG_APPLY, trace_file=0xa6c1810, should_run_undo_phase=1 '\001',
skip_DDLs_arg=1 '\001', take_checkpoints=1 '\001', warnings_count=0xbfc791f4) at ma_recovery.c:324
#14 0x085ae7e8 in maria_recovery_from_log () at ma_recovery.c:221
#15 0x085319e9 in ha_maria_init (p=0xa6cda78) at ha_maria.cc:3295
#16 0x083a3961 in ha_initialize_handlerton (plugin=0xa6b3dc0) at handler.cc:431
#17 0x08461b89 in plugin_initialize (plugin=0xa6b3dc0) at sql_plugin.cc:1239
#18 0x084623ab in plugin_init (argc=0x8a6e718, argv=0xa67b3c0, flags=0) at sql_plugin.cc:1467
#19 0x08271761 in init_server_components () at mysqld.cc:4175
#20 0x08272227 in main (argc=14, argv=0xbfc797f4) at mysqld.cc:4649
Note that the RQG was run with --mem, and it is possible that the test ran out of disk space at some point.