[MDEV-441] Galera: InnoDB: Failing assertion: mode - (0xFUL & mode) == 512 || mode - (0xFUL & mode) == 0 || mode - (0xFUL & mode) == 4096 || mode - (0xF UL & mode) - 1024 == 4096 || mode - (0xFUL & mode) == 1024 Created: 2012-08-08  Updated: 2012-08-09  Resolved: 2012-08-09

Status: Closed
Project: MariaDB Server
Component/s: None
Affects Version/s: None
Fix Version/s: 5.5.25-galera

Type: Bug Priority: Major
Reporter: Elena Stepanova Assignee: Seppo Jaakola
Resolution: Cannot Reproduce Votes: 0
Labels: None

Issue Links:
Relates

 Description   

 
#3  <signal handler called>
#4  0x00007ffe10e023a5 in __GI_raise (sig=6) at ../nptl/sysdeps/unix/sysv/linux/raise.c:64
#5  0x00007ffe10e05b0b in __GI_abort () at abort.c:92
#6  0x0000000000b94873 in lock_rec_lock_fast (impl=0, mode=4610, block=0x7ffe01b8a080, heap_no=2, index=0x35ba818, thr=0x35cb838) at storage/xtradb/lock/lock0lock.c:2112
#7  0x0000000000b94ede in lock_rec_lock (impl=0, mode=4610, block=0x7ffe01b8a080, heap_no=2, index=0x35ba818, thr=0x35cb838) at storage/xtradb/lock/lock0lock.c:2286
#8  0x0000000000b9c0aa in lock_sec_rec_read_check_and_lock (flags=0, block=0x7ffe01b8a080, rec=0x7ffe0214007e "\200", index=0x35ba818, offsets=0x7ffe034f2630, mode=LOCK_S, gap_mode=512, thr=0x35cb838) at storage/xtradb/lock/lock0lock.c:5758
#9  0x0000000000becfde in row_ins_set_shared_rec_lock (type=512, block=0x7ffe01b8a080, rec=0x7ffe0214007e "\200", index=0x35ba818, offsets=0x7ffe034f2630, thr=0x35cb838) at storage/xtradb/row/row0ins.c:1164
#10 0x0000000000bed9fb in row_ins_check_foreign_constraint (check_ref=0, foreign=0x35b9788, table=0x35b51a8, entry=0x35cc0f8, thr=0x35cb838) at storage/xtradb/row/row0ins.c:1476
#11 0x0000000000a89219 in row_upd_check_references_constraints (node=0x35cb588, pcur=0x7ffe034f3030, table=0x35b51a8, index=0x35b8008, offsets=0x35cc5e0, thr=0x35cb838, mtr=0x7ffe034f3170) at storage/xtradb/row/row0upd.c:259
#12 0x0000000000a8bb53 in row_upd_sec_index_entry (node=0x35cb588, thr=0x35cb838) at storage/xtradb/row/row0upd.c:1661
#13 0x0000000000a8bd75 in row_upd_sec_step (node=0x35cb588, thr=0x35cb838) at storage/xtradb/row/row0upd.c:1710
#14 0x0000000000a8d4f0 in row_upd (node=0x35cb588, thr=0x35cb838) at storage/xtradb/row/row0upd.c:2340
#15 0x0000000000a8d7b9 in row_upd_step (thr=0x35cb838) at storage/xtradb/row/row0upd.c:2457
#16 0x0000000000a6bc2b in row_update_for_mysql (mysql_rec=0x35b34a8 "\375\002", prebuilt=0x35b9148) at storage/xtradb/row/row0mysql.c:1463
#17 0x0000000000a372ec in ha_innobase::update_row (this=0x35b1768, old_row=0x35b34a8 "\375\002", new_row=0x35b3498 "\375\002") at storage/xtradb/handler/ha_innodb.cc:6608
#18 0x00000000007e679f in handler::ha_update_row (this=0x35b1768, old_data=0x35b34a8 "\375\002", new_data=0x35b3498 "\375\002") at sql/handler.cc:5166
#19 0x00000000008ca862 in Update_rows_log_event::do_exec_row (this=0x35c4d50, rli=0x3582d80) at sql/log_event.cc:10827
#20 0x00000000008c4b65 in Rows_log_event::do_apply_event (this=0x35c4d50, rli=0x3582d80) at sql/log_event.cc:8331
#21 0x0000000000590c34 in Log_event::apply_event (this=0x35c4d50, rli=0x3582d80) at sql/log_event.h:1222
#22 0x0000000000624a7b in wsrep_apply_rbr (thd=0x35755a0, rbr_buf=0x35c53e0 "\375q\"P\023\001", buf_len=0) at sql/sql_parse.cc:8026
#23 0x0000000000625067 in wsrep_apply_cb (ctx=0x35755a0, buf=0x35c53e0, buf_len=90, global_seqno=6) at sql/sql_parse.cc:8105
#24 0x00007ffe0e628b17 in apply_wscoll (trx=..., apply_cb=0x624fb9 <wsrep_apply_cb(void*, void const*, unsigned long, long)>, recv_ctx=0x35755a0) at galera/src/replicator_smm.cpp:38
#25 apply_trx_ws (recv_ctx=0x35755a0, apply_cb=0x624fb9 <wsrep_apply_cb(void*, void const*, unsigned long, long)>, commit_cb=0x6252c4 <wsrep_commit_cb(void*, long, bool)>, trx=...) at galera/src/replicator_smm.cpp:82
#26 0x00007ffe0e6291dc in galera::ReplicatorSMM::apply_trx (this=0x35084e0, recv_ctx=0x35755a0, trx=<optimized out>) at galera/src/replicator_smm.cpp:464
#27 0x00007ffe0e6297e0 in galera::ReplicatorSMM::process_trx (this=0x35084e0, recv_ctx=0x35755a0, trx=0x35ca700) at galera/src/replicator_smm.cpp:1041
#28 0x00007ffe0e606bf4 in galera::GcsActionSource::dispatch (this=0x3508a68, recv_ctx=0x35755a0, act=<optimized out>) at galera/src/gcs_action_source.cpp:109
#29 0x00007ffe0e607353 in galera::GcsActionSource::process (this=0x3508a68, recv_ctx=0x35755a0) at galera/src/gcs_action_source.cpp:166
#30 0x00007ffe0e628575 in async_recv (recv_ctx=0x35755a0, this=0x35084e0) at galera/src/replicator_smm.cpp:370
#31 galera::ReplicatorSMM::async_recv (this=0x35084e0, recv_ctx=0x35755a0) at galera/src/replicator_smm.cpp:351
#32 0x00007ffe0e63cd8e in galera_recv (gh=<optimized out>, recv_ctx=<optimized out>) at galera/src/wsrep_provider.cpp:199
#33 0x0000000000625608 in wsrep_replication_process (thd=0x35755a0) at sql/sql_parse.cc:8260
#34 0x00000000005676b7 in start_wsrep_THD (arg=0x62555b) at sql/mysqld.cc:4764
#35 0x00007ffe116ffefc in start_thread (arg=0x7ffe034f6700) at pthread_create.c:304
#36 0x00007ffe10eaf59d in clone () at ../sysdeps/unix/sysv/linux/x86_64/clone.S:112

