Details
-
Bug
-
Status: Closed (View Workflow)
-
Major
-
Resolution: Fixed
-
10.2(EOL)
-
None
Description
10.2 6d51817d2cd79edbc15328bef532a5375f184219 |
mysqld: /data/src/10.2/storage/innobase/ibuf/ibuf0ibuf.cc:1144: ulint ibuf_page_low(const page_id_t&, const page_size_t&, ulint, const char*, unsigned int, mtr_t*): Assertion `!recv_no_ibuf_operations' failed.
|
170804 16:14:56 [ERROR] mysqld got signal 6 ;
|
|
#7 0x00007f5c32b42ee2 in __assert_fail () from /lib/x86_64-linux-gnu/libc.so.6
|
#8 0x000055b3ae6bcc57 in ibuf_page_low (page_id=..., page_size=..., x_latch=0, file=0x55b3aeca3878 "/data/src/10.2/storage/innobase/ibuf/ibuf0ibuf.cc", line=548, mtr=0x0) at /data/src/10.2/storage/innobase/ibuf/ibuf0ibuf.cc:1144
|
#9 0x000055b3ae8d1212 in buf_page_get_gen (page_id=..., page_size=..., rw_latch=2, guess=0x0, mode=10, file=0x55b3aeca3878 "/data/src/10.2/storage/innobase/ibuf/ibuf0ibuf.cc", line=548, mtr=0x7ffc538321c0, err=0x0) at /data/src/10.2/storage/innobase/buf/buf0buf.cc:4210
|
#10 0x000055b3ae6bbc4b in ibuf_init_at_db_start () at /data/src/10.2/storage/innobase/ibuf/ibuf0ibuf.cc:548
|
#11 0x000055b3ae9061b3 in dict_boot () at /data/src/10.2/storage/innobase/dict/dict0boot.cc:487
|
#12 0x000055b3ae812260 in innobase_start_or_create_for_mysql () at /data/src/10.2/storage/innobase/srv/srv0start.cc:2233
|
#13 0x000055b3ae652f99 in innobase_init (p=0x55b3b131a190) at /data/src/10.2/storage/innobase/handler/ha_innodb.cc:4422
|
#14 0x000055b3ae34a1b3 in ha_initialize_handlerton (plugin=0x55b3b12273c0) at /data/src/10.2/sql/handler.cc:512
|
#15 0x000055b3ae0f49e3 in plugin_initialize (tmp_root=0x7ffc5383a8a0, plugin=0x55b3b12273c0, argc=0x55b3af61e770 <remaining_argc>, argv=0x55b3b10de370, options_only=false) at /data/src/10.2/sql/sql_plugin.cc:1413
|
#16 0x000055b3ae0f55ec in plugin_init (argc=0x55b3af61e770 <remaining_argc>, argv=0x55b3b10de370, flags=2) at /data/src/10.2/sql/sql_plugin.cc:1695
|
#17 0x000055b3ae002062 in init_server_components () at /data/src/10.2/sql/mysqld.cc:5255
|
#18 0x000055b3ae0030e7 in mysqld_main (argc=144, argv=0x55b3b10de370) at /data/src/10.2/sql/mysqld.cc:5845
|
#19 0x000055b3adff7fc0 in main (argc=22, argv=0x7ffc5383b638) at /data/src/10.2/sql/main.cc:25
|
Test case is attached, run it with --mem --repeat=N
The assertion started failing in 10.2 tree with this commit:
commit 42f657cd2fab9acb00b15e00c7cc630f64ecc6ec
|
Author: Marko Mäkelä <marko.makela@mariadb.com>
|
Date: Fri Jul 7 18:29:31 2017 +0300
|
|
MDEV-13267 At startup with crash recovery: mtr_t::commit_checkpoint(lsn_t, bool): Assertion `!recv_no_log_write' failed
|
Before this commit, the same test case would cause Assertion `!recv_no_log_write' failure.
Attachments
Issue Links
- relates to
-
MDEV-13452 Assertion `!recv_no_log_write' failed in lsn_t log_reserve_and_open
-
- Closed
-
This is a debug-only assertion failure. We do not really need to set the ‘is inside change buffer’ flag in the code that only reads the change buffer state at startup.
At this point of execution, change buffer merge must indeed remain prohibited.
diff --git a/storage/innobase/ibuf/ibuf0ibuf.cc b/storage/innobase/ibuf/ibuf0ibuf.cc
index b4cbe7d4480..d021f8c0085 100644
--- a/storage/innobase/ibuf/ibuf0ibuf.cc
+++ b/storage/innobase/ibuf/ibuf0ibuf.cc
@@ -534,7 +534,6 @@ ibuf_init_at_db_start(void)
fseg_n_reserved_pages(header_page + IBUF_HEADER + IBUF_TREE_SEG_HEADER,
&n_used, &mtr);
- ibuf_enter(&mtr);
ut_ad(n_used >= 2);
@@ -556,7 +555,7 @@ ibuf_init_at_db_start(void)
mutex_exit(&ibuf_mutex);
ibuf->empty = page_is_empty(root);
- ibuf_mtr_commit(&mtr);
+ mtr.commit();
ibuf->index = dict_mem_index_create(