Setting innodb_log_archive crashes --innodb-read-only server | InnoDB: Failing assertion: !srv_read_only_mode in log0log.cc line 2192

Bug #1484432 reported by Ramesh Sivaraman on 2015-08-13
6
This bug affects 1 person
Affects Status Importance Assigned to Milestone
Percona Server moved to https://jira.percona.com/projects/PS
Fix Released
Medium
Laurynas Biveinis
5.1
Invalid
Undecided
Unassigned
5.5
Invalid
Undecided
Unassigned
5.6
Fix Released
Medium
Laurynas Biveinis

Bug Description

** Testcase

When we start mysql server with --innodb-force-recovery=6 option, SET GLOBAL innodb_log_archive=OFF statement crashing server.

DROP DATABASE test;CREATE DATABASE test;USE test;
SET GLOBAL innodb_log_archive=ON;
SET GLOBAL innodb_log_archive=OFF;

The attached tarball (1439446057.tar.gz) gives the testcase as an exact match of our system, including some handy utilities

$ vi 1439446057_mybase # STEP1: Update the base path in this file (usually the only change required!). If you use a non-binary distribution, please update SOURCE_DIR location also
$ ./1439446057_init # STEP2: Initializes the data dir
$ ./1439446057_start # STEP3: Starts mysqld
$ ./1439446057_cl # STEP4: To check mysqld is up
$ ./1439446057_run_pquery # STEP5: Run the testcase with the pquery binary
$ ./1439446057_run # OPTIONAL: Run the testcase with the mysql CLI (may not reproduce the issue, as the pquery binary was used for the original testcase reduction)
$ vi /dev/shm/1439446057/error.log.out # STEP6: Verify the error log
$ ./1439446057_gdb # OPTIONAL: Brings you to a gdb prompt with gdb attached to the used mysqld and attached to the generated core
$ ./1439446057_parse_core # STEP7: Create 1439446057_STD.gdb and 1439446057_FULL.gdb; standard and full variables gdb stack traces

** GDB info