bzr version-info (maria-5.5-galera)

revision-id: jani@work-20120723081559-lcsbsui4dl9vsfbu
date: 2012-07-23 11:15:59 +0300
build-date: 2012-08-08 18:36:09 +0400
revno: 3342

Build options: -DCMAKE_BUILD_TYPE=Debug -DWITH_WSREP=ON -DWITH_INNODB_DISALLOW_WRITES=1

galera-23.2.1

Server command lines:

/home/elenst/galera-5.5/sql/mysqld --no-defaults --datadir=/home/elenst/galera-5.5/data1 --wsrep_provider=/home/elenst/galera-23.2.1-src/libgalera_smm.so --wsrep_sst_method=rsync --core --binlog-format=row --log-bin=master-bin --default-storage-engine=InnoDB --innodb_autoinc_lock_mode=2 --innodb_locks_unsafe_for_binlog=1 --innodb_flush_log_at_trx_commit=0 --innodb_doublewrite=0 --log-error=log.err --wsrep_sst_auth=galera:galera --basedir=/home/elenst/galera-5.5/ --port=8306 --loose-lc-messages-dir=/home/elenst/galera-5.5/sql/share --loose-language=/home/elenst/galera-5.5/sql/share/english --socket=/tmp/elenst-galera-1.sock --wsrep_cluster_address=gcomm:// --tmpdir=/home/elenst/galera-5.5/data1/tmp --wsrep_slave_threads=4 --general-log=1
 
