Details
-
Bug
-
Status: Closed (View Workflow)
-
Blocker
-
Resolution: Cannot Reproduce
-
5.5.34-galera
-
None
-
None
-
Linux
Description
mysqld process does not always stop even if you kill -9 <process_id>
Here how to repeat (you need latest version from mariadb-galera-5.5 branch):
Put attached files to mysql-test/suite/wsrep/t/ directory
test.opt
-binlog-format=row --innodb_autoinc_lock_mode=2 --innodb_locks_unsafe_for_binlog=1 --wsrep-provider=/usr/lib/libgalera_smm.so --wsrep-cluster-address=gcomm:// --wsrep-on=1 --log-bin --wsrep-debug=1
|
test.test
--source include/have_innodb.inc
|
--source include/have_wsrep.inc
|
--source include/have_binlog_format_row.inc
|
|
SET GLOBAL lock_wait_timeout = 2;
|
SET GLOBAL innodb_lock_wait_timeout = 1;
|
|
CREATE TABLE t1 (pk INT PRIMARY KEY) ENGINE=InnoDB;
|
CREATE OR REPLACE VIEW v1 AS SELECT pk FROM t1;
|
CREATE FUNCTION func1() RETURNS INTEGER RETURN 4;
|
CREATE FUNCTION func2() RETURNS INTEGER RETURN 4;
|
CREATE PROCEDURE proc1() SELECT func1() FROM v1;
|
|
|
--connect (con1,localhost,root,,test)
|
--connect (con2,localhost,root,,test)
|
|
--let $run = 100
|
|
while ($run)
|
{
|
--connection con1
|
--send
|
CREATE OR REPLACE ALGORITHM = TEMPTABLE VIEW v1 AS SELECT func2() AS pk FROM t1;
|
--connection con2
|
CALL proc1();
|
--connection con1
|
--reap
|
--dec $run
|
}
|
then run at mysql-test directory
./mysql-test-run.pl --ddd --suite=wsrep test
|
that will start debugger, type run at debugger command line, it will crash with SIGSEGV (yes this is known another bug)
type quit on command line, then see if process is still there
ps -ef | grep mysqld (it should be there and also address2line)
|
Now only way to get rid of is reboot. There are other similar means to get process to zombie state too easily...