[MDEV-14174] crash on start with innodb-track-changed-pages Created: 2017-10-27  Updated: 2018-01-10  Resolved: 2018-01-10

Status: Closed
Project: MariaDB Server
Component/s: Storage Engine - XtraDB
Affects Version/s: 5.5.55, 5.5.56, 10.0.30, 10.1.22, 5.5.57, 5.5.58
Fix Version/s: 5.5.59, 10.0.33, 10.1.27

Type: Bug Priority: Major
Reporter: Andrii Nikitin (Inactive) Assignee: Marko Mäkelä
Resolution: Fixed Votes: 0
Labels: None

Issue Links:
Problem/Incident
is caused by MDEV-11027 InnoDB log recovery is too noisy Closed
Relates
relates to MDEV-13814 Extra logging when innodb_log_archive... Closed
relates to MDEV-14936 Test MariaDB Backup 10.1 against newe... Closed
Sprint: 5.5.59

 Description   

Server couldnot start if innodb-track-changed-pages option is present.
Note that according to documentation this option is introduced in 10.0

./mtr innodb --mysqld=--innodb-track-changed-pages --mysqld=--innodb-buffer-page --mysqld=--innodb-buffer-page-lru --mysqld=--innodb
Logging: ./mtr  innodb --mysqld=--innodb-track-changed-pages --mysqld=--innodb-buffer-page --mysqld=--innodb-buffer-page-lru --mysqld=--innodb
vardir: /home/a/env1/_depot/m-tar/5.5.58/mysql-test/var
Checking leftover processes...
Removing old var directory...
Creating var directory '/home/a/env1/_depot/m-tar/5.5.58/mysql-test/var'...
Checking supported features...
MariaDB Version 5.5.58-MariaDB
Installing system database...
mysql-test-run: *** ERROR: Error executing mysqld --bootstrap
Could not install system database from /home/a/env1/_depot/m-tar/5.5.58/mysql-test/var/tmp/bootstrap.sql
see /home/a/env1/_depot/m-tar/5.5.58/mysql-test/var/log/bootstrap.log for errors

bootstrap.log has:

InnoDB: Setting log file ./ib_logfile1 size to 5 MB
InnoDB: Database physically writes the file full: wait...
InnoDB: starting tracking changed pages from LSN 8204
InnoDB: Doublewrite buffer not found: creating new
InnoDB: Doublewrite buffer created
171027 13:28:16 [ERROR] mysqld got signal 11 ;
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 http://kb.askmonty.org/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: 5.5.58-MariaDB
key_buffer_size=134217728
read_buffer_size=131072
max_used_connections=0
max_threads=153
thread_count=0
It is possible that mysqld could use up to
key_buffer_size + (read_buffer_size + sort_buffer_size)*max_threads = 466718 K  bytes of memory
Hope that's ok; if not, decrease some variables in the equation.
 
Thread pointer: 0x0
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 = 0x0 thread_stack 0x48000
InnoDB: 127 rollback segment(s) active.
InnoDB: Creating foreign key constraint system tables
InnoDB: Foreign key constraint system tables created
171027 13:28:16  InnoDB: Waiting for the background threads to start
mysys/stacktrace.c:247(my_print_stacktrace)[0xafb66e]
sql/signal_handler.cc:153(handle_fatal_signal)[0x6e0c2c]
/lib/x86_64-linux-gnu/libpthread.so.0(+0x11670)[0x7f071598e670]
log/log0log.c:2545(log_group_read_log_seg)[0x9fbd36]
log/log0online.c:1043(log_online_follow_log_seg)[0xa07de5]
srv/srv0srv.c:3221(srv_redo_log_follow_thread)[0x939872]
/lib/x86_64-linux-gnu/libpthread.so.0(+0x76da)[0x7f07159846da]
/lib/x86_64-linux-gnu/libc.so.6(clone+0x5f)[0x7f07149e9d7f]
The manual page at http://dev.mysql.com/doc/mysql/en/crashing.html contains
information that should help you find out what is causing the crash.
Writing a core file



 Comments   
Comment by Elena Stepanova [ 2017-10-27 ]

5.5 93aadda513d8b5c2b49001514e235c4fdd73e08a

#3  <signal handler called>
#4  0x0000000000bf2275 in log_group_read_log_seg (type=98887331, buf=0x7f5d70b41000 "", group=0x7f5d70a69478, start_lsn=73728, end_lsn=73728, release_mutex=1) at /data/src/5.5/storage/xtradb/log/log0log.c:2545
#5  0x0000000000bfdd6c in log_online_follow_log_seg (group=0x7f5d70a69478, block_start_lsn=8192, block_end_lsn=73728) at /data/src/5.5/storage/xtradb/log/log0online.c:1039
#6  0x0000000000bfdf23 in log_online_follow_log_group (group=0x7f5d70a69478, contiguous_lsn=8192) at /data/src/5.5/storage/xtradb/log/log0online.c:1108
#7  0x0000000000bfe5ec in log_online_follow_redo_log () at /data/src/5.5/storage/xtradb/log/log0online.c:1315
#8  0x0000000000ae64bf in srv_redo_log_follow_thread (arg=0x0) at /data/src/5.5/storage/xtradb/srv/srv0srv.c:3221
#9  0x00007f5d84f3b494 in start_thread (arg=0x7f5d6a7ff700) at pthread_create.c:333
#10 0x00007f5d8395193f in clone () from /lib/x86_64-linux-gnu/libc.so.6

Does not crash on 10.x.
Might have something to do with MDEV-8390.
The documentation is wrong of course – it existed in XtraDB 5.5, hence in MariaDB 5.5

Comment by Marko Mäkelä [ 2018-01-10 ]

The option innodb_track_changed_pages causes the function log_group_read_log_seg() to be invoked even when recv_sys==NULL, leading to the SIGSEGV.

Comment by Marko Mäkelä [ 2018-01-10 ]

In MariaDB 10.0.33 and 10.1.27, the problem was fixed by MDEV-13814. In MariaDB 5.5, there is no innodb_log_archive option, so that fix was not applied to 5.5 at that time.

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