/home/elenst/galera-5.5/sql/mysqld --no-defaults --datadir=/home/elenst/galera-5.5/data2 --wsrep_provider=/home/elenst/galera-23.2.1-src/libgalera_smm.so --wsrep_sst_method=rsync --core --binlog-format=row --log-bin=master-bin --default-storage-engine=InnoDB --innodb_autoinc_lock_mode=2 --innodb_locks_unsafe_for_binlog=1 --innodb_flush_log_at_trx_commit=0 --innodb_doublewrite=0 --log-error=log.err --wsrep_sst_auth=galera:galera --basedir=/home/elenst/galera-5.5/ --port=8307 --loose-lc-messages-dir=/home/elenst/galera-5.5/sql/share --loose-language=/home/elenst/galera-5.5/sql/share/english --socket=/tmp/elenst-galera-2.sock --wsrep_cluster_address=gcomm://127.0.0.1:4567?gmcast.listen_addr=tcp://127.0.0.1:4566 --tmpdir=/home/elenst/galera-5.5/data2/tmp --wsrep_slave_threads=4 --general-log=1

Status on the first node before the test:

| wsrep_local_state          | 4                                    |
| wsrep_local_state_comment  | Synced (6)                           |
| wsrep_cert_index_size      | 0                                    |
| wsrep_causal_reads         | 0                                    |
| wsrep_cluster_conf_id      | 2                                    |
| wsrep_cluster_size         | 2                                    |
| wsrep_cluster_state_uuid   | 1d28129e-e167-11e1-0800-9bf91eb535ae |
| wsrep_cluster_status       | Primary                              |
| wsrep_connected            | ON                                   |

Status on the first node shortly after the test:

| wsrep_local_state          | 0                                    |
| wsrep_local_state_comment  | Initialized (0)                      |
| wsrep_cert_index_size      | 10                                   |
| wsrep_causal_reads         | 0                                    |
| wsrep_cluster_conf_id      | 18446744073709551615                 |
| wsrep_cluster_size         | 1                                    |
| wsrep_cluster_state_uuid   | 1d28129e-e167-11e1-0800-9bf91eb535ae |
| wsrep_cluster_status       | non-Primary                          |
| wsrep_connected            | ON                                   |

Test case:

 
# On the first node, run
 
drop database if exists db1;
create database db1;
use db1;
create table t1 (pk int not null primary key, f1 int, key(f1)) engine=innodb;
create table t2 (pk int not null primary key, f2 int, foreign key(f2) references t1(f1)) engine=innodb;
insert into t1 values(1,13),(2,14),(3,15),(4,16);
insert into t2 values(1,15);
update t1 set f1=56 where pk=2;
 
# Check the status of the second node -- it crashed
 



 Comments   
Comment by Seppo Jaakola [ 2012-08-09 ]

The merge with lp:codership-mysql has probably brought a fix for this issue. A bug with foreign keys using non primary key index was fixed as part of: https://bugs.launchpad.net/codership-mysql/+bug/1013978

Comment by Seppo Jaakola [ 2012-08-09 ]

looks that recent merge with lp:codership-mysql brought a effective fix for this issue

Generated at Thu Feb 08 06:28:46 UTC 2024 using Jira 8.20.16#820016-sha1:9d11dbea5f4be3d4cc21f03a88dd11d8c8687422.