Uploaded image for project: 'MariaDB Server'
  1. MariaDB Server
  2. MDEV-5339

MariaDB Galera process does not shut down

    Details

    • Type: Bug
    • Status: Closed
    • Priority: Blocker
    • Resolution: Cannot Reproduce
    • Affects Version/s: 5.5.34-galera
    • Fix Version/s: 5.5.36-galera
    • Component/s: None
    • Labels:
      None
    • Environment:
      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...

        Gliffy Diagrams

          Attachments

            Activity

            Hide
            nirbhay_c Nirbhay Choubey added a comment -

            the test fails with the following error :
            mysqltest: At line 30: query 'CALL proc1()' failed: 2027: Malformed packet

            Show
            nirbhay_c Nirbhay Choubey added a comment - the test fails with the following error : mysqltest: At line 30: query 'CALL proc1()' failed: 2027: Malformed packet
            Hide
            nirbhay_c Nirbhay Choubey added a comment -
            Show
            nirbhay_c Nirbhay Choubey added a comment - related to : https://mariadb.atlassian.net/browse/MDEV-4237

              People

              • Assignee:
                nirbhay_c Nirbhay Choubey
                Reporter:
                jplindst Jan Lindström
              • Votes:
                0 Vote for this issue
                Watchers:
                2 Start watching this issue

                Dates

                • Created:
                  Updated:
                  Resolved: