MySQL crash when doing "SET GLOBAL rpl_semi_sync_master_enabled = 1;"

Bug #1499303 reported by Nerijus Bendziunas
6
This bug affects 1 person
Affects Status Importance Assigned to Milestone
MySQL Server
Unknown
Unknown
Percona Server moved to https://jira.percona.com/projects/PS
Status tracked in 5.7
5.5
New
Undecided
Unassigned
5.6
New
Undecided
Unassigned
5.7
New
Undecided
Unassigned

Bug Description

MySQL: Percona-Server-client-56-5.6.26-rel74.0.el6.x86_64
OS: CentOS 6.7

After plugin install:
mysql> SET GLOBAL rpl_semi_sync_master_enabled = 1;
Query OK, 0 rows affected (0.00 sec)
mysql> show status like '%semi%';
ERROR 2013 (HY000): Lost connection to MySQL server during query

Error log:
2015-09-24 10:24:36 27566 [Note] Start asynchronous binlog_dump to slave (server_id: 1007), pos(, 4)
2015-09-24 10:24:36 27566 [Note] Start semi-sync binlog_dump to slave (server_id: 601), pos(, 4)
2015-09-24 10:27:36 27566 [Note] Semi-sync replication initialized for transactions.
2015-09-24 10:27:36 27566 [Note] Semi-sync replication enabled on the master.
mysqld: /mnt/workspace/percona-server-5.6-redhat-binary-new/label_exp/centos6-64/rpmbuild/BUILD/percona-server-5.6.26-74.0/plugin/semisync/semisync_master.cc:792: int ReplSemiS
yncMaster::commitTrx(const char*, my_off_t): Assertion `entry' failed.

10:27:36 UTC - 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.
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.
Please help us make Percona Server better by reporting any
bugs at http://bugs.percona.com/

key_buffer_size=33554432
read_buffer_size=131072
max_used_connections=15
max_threads=4098
thread_count=17
connection_count=15
It is possible that mysqld could use up to
key_buffer_size + (read_buffer_size + sort_buffer_size)*max_threads = 1663117 K bytes of memory
Hope that's ok; if not, decrease some variables in the equation.

Thread pointer: 0x7ecb9ec13000
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 = 7ecb60973870 thread_stack 0x40000
/usr/sbin/mysqld(my_print_stacktrace+0x2c)[0x8cf68c]
/usr/sbin/mysqld(handle_fatal_signal+0x461)[0x6566d1]
/lib64/libpthread.so.0(+0xf790)[0x7efefa321790]
/lib64/libc.so.6(gsignal+0x35)[0x7efef8b7e625]
/lib64/libc.so.6(abort+0x175)[0x7efef8b7fe05]
/lib64/libc.so.6(+0x2b74e)[0x7efef8b7774e]
/lib64/libc.so.6(__assert_perror_fail+0x0)[0x7efef8b77810]
/usr/lib64/mysql/plugin/semisync_master.so(_ZN18ReplSemiSyncMaster9commitTrxEPKcy+0x7db)[0x7efef35fb73b]
/usr/sbin/mysqld(_ZN14Trans_delegate12after_commitEP3THDb+0x111)[0x651a51]
/usr/sbin/mysqld(_ZN13MYSQL_BIN_LOG32process_after_commit_stage_queueEP3THDS1_+0x105)[0x879ae5]
/usr/sbin/mysqld(_ZN13MYSQL_BIN_LOG14ordered_commitEP3THDbb+0x41a)[0x881a1a]
/usr/sbin/mysqld(_ZN13MYSQL_BIN_LOG6commitEP3THDb+0x234)[0x8821e4]
/usr/sbin/mysqld(_Z15ha_commit_transP3THDbb+0x347)[0x59a0b7]
/usr/sbin/mysqld(_Z12trans_commitP3THD+0x2e)[0x7629de]
/usr/sbin/mysqld(_ZN13Xid_log_event9do_commitEP3THD+0x12)[0x8630f2]
/usr/sbin/mysqld(_ZN13Xid_log_event14do_apply_eventEPK14Relay_log_info+0x320)[0x863520]
/usr/sbin/mysqld(_ZN9Log_event11apply_eventEP14Relay_log_info+0x6a)[0x85f10a]
/usr/sbin/mysqld(_Z26apply_event_and_update_posPP9Log_eventP3THDP14Relay_log_info+0x263)[0x8964c3]
/usr/sbin/mysqld(handle_slave_sql+0x120b)[0x899fdb]
/lib64/libpthread.so.0(+0x7a51)[0x7efefa319a51]
/lib64/libc.so.6(clone+0x6d)[0x7efef8c349ad]

Please note that this was happened on heavy loaded MySQL instance. On less busy server everything worked as expected.

Tags: upstream
Revision history for this message
Nilnandan Joshi (nilnandan-joshi) wrote :
Download full text (3.8 KiB)

Unable to reproduce this with 5.6.26. Can you provide the my.cnf files and full error log?

root@desktop:~# mysql -uroot -p
Enter password:
Welcome to the MySQL monitor. Commands end with ; or \g.
Your MySQL connection id is 39
Server version: 5.6.26-74.0-log Percona Server (GPL), Release 74.0, Revision 32f8dfd

Copyright (c) 2009-2015 Percona LLC and/or its affiliates
Copyright (c) 2000, 2015, Oracle and/or its affiliates. All rights reserved.

Oracle is a registered trademark of Oracle Corporation and/or its
affiliates. Other names may be trademarks of their respective
owners.

Type 'help;' or '\h' for help. Type '\c' to clear the current input statement.

mysql> show plugins;
+-----------------------------+----------+--------------------+--------------------+---------+
| Name | Status | Type | Library | License |
+-----------------------------+----------+--------------------+--------------------+---------+
| binlog | ACTIVE | STORAGE ENGINE | NULL | GPL |
...
..
| rpl_semi_sync_master | ACTIVE | REPLICATION | semisync_master.so | GPL |
| rpl_semi_sync_slave | ACTIVE | REPLICATION | semisync_slave.so | GPL |
+-----------------------------+----------+--------------------+--------------------+---------+
51 rows in set (0.01 sec)

mysql> show global variables like 'rpl_semi_sync_master_enabled';
+------------------------------+-------+
| Variable_name | Value |
+------------------------------+-------+
| rpl_semi_sync_master_enabled | OFF |
+------------------------------+-------+
1 row in set (0.01 sec)

mysql> SET GLOBAL rpl_semi_sync_master_enabled = 1;
Query OK, 0 rows affected (0.01 sec)

mysql> show global variables like 'rpl_semi_sync_master_enabled';
+------------------------------+-------+
| Variable_name | Value |
+------------------------------+-------+
| rpl_semi_sync_master_enabled | ON |
+------------------------------+-------+
1 row in set (0.00 sec)

mysql> show status like '%semi%';
+--------------------------------------------+-------+
| Variable_name | Value |
+--------------------------------------------+-------+
| Rpl_semi_sync_master_clients | 0 |
| Rpl_semi_sync_master_net_avg_wait_time | 0 |
| Rpl_semi_sync_master_net_wait_time | 0 |
| Rpl_semi_sync_master_net_waits | 0 |
| Rpl_semi_sync_master_no_times | 0 |
| Rpl_semi_sync_master_no_tx | 0 |
| Rpl_semi_sync_master_status | ON |
| Rpl_semi_sync_master_timefunc_failures | 0 |
| Rpl_semi_sync_master_tx_avg_wait_time | 0 |
| Rpl_semi_sync_master_tx_wait_time | 0 |
| Rpl_semi_sync_master_tx_waits | 0 |
| Rpl_semi_sync_master_wait_pos_backtraverse | 0 |
| Rpl_semi_sync_master_wait_sessions | 0 |
| Rpl_semi_sync_master_yes_tx | 0 |
| Rpl_semi_sync_slave_status | OFF |
+--------------------------------------------+-------+
15 rows in set (0.01 sec)

mysql> show global vari...

Read more...

Changed in percona-server:
status: New → Incomplete
Revision history for this message
Nerijus Bendziunas (nerijus-bendziunas) wrote :
Revision history for this message
Nerijus Bendziunas (nerijus-bendziunas) wrote :
Revision history for this message
Nerijus Bendziunas (nerijus-bendziunas) wrote :

Provided.

Changed in percona-server:
status: Incomplete → New
Revision history for this message
sbester (sbester) wrote :
tags: added: upstream
Revision history for this message
Shahriyar Rzayev (rzayev-sehriyar) wrote :

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

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

Other bug subscribers

Remote bug watches

Bug watches keep track of this bug in other bug trackers.