[MDEV-18260] Assertion `!was_changed || (block->status & 64) || (block->status & 32)' failed in pagecache_unlock_by_link Created: 2019-01-15  Updated: 2023-11-28

Status: Open
Project: MariaDB Server
Component/s: Storage Engine - Aria
Affects Version/s: 10.4, 10.5, 10.6, 10.10
Fix Version/s: 10.4, 10.5, 10.6

Type: Bug Priority: Major
Reporter: Elena Stepanova Assignee: Elena Stepanova
Resolution: Unresolved Votes: 0
Labels: None


 Description   

10.4 301bd62b253

2019-01-13 19:17:55 15 [ERROR] mysqld: Incorrect information in file: './test/#sql-183a_f.frm'
mysqld: /home/travis/src/storage/maria/ma_pagecache.c:3080: pagecache_unlock_by_link: Assertion `!was_changed || (block->status & 64) || (block->status & 32)' failed.
190113 19:18:09 [ERROR] mysqld got signal 6 ;
 
#7  0x00007f2d3599fc82 in __assert_fail () from /lib/x86_64-linux-gnu/libc.so.6
#8  0x0000564cee22c7d0 in pagecache_unlock_by_link (pagecache=0x564cef958be0 <maria_pagecache_var>, block=0x7f2d34bedd80, lock=PAGECACHE_LOCK_READ_UNLOCK, pin=PAGECACHE_UNPIN, first_REDO_LSN_for_page=0, lsn=0, was_changed=1 '\001', any=0 '\000') at /home/travis/src/storage/maria/ma_pagecache.c:3079
#9  0x0000564cee255879 in _ma_unpin_all_pages (info=0x7f2d301bcec0, undo_lsn=0) at /home/travis/src/storage/maria/ma_key_recover.c:71
#10 0x0000564cee269338 in write_block_record (info=0x7f2d301bcec0, old_record=0x0, record=0x7f2d300cb980 "\003\376", row=0x7f2d301bcf30, bitmap_blocks=0x7f2d301bcf30, head_block_is_read=1 '\001', row_pos=0x7f2d15a2d520, undo_lsn=1, old_record_checksum=0) at /home/travis/src/storage/maria/ma_blockrec.c:3432
#11 0x0000564cee2698f0 in allocate_and_write_block_record (info=0x7f2d301bcec0, record=0x7f2d300cb980 "\003\376", row=0x7f2d301bcf30, undo_lsn=1) at /home/travis/src/storage/maria/ma_blockrec.c:3566
#12 0x0000564cee269a03 in _ma_write_init_block_record (info=0x7f2d301bcec0, record=0x7f2d300cb980 "\003\376") at /home/travis/src/storage/maria/ma_blockrec.c:3606
#13 0x0000564cee27baee in maria_write (info=0x7f2d301bcec0, record=0x7f2d300cb980 "\003\376") at /home/travis/src/storage/maria/ma_write.c:157
#14 0x0000564cee1ff819 in ha_maria::write_row (this=0x7f2d302e1248, buf=0x7f2d300cb980 "\003\376") at /home/travis/src/storage/maria/ha_maria.cc:1326
#15 0x0000564cedc1a718 in handler::ha_write_row (this=0x7f2d302e1248, buf=0x7f2d300cb980 "\003\376") at /home/travis/src/sql/handler.cc:6273
#16 0x0000564ced8b890d in write_record (thd=0x7f2d300d5240, table=0x7f2d301ed300, info=0x7f2d300ec110) at /home/travis/src/sql/sql_insert.cc:2022
#17 0x0000564ced8bdc52 in select_insert::send_data (this=0x7f2d300ec0c8, values=...) at /home/travis/src/sql/sql_insert.cc:3874
#18 0x0000564ced971b88 in end_send (join=0x7f2d300ec1c0, join_tab=0x7f2d300eeb90, end_of_records=false) at /home/travis/src/sql/sql_select.cc:20574
#19 0x0000564ced96f396 in evaluate_join_record (join=0x7f2d300ec1c0, join_tab=0x7f2d300ee7e0, error=0) at /home/travis/src/sql/sql_select.cc:19610
#20 0x0000564ced96ee31 in sub_select (join=0x7f2d300ec1c0, join_tab=0x7f2d300ee7e0, end_of_records=false) at /home/travis/src/sql/sql_select.cc:19429
#21 0x0000564ced96e198 in do_select (join=0x7f2d300ec1c0, procedure=0x0) at /home/travis/src/sql/sql_select.cc:18930
#22 0x0000564ced947037 in JOIN::exec_inner (this=0x7f2d300ec1c0) at /home/travis/src/sql/sql_select.cc:4094
#23 0x0000564ced94647a in JOIN::exec (this=0x7f2d300ec1c0) at /home/travis/src/sql/sql_select.cc:3888
#24 0x0000564ced947730 in mysql_select (thd=0x7f2d300d5240, tables=0x7f2d300eab78, wild_num=0, fields=..., conds=0x7f2d300eb418, og_num=1, order=0x7f2d300eb6d0, group=0x0, having=0x0, proc_param=0x0, select_options=2483292928, result=0x7f2d300ec0c8, unit=0x7f2d300d9100, select_lex=0x7f2d300ea5b8) at /home/travis/src/sql/sql_select.cc:4293
#25 0x0000564ced9390b5 in handle_select (thd=0x7f2d300d5240, lex=0x7f2d300d9038, result=0x7f2d300ec0c8, setup_tables_done_option=0) at /home/travis/src/sql/sql_select.cc:385
#26 0x0000564ced8fa7c9 in mysql_execute_command (thd=0x7f2d300d5240) at /home/travis/src/sql/sql_parse.cc:4244
#27 0x0000564ced907046 in mysql_parse (thd=0x7f2d300d5240, rawbuf=0x7f2d300e9d48 "CREATE TABLE transforms.insert_select_6243 SELECT `vcol_bit` FROM `t3` WHERE `pk` BETWEEN 6411 AND 62838 ORDER BY `col_bit` /* QNO 1915 CON_ID 17 */  /* QNO 1928 CON_ID 17 */", length=174, parser_state=0x7f2d15a2e650, is_com_multi=false, is_next_command=false) at /home/travis/src/sql/sql_parse.cc:8104
#28 0x0000564ced8f3f30 in dispatch_command (command=COM_QUERY, thd=0x7f2d300d5240, packet=0x7f2d300e14e1 "CREATE TABLE transforms.insert_select_6243 SELECT `vcol_bit` FROM `t3` WHERE `pk` BETWEEN 6411 AND 62838 ORDER BY `col_bit` /* QNO 1915 CON_ID 17 */  /* QNO 1928 CON_ID 17 */ ", packet_length=175, is_com_multi=false, is_next_command=false) at /home/travis/src/sql/sql_parse.cc:1851
#29 0x0000564ced8f294d in do_command (thd=0x7f2d300d5240) at /home/travis/src/sql/sql_parse.cc:1396
#30 0x0000564ceda5e8ae in do_handle_one_connection (connect=0x564cf24fad80) at /home/travis/src/sql/sql_connect.cc:1402
#31 0x0000564ceda5e5ff in handle_one_connection (arg=0x564cf24fad80) at /home/travis/src/sql/sql_connect.cc:1308
#32 0x00007f2d365e46ba in start_thread () from /lib/x86_64-linux-gnu/libpthread.so.0
#33 0x00007f2d35a7941d in clone () from /lib/x86_64-linux-gnu/libc.so.6

