Second ma_blockrec.c:3000: write_block_record: Assertion `cur_block[1].page_count == 0' failed with a multi-index Aria workload

Bug #815022 reported by Philip Stoev
6
This bug affects 1 person
Affects Status Importance Assigned to Milestone
MariaDB
Fix Released
High
Michael Widenius

Bug Description

When executing the many_indexes workload, Aria asserted as follows:

mysqld: ma_blockrec.c:3000: write_block_record: Assertion `cur_block[1].page_count == 0' failed.

# 2011-07-22T20:56:21 #6 0x00000033b58296e6 in __assert_fail () from /lib64/libc.so.6
# 2011-07-22T20:56:21 #7 0x0000000000980ad9 in write_block_record (info=0x2aaab8c01748, old_record=0x2aaab8bfb530 "", record=0x2aaab8bfa0f0 "", row=0x2aaab8c
01868,
# 2011-07-22T20:56:21 bitmap_blocks=0x2aaab8c017a8, head_block_is_read=1 '\001', row_pos=0x40a04150, undo_lsn=1, old_record_checksum=0) at ma_blockrec.c:3
000
# 2011-07-22T20:56:21 #8 0x0000000000982c04 in _ma_update_block_record2 (info=0x2aaab8c01748, record_pos=3072, oldrec=0x2aaab8bfb530 "", record=0x2aaab8bfa0f
0 "", undo_lsn=1)
# 2011-07-22T20:56:21 at ma_blockrec.c:3809
# 2011-07-22T20:56:21 #9 0x00000000009832d2 in _ma_update_block_record (info=0x2aaab8c01748, record_pos=3072, orig_rec=0x2aaab8bfb530 "", new_rec=0x2aaab8bfa
0f0 "")
# 2011-07-22T20:56:21 at ma_blockrec.c:3973
# 2011-07-22T20:56:21 #10 0x0000000000973817 in maria_update (info=0x2aaab8c01748, oldrec=0x2aaab8bfb530 "", newrec=0x2aaab8bfa0f0 "") at ma_update.c:161
# 2011-07-22T20:56:21 #11 0x000000000093632b in ha_maria::update_row (this=0x2aaab8bf98f0, old_data=0x2aaab8bfb530 "", new_data=0x2aaab8bfa0f0 "") at ha_maria
.cc:2135
# 2011-07-22T20:56:21 #12 0x00000000007c19d1 in handler::ha_update_row (this=0x2aaab8bf98f0, old_data=0x2aaab8bfb530 "", new_data=0x2aaab8bfa0f0 "") at handle
r.cc:4927
# 2011-07-22T20:56:21 #13 0x00000000007d07c2 in ha_partition::update_row (this=0x2aaab8bf8cf0, old_data=0x2aaab8bfb530 "", new_data=0x2aaab8bfa0f0 "") at ha_p
artition.cc:3437
# 2011-07-22T20:56:21 #14 0x00000000007c19d1 in handler::ha_update_row (this=0x2aaab8bf8cf0, old_data=0x2aaab8bfb530 "", new_data=0x2aaab8bfa0f0 "") at handle
r.cc:4927
# 2011-07-22T20:56:21 #15 0x0000000000739b31 in mysql_update (thd=0x2aaab8b67798, table_list=0x1a5c2420, fields=..., values=..., conds=0x1a5c2cd0, order_num=1
, order=0x1a5c2e88,
# 2011-07-22T20:56:21 limit=1, handle_duplicates=DUP_ERROR, ignore=false) at sql_update.cc:674
# 2011-07-22T20:56:21 #16 0x000000000067d04b in mysql_execute_command (thd=0x2aaab8b67798) at sql_parse.cc:3110
# 2011-07-22T20:56:21 #17 0x00000000006838a1 in mysql_parse (thd=0x2aaab8b67798,
# 2011-07-22T20:56:21 rawbuf=0x1a5c2170 "UPDATE `table10_aria_key_pk_parts_2_int_autoinc` SET `col_varchar_255_ucs2_key` = REPEAT( _UTF8 0x7 , 38 ) WHERE
`col_longtext_ucs2` IS NOT NULL ORDER BY `pk` LIMIT 9", length=166, found_semicolon=0x40a05f18) at sql_parse.cc:6138
# 2011-07-22T20:56:21 #18 0x0000000000684732 in dispatch_command (command=COM_QUERY, thd=0x2aaab8b67798,
# 2011-07-22T20:56:21 packet=0x2aaab8be17b9 "UPDATE `table10_aria_key_pk_parts_2_int_autoinc` SET `col_varchar_255_ucs2_key` = REPEAT( _UTF8 0x7 , 38 ) WH
ERE `col_longtext_ucs2` IS NOT NULL ORDER BY `pk` LIMIT 9", packet_length=166) at sql_parse.cc:1213
# 2011-07-22T20:56:21 #19 0x0000000000685d4f in do_command (thd=0x2aaab8b67798) at sql_parse.cc:903
# 2011-07-22T20:56:21 #20 0x00000000006708c8 in handle_one_connection (arg=0x2aaab8b67798) at sql_connect.cc:1177
# 2011-07-22T20:56:21 #21 0x00000033b600673d in start_thread () from /lib64/libpthread.so.0
# 2011-07-22T20:56:21 #22 0x00000033b58d40cd in clone () from /lib64/libc.so.6
# 2011-07-22T20:56:21 #5 0x00000033b5831d10 in abort () from /lib64/libc.so.6

