[MDEV-31883] [draft]Assertion `fail || !block->page.file_page_was_freed' failed in btr_search_guess_on_hash Created: 2023-08-09  Updated: 2023-08-10

Status: Open
Project: MariaDB Server
Component/s: None
Affects Version/s: 10.4
Fix Version/s: None

Type: Bug Priority: Major
Reporter: Alice Sherepa Assignee: Alice Sherepa
Resolution: Unresolved Votes: 0
Labels: None


 Description   

mysqld: /10.4/storage/innobase/btr/btr0sea.cc:976: bool btr_search_guess_on_hash(dict_index_t*, btr_search_t*, const dtuple_t*, ulint, ulint, btr_cur_t*, mtr_t*): Assertion `fail || !block->page.file_page_was_freed' failed.
230809 14:52:44 [ERROR] mysqld got signal 6 ;
 
Server version: 10.4.31-MariaDB-debug-log source revision: 161ce045a71e306768d4609bdc35788fa5ea2a71
 
linux/raise.c:51(__GI_raise)[0x7f547bdea8eb]
stdlib/abort.c:81(__GI_abort)[0x7f547bdd5535]
btr/btr0sea.cc:977(btr_search_guess_on_hash(dict_index_t*, btr_search_t*, dtuple_t const*, unsigned long, unsigned long, btr_cur_t*, mtr_t*))[0x564e1558b01a]
btr/btr0cur.cc:1446(btr_cur_search_to_nth_level(dict_index_t*, unsigned long, dtuple_t const*, page_cur_mode_t, unsigned long, btr_cur_t*, char const*, unsigned int, mtr_t*, unsigned long))[0x564e1555d94e]
include/btr0pcur.inl:495(btr_pcur_open_with_no_init_func(dict_index_t*, dtuple_t const*, page_cur_mode_t, unsigned long, btr_pcur_t*, char const*, unsigned int, mtr_t*))[0x564e1548a837]
row/row0sel.cc:3914(row_sel_try_search_shortcut_for_mysql(unsigned char const**, row_prebuilt_t*, unsigned short**, mem_block_info_t**, mtr_t*))[0x564e15495177]
row/row0sel.cc:4495(row_search_mvcc(unsigned char*, page_cur_mode_t, row_prebuilt_t*, unsigned long, unsigned long))[0x564e15496f8c]
handler/ha_innodb.cc:9403(ha_innobase::index_read(unsigned char*, unsigned char const*, unsigned int, ha_rkey_function))[0x564e152a47a9]
handler/ha_innodb.cc:9913(ha_innobase::rnd_pos(unsigned char*, unsigned char*))[0x564e152a5adf]
sql/handler.cc:2937(handler::ha_rnd_pos(unsigned char*, unsigned char*))[0x564e14e9aeb5]
sql/records.cc:551(rr_from_pointers(READ_RECORD*))[0x564e15044777]
sql/records.h:70(READ_RECORD::read_record())[0x564e14aa2691]
sql/opt_range.cc:11986(QUICK_INDEX_MERGE_SELECT::get_next())[0x564e1502f782]
sql/records.cc:369(rr_quick(READ_RECORD*))[0x564e15044385]
sql/records.h:70(READ_RECORD::read_record())[0x564e14aa2691]
sql/sql_select.cc:20908(sub_select(JOIN*, st_join_table*, bool))[0x564e14bd6654]
sql/sql_select.cc:20412(do_select(JOIN*, Procedure*))[0x564e14bd58bf]
sql/sql_select.cc:4605(JOIN::exec_inner())[0x564e14baa021]
sql/sql_select.cc:4388(JOIN::exec())[0x564e14ba9138]
sql/sql_select.cc:4828(mysql_select(THD*, TABLE_LIST*, unsigned int, List<Item>&, Item*, unsigned int, st_order*, st_order*, Item*, st_order*, unsigned long long, select_result*, st_select_lex_unit*, st_select_lex*))[0x564e14baa8de]
sql/sql_select.cc:442(handle_select(THD*, LEX*, select_result*, unsigned long))[0x564e14b99ed0]
sql/sql_parse.cc:6473(execute_sqlcom_select(THD*, TABLE_LIST*))[0x564e14b5e73e]
sql/sql_parse.cc:3976(mysql_execute_command(THD*))[0x564e14b54e49]
sql/sql_parse.cc:8010(mysql_parse(THD*, char*, unsigned int, Parser_state*, bool, bool))[0x564e14b626e0]
sql/sql_parse.cc:1860(dispatch_command(enum_server_command, THD*, char*, unsigned int, bool, bool))[0x564e14b4ea11]
sql/sql_parse.cc:1378(do_command(THD*))[0x564e14b4d20e]
sql/sql_connect.cc:1420(do_handle_one_connection(CONNECT*))[0x564e14ce2061]
sql/sql_connect.cc:1325(handle_one_connection)[0x564e14ce1db0]
nptl/pthread_create.c:487(start_thread)[0x7f114b57bfa3]
x86_64/clone.S:97(clone)[0x7f114b18506f]



 Comments   
Comment by Marko Mäkelä [ 2023-08-10 ]

Note: In 10.5, possibly related to MDEV-15528, the debug-only field buf_page_t::file_page_was_freed was replaced with the buf_page_t::status value FREED. MDEV-27058 in 10.6 represents freed pages as part of a 32-bit atomic word block->page.zip.fix. That is why any assertion failures will probably look different in 10.5 and 10.6.

Generated at Thu Feb 08 10:27:11 UTC 2024 using Jira 8.20.16#820016-sha1:9d11dbea5f4be3d4cc21f03a88dd11d8c8687422.