Assertion `share->now_transactional' failed in flush_log_for_bitmap on concurrent workload with Aria tables

Bug #1000495 reported by Elena Stepanova
6
This bug affects 1 person
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_for_bitmap (page=0x7f1490ff5038 "", page_no=0,
    data_ptr=0x7f14840853f8 "\376\376\t\003\f") at ma_bitmap.c:2905
#8 0x0000000000a28890 in pagecache_fwrite (pagecache=0x1b34280,
    filedesc=0x7f1490d32e58, buffer=0x7f1490ff5038 "", pageno=0,
    type=PAGECACHE_PLAIN_PAGE, flags=36) at ma_pagecache.c:658
#9 0x0000000000a32a6b in flush_cached_blocks (pagecache=0x1b34280, file=0x7f1484085e70,
    cache=0x7f1499289b20, end=0x7f1499289b28, type=FLUSH_KEEP,
    first_errno=0x7f1499289afc) at ma_pagecache.c:4489
#10 0x0000000000a33344 in flush_pagecache_blocks_int (pagecache=0x1b34280,
    file=0x7f1484085e70, type=FLUSH_KEEP, filter=0xa93f77 <filter_flush_bitmap_pages>,
    filter_arg=0x7f1484085fa0) at ma_pagecache.c:4782
#11 0x0000000000a3370b in flush_pagecache_blocks_with_filter (pagecache=0x1b34280,
    file=0x7f1484085e70, type=FLUSH_KEEP, filter=0xa93f77 <filter_flush_bitmap_pages>,
    filter_arg=0x7f1484085fa0) at ma_pagecache.c:4905
#12 0x0000000000a941af in _ma_bitmap_flush_all (share=0x7f14840853f8) at ma_bitmap.c:535
#13 0x0000000000a3af85 in collect_tables (str=0x7f149928dd80,
    checkpoint_start_log_horizon=4295421793) at ma_checkpoint.c:1084
#14 0x0000000000a39761 in really_execute_checkpoint () at ma_checkpoint.c:198
#15 0x0000000000a39553 in ma_checkpoint_execute (level=CHECKPOINT_MEDIUM,
    no_wait=1 '\001') at ma_checkpoint.c:132
#16 0x0000000000a3a19e in ma_checkpoint_background (arg=0x1) at ma_checkpoint.c:621
#17 0x00007f1499f75a4f in start_thread () from /lib64/libpthread.so.0
#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-interval=1 and aria-checkpoint-log-activity=0, but this is not essential, it just allows to get the failure somewhat faster.

# RQG grammar (test.yy):

query1:
        SELECT alias1 . _field_indexed AS field1 FROM A AS alias1, B;

query:
     query1 ; CREATE TABLE _tmptable[invariant] AS query1 LIMIT 0; DELETE FROM _tmptable[invariant] ; INSERT INTO _tmptable[invariant] query1 ; DELETE FROM _tmptable[invariant] ; DROP TABLE _tmptable[invariant] ;

# End of RQG grammar

Run as:

perl runall.pl \
--duration=3600 \
--queries=100M \
--threads=4 \
--rows=1,200 \
--engine=Aria \
--mysqld=--aria-checkpoint-interval=1 \
--mysqld=--aria-checkpoint-log-activity=0 \
--grammar=test.yy \
--vardir=<your vardir> \
--basedir=<your basedir>

Tags: aria assertion
Revision history for this message
Elena Stepanova (elenst) wrote :

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.

To post a comment you must log in.
This report contains Public information  
Everyone can see this information.

Other bug subscribers

Remote bug watches

Bug watches keep track of this bug in other bug trackers.