Coredump (from a different occasion) is available.



 Comments   
Comment by Alice Sherepa [ 2022-11-02 ]

still reproducible:

Version: '10.10.2-MariaDB-debug-log' 
mysqld: /10.10/storage/maria/ma_pagecache.c:3450: pagecache_unlock_by_link: Assertion `!was_changed || (block->status & 64) || (block->status & 32)' failed.
221031 13:03:10 [ERROR] mysqld got signal 6 ;
 
 
Server version: 10.10.2-MariaDB-debug-log
 
linux/raise.c:51(__GI_raise)[0x7f3f7df288eb]
stdlib/abort.c:81(__GI_abort)[0x7f3f7df13535]
??:0(__assert_fail)[0x7f3f7df211a2]
maria/ma_pagecache.c:3451(pagecache_unlock_by_link)[0x56190c7571cd]
maria/ma_key_recover.c:71(_ma_unpin_all_pages)[0x56190c7cbb9a]
maria/ma_blockrec.c:3445(write_block_record)[0x56190c803055]
maria/ma_blockrec.c:3577(allocate_and_write_block_record)[0x56190c8041ba]
maria/ma_blockrec.c:3617(_ma_write_init_block_record)[0x56190c80450c]
maria/ma_write.c:157(maria_write)[0x56190c838582]
maria/ha_maria.cc:1271(ha_maria::write_row(unsigned char const*))[0x56190c6de328]
sql/handler.cc:7576(handler::ha_write_row(unsigned char const*))[0x56190c13918f]
sql/sql_insert.cc:2191(write_record(THD*, TABLE*, st_copy_info*, select_result*))[0x56190b77e562]
sql/sql_load.cc:1183(read_sep_field(THD*, st_copy_info&, TABLE_LIST*, List<Item>&, List<Item>&, List<Item>&, READ_INFO&, String&, unsigned long, bool))[0x56190b818753]
sql/sql_load.cc:688(mysql_load(THD*, sql_exchange const*, TABLE_LIST*, List<Item>&, List<Item>&, List<Item>&, enum_duplicates, bool, bool))[0x56190b81498e]
sql/sql_parse.cc:5021(mysql_execute_command(THD*, bool))[0x56190b843df6]
sql/sql_parse.cc:8021(mysql_parse(THD*, char*, unsigned int, Parser_state*))[0x56190b857d41]
sql/sql_parse.cc:1896(dispatch_command(enum_server_command, THD*, char*, unsigned int, bool))[0x56190b82e502]
sql/sql_parse.cc:1407(do_command(THD*, bool))[0x56190b82b21f]
sql/sql_connect.cc:1416(do_handle_one_connection(CONNECT*, bool))[0x56190bcd06b5]
sql/sql_connect.cc:1320(handle_one_connection)[0x56190bcd000b]
perfschema/pfs.cc:2203(pfs_spawn_thread)[0x56190c972aa3]
nptl/pthread_create.c:487(start_thread)[0x7f3f7e3e0fa3]
x86_64/clone.S:97(clone)[0x7f3f7dfea06f]
 
Query (0x6290016582a8): LOAD DATA INFILE 'load_t5_1' IGNORE INTO TABLE t5

Comment by Hartmut Holzgraefe [ 2023-09-29 ]

Is this really limited to 10.4 / 10.5 or can it also happen on e.g. 10.6.11?

Comment by Elena Stepanova [ 2023-09-29 ]

It's just an old JIRA entry, created before 10.6 existed. There is no reason to believe it wouldn't affect 10.6 unless proven otherwise.
We don't have a test case here, we cannot confirm with certainty which versions are affected, but I'll update it based on Alice's comment above which shows that she encountered a similar problem on 10.10.

Unfortunately, it's rather pointless at the moment as the previously stored coredump was lost due to hardware changes, so we need a new material for analysis. I'll check whether the RQG test reproduces the problem on the current versions.

Generated at Thu Feb 08 08:42:45 UTC 2024 using Jira 8.20.16#820016-sha1:9d11dbea5f4be3d4cc21f03a88dd11d8c8687422.