+bt
#0 0x00007f76f2081771 in __pthread_kill (threadid=<optimized out>, signo=6) at ../nptl/sysdeps/unix/sysv/linux/pthread_kill.c:61
#1 0x0000000000abfcc4 in my_write_core (sig=6) at /mnt/workspace/percona-server-5.6-binaries-debug-yassl/label_exp/centos6-64/percona-server-5.6.25-73.1/mysys/stacktrace.c:422
#2 0x00000000007330dd in handle_fatal_signal (sig=6) at /mnt/workspace/percona-server-5.6-binaries-debug-yassl/label_exp/centos6-64/percona-server-5.6.25-73.1/sql/signal_handler.cc:236
#3 <signal handler called>
#4 0x00007f76f0c855d7 in __GI_raise (sig=sig@entry=6) at ../nptl/sysdeps/unix/sysv/linux/raise.c:56
#5 0x00007f76f0c86cc8 in __GI_abort () at abort.c:90
#6 0x0000000000b48a99 in log_checkpoint (sync=1, write_always=1) at /mnt/workspace/percona-server-5.6-binaries-debug-yassl/label_exp/centos6-64/percona-server-5.6.25-73.1/storage/innobase/log/log0log.cc:2192
#7 0x0000000000b4ae4a in log_archive_stop () at /mnt/workspace/percona-server-5.6-binaries-debug-yassl/label_exp/centos6-64/percona-server-5.6.25-73.1/storage/innobase/log/log0log.cc:3182
#8 0x0000000000b4afe7 in log_archive_noarchivelog () at /mnt/workspace/percona-server-5.6-binaries-debug-yassl/label_exp/centos6-64/percona-server-5.6.25-73.1/storage/innobase/log/log0log.cc:3245
#9 0x0000000000aed61d in innodb_log_archive_update (thd=0x7f76ebfe7000, var=0x15ab960 <mysql_sysvar_log_archive>, var_ptr=0x18c0fa0 <innobase_log_archive>, save=0x7f76da81f218) at /mnt/workspace/percona-server-5.6-binaries-debug-yassl/label_exp/centos6-64/percona-server-5.6.25-73.1/storage/innobase/handler/ha_innodb.cc:14773
#10 0x00000000007ff35e in sys_var_pluginvar::global_update (this=0x7f76ebff19e8, thd=0x7f76ebfe7000, var=0x7f76da81f1f8) at /mnt/workspace/percona-server-5.6-binaries-debug-yassl/label_exp/centos6-64/percona-server-5.6.25-73.1/sql/sql_plugin.cc:3310
#11 0x0000000000730afd in sys_var::update (this=0x7f76ebff19e8, thd=0x7f76ebfe7000, var=0x7f76da81f1f8) at /mnt/workspace/percona-server-5.6-binaries-debug-yassl/label_exp/centos6-64/percona-server-5.6.25-73.1/sql/set_var.cc:193
#12 0x0000000000731c98 in set_var::update (this=0x7f76da81f1f8, thd=0x7f76ebfe7000) at /mnt/workspace/percona-server-5.6-binaries-debug-yassl/label_exp/centos6-64/percona-server-5.6.25-73.1/sql/set_var.cc:679
#13 0x000000000073180c in sql_set_variables (thd=0x7f76ebfe7000, var_list=0x7f76ebfe9e58) at /mnt/workspace/percona-server-5.6-binaries-debug-yassl/label_exp/centos6-64/percona-server-5.6.25-73.1/sql/set_var.cc:579
#14 0x00000000007e9f51 in mysql_execute_command (thd=0x7f76ebfe7000) at /mnt/workspace/percona-server-5.6-binaries-debug-yassl/label_exp/centos6-64/percona-server-5.6.25-73.1/sql/sql_parse.cc:4173
#15 0x00000000007f14ea in mysql_parse (thd=0x7f76ebfe7000, rawbuf=0x7f76da81f010 "SET GLOBAL innodb_log_archive=OFF", length=33, parser_state=0x7f76f264af40) at /mnt/workspace/percona-server-5.6-binaries-debug-yassl/label_exp/centos6-64/percona-server-5.6.25-73.1/sql/sql_parse.cc:6968
#16 0x00000000007e329e in dispatch_command (command=COM_QUERY, thd=0x7f76ebfe7000, packet=0x7f76dc78f001 "SET GLOBAL innodb_log_archive=OFF", packet_length=33) at /mnt/workspace/percona-server-5.6-binaries-debug-yassl/label_exp/centos6-64/percona-server-5.6.25-73.1/sql/sql_parse.cc:1442
#17 0x00000000007e210c in do_command (thd=0x7f76ebfe7000) at /mnt/workspace/percona-server-5.6-binaries-debug-yassl/label_exp/centos6-64/percona-server-5.6.25-73.1/sql/sql_parse.cc:1054
#18 0x00000000007a9f60 in do_handle_one_connection (thd_arg=0x7f76ebfe7000) at /mnt/workspace/percona-server-5.6-binaries-debug-yassl/label_exp/centos6-64/percona-server-5.6.25-73.1/sql/sql_connect.cc:1541
#19 0x00000000007a99e0 in handle_one_connection (arg=0x7f76ebfe7000) at /mnt/workspace/percona-server-5.6-binaries-debug-yassl/label_exp/centos6-64/percona-server-5.6.25-73.1/sql/sql_connect.cc:1444
#20 0x0000000000dd14df in pfs_spawn_thread (arg=0x7f76eeffdac0) at /mnt/workspace/percona-server-5.6-binaries-debug-yassl/label_exp/centos6-64/percona-server-5.6.25-73.1/storage/perfschema/pfs.cc:1860
#21 0x00007f76f207cdf5 in start_thread (arg=0x7f76f264c700) at pthread_create.c:308
#22 0x00007f76f0d461ad in clone () at ../sysdeps/unix/sysv/linux/x86_64/clone.S:113
(gdb) +set logging off

Ramesh Sivaraman (rameshvs02) wrote :

The server crashes the same if --innodb-read-only is set, which is a more general bug case.

summary: - InnoDB: Failing assertion: !srv_read_only_mode in log0log.cc line 2192
+ Setting innodb_log_archive crashes --innodb-read-only server | InnoDB:
+ Failing assertion: !srv_read_only_mode in log0log.cc line 2192
tags: added: low-hanging-fruit xtradb

Percona now uses JIRA for bug reports so this bug report is migrated to: https://jira.percona.com/browse/PS-1643

To post a comment you must log in.
This report contains Public information  Edit
Everyone can see this information.

Other bug subscribers

Bug attachments