RQG command lines:

runall.pl --queries=100000000 --queries=1M --engine=Aria --mysqld=--default-storage-engine=Aria --mysqld=--safe-mode --mysqld=--loose-debug-assert-if-crashed-table --mysqld=--sync-sys=0 --mysqld=--log-output=file --mysqld=--aria_log_purge_type=at_flush --reporters=ErrorLog,Backtrace,AriaDoubleRecovery,Shutdown --duration=240 --threads=5 --rows=10 --mask-level=1 --mysqld=--aria-repair-threads=2 --mysqld=--loose-aria-group-commit=hard --mysqld=--loose-aria_group_commit_interval=1 --mysqld=--aria-checkpoint-interval=0 --mysqld=--aria-block-size=1K --mysqld=--table_cache=32K --mysqld=--aria-pagecache-division-limit=75 --grammar=conf/engines/many_indexes.yy --gendata=conf/engines/many_indexes.zz --mtr-build-thread=300 --mask=24395 --basedir1=/home/philips/bzr/maria-5.2 --seed=1311358797

runall.pl --queries=100000000 --queries=1M --engine=Aria --mysqld=--default-storage-engine=Aria --mysqld=--safe-mode --mysqld=--loose-debug-assert-if-crashed-table --mysqld=--sync-sys=0 --mysqld=--log-output=file --mysqld=--aria_log_purge_type=at_flush --reporters=ErrorLog,Backtrace,AriaDoubleRecovery,Shutdown --duration=120 --threads=10 --rows=10 --mask-level=1 --mysqld=--loose-aria-group-commit=soft --mysqld=--loose-aria_group_commit_interval=10 --mysqld=--aria-checkpoint-interval=0 --mysqld=--aria-block-size=2K --mysqld=--aria-pagecache-division-limit=75 --grammar=conf/engines/many_indexes.yy --gendata=conf/engines/many_indexes.zz --mtr-build-thread=300 --mask=21095 --basedir1=/home/philips/bzr/maria-5.2 --seed=1311344732

runall.pl --queries=100000000 --queries=1M --engine=Aria --mysqld=--default-storage-engine=Aria --mysqld=--safe-mode --mysqld=--loose-debug-assert-if-crashed-table --mysqld=--sync-sys=0 --mysqld=--log-output=file --mysqld=--aria_log_purge_type=at_flush --reporters=ErrorLog,Backtrace,AriaDoubleRecovery,Shutdown --duration=480 --threads=20 --rows=10 --mask-level=2 --mysqld=--loose-aria-group-commit=hard --mysqld=--loose-aria_group_commit_interval=100 --mysqld=--aria-checkpoint-interval=120 --mysqld=--aria-block-size=1K --mysqld=--aria-pagecache-buffer-size=512K --grammar=conf/engines/many_indexes.yy --gendata=conf/engines/many_indexes.zz --mtr-build-thread=300 --mask=54704 --basedir1=/home/philips/bzr/maria-5.2 --seed=1311357374

bzr version-info

revision-id: <email address hidden>
date: 2011-07-21 15:21:22 +0300
build-date: 2011-07-23 13:05:07 +0300
revno: 3004
branch-nick: maria-5.2

Related branches

Revision history for this message
Philip Stoev (pstoev-askmonty) wrote :
summary: - ma_blockrec.c:3000: write_block_record: Assertion
+ Second ma_blockrec.c:3000: write_block_record: Assertion
`cur_block[1].page_count == 0' failed with a multi-index Aria workload
Revision history for this message
Philip Stoev (pstoev-askmonty) wrote :

See also bug 726374

Changed in maria:
assignee: nobody → Michael Widenius (monty)
milestone: none → 5.2
Michael Widenius (monty)
Changed in maria:
status: New → In Progress
Revision history for this message
Michael Widenius (monty) wrote :

Great test case; Found 3 unlikely but serious bugs in the ARIA code thanks to it!

I have now run all the above 3 test for some period without failures, so I think this is now fixed.
I will push the fixes into 5.2

Changed in maria:
importance: Undecided → High
Michael Widenius (monty)
Changed in maria:
status: In Progress → Fix Committed
Michael Widenius (monty)
Changed in maria:
status: Fix Committed → Fix Released
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.