|
8 GB memory 64 bit XEN based VM
/etc/my.cnf
[mysqld]
aria_pagecache_buffer_size=512M
character_set_server=utf8
collation_server=utf8_unicode_ci
connect_timeout=10
default-storage-engine=MyISAM
explicit_defaults_for_timestamp=1
ft_min_word_len=3
innodb_buffer_pool_instances=1
innodb_buffer_pool_size=1536M
innodb_data_file_path=ibdata1:10M:autoextend
innodb_file_per_table=1
innodb_flush_log_at_trx_commit=2
innodb_flush_method=O_DIRECT
innodb_log_buffer_size=256M
innodb_log_buffer_size=8M
innodb_log_file_size=128M
innodb_log_files_in_group=2
innodb_open_files=512
innodb_thread_concurrency=0
innodb_read_io_threads=2
innodb_write_io_threads=2
innodb_adaptive_hash_index=0
innodb_use_native_aio=0
interactive_timeout=3600
join_buffer_size=1M
key_buffer_size=16M
local-infile=0
max_allowed_packet=268435456
max_connect_errors=10000
max_connections=128
max_heap_table_size=256M
max_user_connections=96
myisam_sort_buffer_size=2M
open_files_limit=10000
query_cache_limit=1M
query_cache_size=128M
query_cache_type=1
read_buffer_size=4M
read_rnd_buffer_size=2M
skip-networking
slow_query_log_file=/var/log/mysql/slow_query_log_file.log
slow_query_log=1
long_query_time=8
sort_buffer_size=2M
table_open_cache=4096
table_definition_cache=2048
thread_cache_size=128
tmp_table_size=256M
tmpdir="/dev/shm"
wait_timeout=600
[mysqld_safe]
nice=-5
innodb_file_per_table=1
open-files-limit=8192
log-error="/var/log/mysqld.log"
default-storage-engine=MyISAM
[myisamchk]
sort_buffer_size=16M
read_buffer_size=16M
key_buffer_size=64M
write_buffer_size=16M
[mysqldump]
max_allowed_packet=64M
quick
|
|
I have reverted to 10.0.21 (and subsequently updated to 10.0.22)
|
|
I've added the full log.
It shows 10.0.21 shutdown then all of the 10.1.8 stuff before I kill 10.1.8
|
|
Thanks for the info, can you provide the db for investigation ?
|
|
G'Day Jan
In what format? Remote Access? How can I do that securely?
|
|
I could give access via phpMyAdmin with a temporary password
|
|
You can upload compressed and tar'ed db to ftp://ftp.askmonty.org/ there is private directory.
|
|
Ok, just a mysqldump --all-databases ... or a tar/gzip of the data folders?
|
|
Just tar/gzip all of the data folders, mysqldump could remove the problem.
|
|
MDEV-9040.tar.gz 843MB file being FTP'ed now
Contains /var/lib/mysql ...
ftp> put MDEV-9040.tar.gz
local: MDEV-9040.tar.gz remote: MDEV-9040.tar.gz
227 Entering Passive Mode (194,136,193,154,238,109).
150 Ok to send data.
226 Transfer complete.
883618232 bytes sent in 3.98e+03 secs (222.03 Kbytes/sec)
|
|
Hi, I would need also your my.cnf file.
|
|
[mysqld]
aria_pagecache_buffer_size=512M
character_set_server=utf8
collation_server=utf8_unicode_ci
connect_timeout=10
default-storage-engine=MyISAM
explicit_defaults_for_timestamp=1
ft_min_word_len=3
innodb_buffer_pool_instances=1
innodb_buffer_pool_size=1536M
innodb_data_file_path=ibdata1:10M:autoextend
innodb_file_per_table=1
innodb_flush_log_at_trx_commit=2
innodb_flush_method=O_DIRECT
innodb_log_buffer_size=256M
innodb_log_buffer_size=8M
innodb_log_file_size=128M
innodb_log_files_in_group=2
innodb_open_files=512
innodb_thread_concurrency=0
innodb_read_io_threads=2
innodb_write_io_threads=2
innodb_adaptive_hash_index=0
innodb_use_native_aio=0
interactive_timeout=3600
join_buffer_size=1M
key_buffer_size=16M
local-infile=0
max_allowed_packet=268435456
max_connect_errors=10000
max_connections=128
max_heap_table_size=256M
max_user_connections=96
myisam_sort_buffer_size=2M
open_files_limit=10000
query_cache_limit=1M
query_cache_size=128M
query_cache_type=1
read_buffer_size=4M
read_rnd_buffer_size=2M
skip-networking
slow_query_log_file=/var/log/mysql/slow_query_log_file.log
slow_query_log=1
long_query_time=8
sort_buffer_size=2M
table_open_cache=4096
table_definition_cache=2048
thread_cache_size=128
tmp_table_size=256M
tmpdir="/dev/shm"
wait_timeout=600
[mysqld_safe]
nice=-5
innodb_file_per_table=1
open-files-limit=8192
log-error="/var/log/mysqld.log"
default-storage-engine=MyISAM
[myisamchk]
sort_buffer_size=16M
read_buffer_size=16M
key_buffer_size=64M
write_buffer_size=16M
[mysqldump]
max_allowed_packet=64M
quick
|
|
jplindst:
9d399c9f35ca5a85152adddc1c88a304f87f660c is where it started crashing. Stack trace from that commit:
Thread 1 (Thread 0x7f4249ffb700 (LWP 22324)):
|
#0 __pthread_kill (threadid=<optimized out>, signo=<optimized out>) at ../nptl/sysdeps/unix/sysv/linux/pthread_kill.c:63
|
#1 0x00000000006f5ab2 in handle_fatal_signal (sig=11) at sql/signal_handler.cc:262
|
#2 <signal handler called>
|
#3 mach_read_from_1 (b=0x7f4249400000 <Address 0x7f4249400000 out of bounds>) at storage/xtradb/include/mach0data.ic:56
|
#4 mach_read_compressed (b=0x7f4249400000 <Address 0x7f4249400000 out of bounds>) at storage/xtradb/include/mach0data.ic:266
|
#5 trx_undo_rec_get_col_val (ptr=0x7f4249400000 <Address 0x7f4249400000 out of bounds>, field=field@entry=0x7f4249ffab68, len=len@entry=0x7f4249ffab70, orig_len=orig_len@entry=0x7f4249ffab78) at storage/xtradb/trx/trx0rec.cc:331
|
#6 0x00000000008cf589 in trx_undo_rec_get_partial_row (ptr=<optimized out>, index=0x7f424c7743e8, row=0x7f425b7b66e0, ignore_prefix=0, heap=<optimized out>) at storage/xtradb/trx/trx0rec.cc:1100
|
#7 0x00000000008a9a7d in row_purge_parse_undo_rec (thr=0x7f4267010eb0, updated_extern=0x7f4249ffac0f, undo_rec=0x7f4249021c80 "\004\264\214", node=0x7f425b7b6668) at storage/xtradb/row/row0purge.cc:776
|
#8 row_purge (thr=0x7f4267010eb0, undo_rec=0x7f4249021c80 "\004\264\214", node=0x7f425b7b6668) at storage/xtradb/row/row0purge.cc:859
|
#9 row_purge_step (thr=0x7f4267010eb0) at storage/xtradb/row/row0purge.cc:942
|
#10 0x000000000087d3bb in que_thr_step (thr=0x7f4267010eb0) at storage/xtradb/que/que0que.cc:1115
|
#11 que_run_threads_low (thr=0x7f4267010eb0) at storage/xtradb/que/que0que.cc:1177
|
#12 que_run_threads (thr=0x7f4267010eb0) at storage/xtradb/que/que0que.cc:1218
|
#13 0x00000000008cc827 in trx_purge (n_purge_threads=1, batch_size=300, truncate=false) at storage/xtradb/trx/trx0purge.cc:1251
|
#14 0x00000000008c0c8b in srv_do_purge (n_total_purged=<synthetic pointer>, n_threads=1) at storage/xtradb/srv/srv0srv.cc:3215
|
#15 srv_purge_coordinator_thread (arg=<optimized out>) at storage/xtradb/srv/srv0srv.cc:3397
|
#16 0x00007f4269861b50 in start_thread (arg=<optimized out>) at pthread_create.c:304
|
#17 0x00007f4267b1795d in clone () at ../sysdeps/unix/sysv/linux/x86_64/clone.S:112
|
#18 0x0000000000000000 in ?? ()
|
The direct parent is 0eb84da14712a9ca820533dbc1d911b3aead1658, it starts all right.
|
|
Good news ... it looks like you can reproduce the issue.
I'll stay on 10.0.x for now as it's a production system and I don't have much time window to try again.
I can probably try again next week, but methinks I need to wait for 10.1.9
|
|
Thanks Elena, confirmed your observation. Now I need to figure out what is wrong with that change. Actual change is very small but it seems to have some hidden effect on purge.
|
|
commit 25f8738112b05f33cfa45eabfebf6edfc80e6d8a
Author: Jan Lindström <jan.lindstrom@mariadb.com>
Date: Thu Nov 5 09:42:23 2015 +0200
MDEV-9040: 10.1.8 fails after upgrade from 10.0.21
Analysis: Lengths which are not UNIV_SQL_NULL, but bigger than the following
number indicate that a field contains a reference to an externally
stored part of the field in the tablespace. The length field then
contains the sum of the following flag and the locally stored len.
This was incorrectly set to
define UNIV_EXTERN_STORAGE_FIELD (UNIV_SQL_NULL - UNIV_PAGE_SIZE_MAX)
When it should be
define UNIV_EXTERN_STORAGE_FIELD (UNIV_SQL_NULL - UNIV_PAGE_SIZE_DEF)
Additionally, we need to disable support for > 16K page size for
row compressed tables because a compressed page directory entry
reserves 14 bits for the start offset and 2 bits for flags.
This limits the uncompressed page size to 16k. To support
larger pages page directory entry needs to be larger.
|
|
Great work, thanks for the prompt action. This is my first bug report to MariaDB.
|