[MDEV-26022] InnoDB page data size mismatch crash Created: 2021-06-25  Updated: 2022-11-03  Resolved: 2021-09-06

Status: Closed
Project: MariaDB Server
Component/s: Storage Engine - InnoDB
Affects Version/s: 10.5.10
Fix Version/s: N/A

Type: Bug Priority: Major
Reporter: Hartmut Holzgraefe Assignee: Marko Mäkelä
Resolution: Cannot Reproduce Votes: 1
Labels: need_feedback

Issue Links:
Relates
relates to MDEV-13542 Crashing on a corrupted page is unhel... Closed
relates to MDEV-26141 Crash in instant ALTER TABLE after IM... Confirmed

 Description   

This crash looks similar to MDEV-19743 and MDEV-18519, but has a different backtrace. After having brought down a running server it then re-appeared on each server restart, right after

2021-06-20 12:33:53 0 [Note] Recovering after a crash using master1 

Original error log entry was:

2021-06-19 10:27:26 0 [ERROR] [FATAL] InnoDB: Page old data size 11199 new data size 5187, page old max ins size 4986 new max ins size 10998
210619 10:27:26 [ERROR] mysqld got signal 6 ;
This could be because you hit a bug. It is also possible that this binary
or one of the libraries it was linked against is corrupt, improperly built,
or misconfigured. This error can also be caused by malfunctioning hardware.
 
To report this bug, see https://mariadb.com/kb/en/reporting-bugs
 
We will try our best to scrape up some info that will hopefully help
diagnose the problem, but since we have already crashed,
something is definitely wrong and this may fail.
 
Server version: 10.5.10-MariaDB-log
key_buffer_size=251658240
read_buffer_size=8388608
max_used_connections=337
max_threads=514
thread_count=34
It is possible that mysqld could use up to
key_buffer_size + (read_buffer_size + sort_buffer_size)*max_threads = 9732873 K bytes of memory
Hope that's ok; if not, decrease some variables in the equation.
 
Thread pointer: 0x7f8fcc000a98
Attempting backtrace. You can use the following information to find out
where mysqld died. If you see no messages after this, something went
terribly wrong...
stack_bottom = 0x7f8e2d7f9c88 thread_stack 0x49000
/export/apps/fsserv/trd/store/lib/mariadb-10.5.10-linux-x86_64/bin/mysqld(my_print_stacktrace+0x2e)[0x563c320b057e]
/export/apps/fsserv/trd/store/lib/mariadb-10.5.10-linux-x86_64/bin/mysqld(handle_fatal_signal+0x307)[0x563c31a884d7]
sigaction.c:0(__restore_rt)[0x7f911ffd2630]
:0(__GI_raise)[0x7f911f41e377]
:0(__GI_abort)[0x7f911f41fa68]
ut/ut0vec.cc:38(ib_vector_create(ib_alloc_t*, unsigned long, unsigned long))[0x563c31f07cd0]
btr/btr0btr.cc:1355(btr_page_reorganize_low(page_cur_t*, dict_index_t*, mtr_t*) [clone .isra.80])[0x563c31f0ed8c]
btr/btr0btr.cc:1607(btr_page_reorganize_block(unsigned long, buf_block_t*, dict_index_t*, mtr_t*))[0x563c31f0ee26]
btr/btr0btr.cc:5167(btr_can_merge_with_page(btr_cur_t*, unsigned int, buf_block_t**, mtr_t*))[0x563c31f0f08f]
btr/btr0btr.cc:3489(btr_compress(btr_cur_t*, unsigned long, mtr_t*))[0x563c31f14493]
btr/btr0cur.cc:5468(btr_cur_compress_if_useful(btr_cur_t*, unsigned long, mtr_t*))[0x563c31f29015]
btr/btr0cur.cc:5909(btr_cur_pessimistic_delete(dberr_t*, unsigned long, btr_cur_t*, unsigned long, bool, mtr_t*))[0x563c31f34086]
row/row0purge.cc:148(row_purge_remove_clust_if_poss_low(purge_node_t*, unsigned long))[0x563c31e8d693]
row/row0purge.cc:193(row_purge_remove_clust_if_poss)[0x563c31e8f4b1]
row/row0purge.cc:1113(row_purge)[0x563c31e8fec9]
que/que0que.cc:946(que_thr_step)[0x563c31e439bf]
include/ib0mutex.h:576(purge_worker_callback(void*))[0x563c31eb2bdd]
tpool/task_group.cc:57(tpool::task_group::execute(tpool::task*))[0x563c3203a196]
tpool/tpool_generic.cc:546(tpool::thread_pool_generic::worker_main(tpool::worker_data*))[0x563c32038921]
bits/shared_ptr_base.h:545(~__shared_count)[0x563c321fbc50]
pthread_create.c:0(start_thread)[0x7f911ffcaea5]
??:0(__clone)[0x7f911f4e68cd]
 
Trying to get some variables.
Some pointers may be invalid and cause the dump to abort.
Query (0x0): (null)
Connection ID (thread ID): 0
Status: NOT_KILLED

The server was originally installed using MariaDB 10.1, then upgraded to 10.4, and finally 10.5. There have been some "instant add column" operations in the past, but not recently.



 Comments   
Comment by Marko Mäkelä [ 2021-07-23 ]

hholzgra, which 10.4 minor versions had been used in the past? If among them was 10.4.6 or older, then the data could be corrupted due to MDEV-19916.

Comment by Marko Mäkelä [ 2022-11-03 ]

The crash should have been fixed in MDEV-13542.

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