Assertion `share->now_transactional' failed in flush_log_for_bitmap on concurrent workload with Aria tables
Affects | Status | Importance | Assigned to | Milestone | |
---|---|---|---|---|---|
MariaDB |
New
|
Medium
|
Michael Widenius |
Bug Description
#6 0x00007f14992ba235 in __assert_fail () from /lib64/libc.so.6
#7 0x0000000000a98d23 in flush_log_
data_
#8 0x0000000000a28890 in pagecache_fwrite (pagecache=
filedesc=
type=
#9 0x0000000000a32a6b in flush_cached_blocks (pagecache=
cache=
first_
#10 0x0000000000a33344 in flush_pagecache
file=
filter_
#11 0x0000000000a3370b in flush_pagecache
file=
filter_
#12 0x0000000000a941af in _ma_bitmap_
#13 0x0000000000a3af85 in collect_tables (str=0x7f149928
checkpoint_
#14 0x0000000000a39761 in really_
#15 0x0000000000a39553 in ma_checkpoint_
no_wait=1 '\001') at ma_checkpoint.c:132
#16 0x0000000000a3a19e in ma_checkpoint_
#17 0x00007f1499f75a4f in start_thread () from /lib64/
#18 0x00007f149935f82d in clone () from /lib64/libc.so.6
bzr version-info
revision-id: <email address hidden>
date: 2012-05-15 08:31:07 +0300
revno: 3523
Also reproducible on maria/5.5 revno 3407.
The only test case I have for now is the RQG grammar below. It reproduces the problem on relatively decent machines (2x4 cores or 4x2 cores), and it takes from 1 to 30 minutes to get the assertion.
Coredump, server datadir with Aria logs and stack traces can be found on hasky.
The test was run with aria-checkpoint
# RQG grammar (test.yy):
query1:
SELECT alias1 . _field_indexed AS field1 FROM A AS alias1, B;
query:
query1 ; CREATE TABLE _tmptable[
# End of RQG grammar
Run as:
perl runall.pl \
--duration=3600 \
--queries=100M \
--threads=4 \
--rows=1,200 \
--engine=Aria \
--mysqld=
--mysqld=
--grammar=test.yy \
--vardir=<your vardir> \
--basedir=<your basedir>
I've set importance to 'Medium' because it's a debug assertion with relatively low probability; but it affects testing, so it would be good to fix it.