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

        Issue Links

          Activity

            People

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

              Dates

                Created:
                Updated:
                Resolved:

                Git Integration

                  Error rendering 'com.xiplink.jira.git.jira_git_plugin:git-issue-webpanel'. Please contact your Jira administrators.