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

Server crash report broken if Galera is not loaded

    XMLWordPrintable

Details

    Description

      The commit https://github.com/MariaDB/server/commit/54a10a429334a9579558a5d284c510d6f8b5bc97 broke server crash report when Galera is not loaded. Now the crash report terminates too early with

      240920 17:57:28 [ERROR] mysqld got signal 6 ;
      Sorry, we probably made a mistake, and this is a bug.
       
      Your assistance in bug reporting will enable us to fix this for the next release.
      To report this bug, see https://mariadb.com/kb/en/reporting-bugs
       
      We will try our best to scrape up some info that will hopefully help
      diagnose the problem, but since we have already crashed, 
      something is definitely wrong and this may fail.
       
      Server version: 10.5.27-MariaDB-debug source revision: 0a5e4a0191ecedff7d57867b01864225615af430
      key_buffer_size=134217728
      read_buffer_size=131072
      max_used_connections=0
      max_threads=153
      thread_count=0
      It is possible that mysqld could use up to 
      key_buffer_size + (read_buffer_size + sort_buffer_size)*max_threads = 468030 K  bytes of memory
      Hope that's ok; if not, decrease some variables in the equation.
       
      WSREP: Suppressing further logging
      WSREP: Shutting down network communications
      terminate called after throwing an instance of 'wsrep::runtime_error'
        what():  provider not loaded
      

      The fix is to add a check whether the provider is loaded in Wsrep_server_state::handle_fatal_signal():

      diff --git a/sql/wsrep_server_state.cc b/sql/wsrep_server_state.cc
      index a936d9dd79d..3ed26d3381c 100644
      --- a/sql/wsrep_server_state.cc
      +++ b/sql/wsrep_server_state.cc
      @@ -87,7 +87,7 @@ void Wsrep_server_state::destroy()
       
       void Wsrep_server_state::handle_fatal_signal()
       {
      -  if (m_instance)
      +  if (m_instance && m_instance->is_provider_loaded())
         {
           /* Galera background threads are still running and the logging may be
              relatively verbose in case of networking error. Silence all wsrep
      

      Attachments

        Issue Links

          Activity

            People

              sysprg Julius Goryavsky
              teemu.ollakka Teemu Ollakka
              Votes:
              0 Vote for this issue
              Watchers:
              4 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.