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

Semisync slave io thread segfaults at STOP-SLAVE handling

    XMLWordPrintable

    Details

      Description

      When the semisync slave is being stopped with STOP SLAVE just after the master was shut down it attempts to reconnect with the master anyway per a semisync routine.
      Instead of an expected error the io-thread segfauls like

      #0 0x0000555555ecad06 in mysql_real_connect (mysql=0x7fff9801f2f8, host=0x7fff9801cad0 "127.0.0.1", user=0x7fff9801cd28 "root", passwd=0x7fff98007d38 "", db=0x0, port=10760, unix_socket=0x0, client_flag=0) at client.c:3660
      #1 0x0000555555dfa604 in Repl_semi_sync_slave::kill_connection (this=0x55555746ef70 <repl_semisync_slave>, mysql=0x7fff9801edd8) at semisync_slave.cc:141
      #2 0x0000555555dfa50c in Repl_semi_sync_slave::slave_stop (this=0x55555746ef70 <repl_semisync_slave>, mi=0x555558253ed0) at semisync_slave.cc:120
      #3 0x0000555555b2b7ec in handle_slave_io (arg=0x555558253ed0) at slave.cc:4980
      

      at the stack head function is executing

      if (!(client_flag & CLIENT_REMEMBER_OPTIONS) &&
      !mysql->options.extension->async_context)
      mysql_close_free_options(mysql);
      

      when mysql->options.extension is NULL.

      Apparently not-NULL check for mysql->options.extension is missed and should
      be deployed to fix the issue.

        Attachments

          Activity

            People

            Assignee:
            Elkin Andrei Elkin
            Reporter:
            Elkin Andrei Elkin
            Votes:
            0 Vote for this issue
            Watchers:
            2 Start watching this issue

              Dates

              Created:
              Updated:
              Resolved: