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

SIGABRT in wsrep::server_state::provider when setting invalid wsrep_provider (on optimized builds)

Details

    Description

      SET COLLATION_CONNECTION='utf16le_bin';
      SET GLOBAL wsrep_provider='/invalid/libgalera_smm.so';
      SET GLOBAL wsrep_cluster_address='OFF';
      SET GLOBAL wsrep_slave_threads=10;
      SELECT 1;
      

      Leads to:

      10.5.5 e1013725ce0f3f947e728491eef75d9985e8db2f

      Core was generated by `/test/MD250620-mariadb-10.5.5-linux-x86_64-opt/bin/mysqld --no-defaults --core-'.
      Program terminated with signal SIGABRT, Aborted.
      #0  __GI_raise (sig=sig@entry=6) at ../sysdeps/unix/sysv/linux/raise.c:51
      [Current thread is 1 (Thread 0x1516264dc700 (LWP 3267502))]
      (gdb) bt
      #0  __GI_raise (sig=sig@entry=6) at ../sysdeps/unix/sysv/linux/raise.c:51
      #1  0x000015162e8ff801 in __GI_abort () at abort.c:79
      #2  0x000015162f0da957 in ?? () from /usr/lib/x86_64-linux-gnu/libstdc++.so.6
      #3  0x000015162f0e0ae6 in ?? () from /usr/lib/x86_64-linux-gnu/libstdc++.so.6
      #4  0x000015162f0e0b21 in std::terminate() () from /usr/lib/x86_64-linux-gnu/libstdc++.so.6
      #5  0x000015162f0e0d54 in __cxa_throw () from /usr/lib/x86_64-linux-gnu/libstdc++.so.6
      #6  0x000056120039f704 in wsrep::server_state::provider (this=<optimized out>) at /test/10.5_opt/wsrep-lib/include/wsrep/server_state.hpp:310
      #7  Wsrep_server_state::get_provider () at /test/10.5_opt/sql/wsrep_server_state.h:51
      #8  wsrep_replication_process (thd=0x15160c012018, arg=<optimized out>) at /test/10.5_opt/sql/wsrep_thd.cc:58
      #9  0x000056120038ee14 in start_wsrep_THD (arg=arg@entry=0x15160c446160) at /test/10.5_opt/sql/wsrep_mysqld.cc:2964
      #10 0x000056120030fdaa in pfs_spawn_thread (arg=0x15160c47f218) at /test/10.5_opt/storage/perfschema/pfs.cc:2201
      #11 0x000015162f5e26db in start_thread (arg=0x1516264dc700) at pthread_create.c:463
      #12 0x000015162e9e088f in clone () at ../sysdeps/unix/sysv/linux/x86_64/clone.S:95
      

      Bug confirmed present in:
      MariaDB: 10.4.14 (opt), 10.5.5 (dbg), 10.5.5 (opt)

      Bug confirmed not present in:
      MariaDB: 10.1.46 (dbg), 10.1.46 (opt), 10.2.33 (dbg), 10.2.33 (opt), 10.3.24 (dbg), 10.3.24 (opt), 10.4.14 (dbg)
      MySQL: 5.5.62 (dbg), 5.5.62 (opt), 5.6.47 (dbg), 5.6.47 (opt), 5.7.29 (dbg), 5.7.29 (opt), 8.0.19 (dbg), 8.0.19 (opt)

      Attachments

        Issue Links

          Activity

            Slightly more resolved stack

            (gdb) bt
            #0  __GI_raise (sig=sig@entry=6) at ../sysdeps/unix/sysv/linux/raise.c:51
            #1  0x000014f4f5ce0801 in __GI_abort () at abort.c:79
            #2  0x000014f4f64c3c42 in __gnu_cxx::__verbose_terminate_handler() ()
               from /usr/lib/x86_64-linux-gnu/libstdc++.so.6
            #3  0x000014f4f64c1ae6 in ?? () from /usr/lib/x86_64-linux-gnu/libstdc++.so.6
            #4  0x000014f4f64c1b21 in std::terminate() () from /usr/lib/x86_64-linux-gnu/libstdc++.so.6
            #5  0x000014f4f64c1d54 in __cxa_throw () from /usr/lib/x86_64-linux-gnu/libstdc++.so.6
            #6  0x0000563bb78f1704 in wsrep::server_state::provider (this=<optimized out>)
                at /test/10.5_opt/wsrep-lib/include/wsrep/server_state.hpp:310
            #7  Wsrep_server_state::get_provider () at /test/10.5_opt/sql/wsrep_server_state.h:51
            #8  wsrep_replication_process (thd=0x14f4cf012018, arg=<optimized out>)
                at /test/10.5_opt/sql/wsrep_thd.cc:58
            #9  0x0000563bb78e0e14 in start_wsrep_THD (arg=arg@entry=0x14f4d1046160)
                at /test/10.5_opt/sql/wsrep_mysqld.cc:2964
            #10 0x0000563bb7861daa in pfs_spawn_thread (arg=0x14f4d107f218)
                at /test/10.5_opt/storage/perfschema/pfs.cc:2201
            #11 0x000014f4f69c36db in start_thread (arg=0x14f4ed891700) at pthread_create.c:463
            #12 0x000014f4f5dc188f in clone () at ../sysdeps/unix/sysv/linux/x86_64/clone.S:95
            

            Roel Roel Van de Paar added a comment - Slightly more resolved stack (gdb) bt #0 __GI_raise (sig=sig@entry=6) at ../sysdeps/unix/sysv/linux/raise.c:51 #1 0x000014f4f5ce0801 in __GI_abort () at abort.c:79 #2 0x000014f4f64c3c42 in __gnu_cxx::__verbose_terminate_handler() () from /usr/lib/x86_64-linux-gnu/libstdc++.so.6 #3 0x000014f4f64c1ae6 in ?? () from /usr/lib/x86_64-linux-gnu/libstdc++.so.6 #4 0x000014f4f64c1b21 in std::terminate() () from /usr/lib/x86_64-linux-gnu/libstdc++.so.6 #5 0x000014f4f64c1d54 in __cxa_throw () from /usr/lib/x86_64-linux-gnu/libstdc++.so.6 #6 0x0000563bb78f1704 in wsrep::server_state::provider (this=<optimized out>) at /test/10.5_opt/wsrep-lib/include/wsrep/server_state.hpp:310 #7 Wsrep_server_state::get_provider () at /test/10.5_opt/sql/wsrep_server_state.h:51 #8 wsrep_replication_process (thd=0x14f4cf012018, arg=<optimized out>) at /test/10.5_opt/sql/wsrep_thd.cc:58 #9 0x0000563bb78e0e14 in start_wsrep_THD (arg=arg@entry=0x14f4d1046160) at /test/10.5_opt/sql/wsrep_mysqld.cc:2964 #10 0x0000563bb7861daa in pfs_spawn_thread (arg=0x14f4d107f218) at /test/10.5_opt/storage/perfschema/pfs.cc:2201 #11 0x000014f4f69c36db in start_thread (arg=0x14f4ed891700) at pthread_create.c:463 #12 0x000014f4f5dc188f in clone () at ../sysdeps/unix/sysv/linux/x86_64/clone.S:95

            Also try with this similar testcase. If it does not crash, repeat last few commands a few times.

            SET NAMES utf8, collation_connection='utf16le_bin';
            SET @@global.wsrep_provider='/invalid/libgalera_smm.so';
            SET @@global.wsrep_cluster_address=AUTO;
            SET GLOBAL wsrep_slave_threads = 2;
            SELECT SLEEP(2);
            CREATE TABLE t (c INT);
            

            Roel Roel Van de Paar added a comment - Also try with this similar testcase. If it does not crash, repeat last few commands a few times. SET NAMES utf8, collation_connection='utf16le_bin'; SET @@global.wsrep_provider='/invalid/libgalera_smm.so'; SET @@global.wsrep_cluster_address=AUTO; SET GLOBAL wsrep_slave_threads = 2; SELECT SLEEP(2); CREATE TABLE t (c INT);

            jplindst due to the partial stack smashing, this bug affects testing. If you would have a moment to fix this it would be great. Thank you.

            Roel Roel Van de Paar added a comment - jplindst due to the partial stack smashing, this bug affects testing. If you would have a moment to fix this it would be great. Thank you.

            People

              jplindst Jan Lindström (Inactive)
              Roel Roel Van de Paar
              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.