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

mtr failure innodb.innodb_scrub (assertion) aix RelWithDebug build

Details

    Description

      EGuesnet can I get a hand with this please. Its constantly failing and with standard kind of debugging I've got a corrupted stack trace.

      As its an assertion its not just a test failure.
      https://buildbot.mariadb.org/#/builders/121/builds/1585/steps/6/logs/stdio

      Also reproducable on the CMAKE_BUILD_TYPE=Debug

      $ mysql-test/mtr --manual-gdb innodb.innodb_scrub 
      Logging: /home/mdborg/mariadb-server/mysql-test/mysql-test-run.pl  --manual-gdb innodb.innodb_scrub
      vardir: /home/mdborg/build-mariadb-server/mysql-test/var
      Checking leftover processes...
      Removing old var directory...
      Creating var directory '/home/mdborg/build-mariadb-server/mysql-test/var'...
      Checking supported features...
      2021-07-08  2:06:40 0 [Warning] WSREP: Failed to guess base node address. Set it explicitly via wsrep_node_address.
      2021-07-08  2:06:40 0 [Warning] WSREP: Failed to guess base node address. Set it explicitly via wsrep_node_address.
      2021-07-08  2:06:40 0 [Warning] WSREP: Guessing address for incoming client connections failed. Try setting wsrep_node_incoming_address explicitly.
      2021-07-08  2:06:40 0 [Note] WSREP: Node addr: 
      MariaDB Version 10.5.12-MariaDB
       - SSL connections supported
       - binaries built with wsrep patch
      Collecting tests...
      Installing system database...
       
      ==============================================================================
       
      TEST                                      RESULT   TIME (ms) or COMMENT
      --------------------------------------------------------------------------
       
      worker[1] Using MTR_BUILD_THREAD 800, with reserved ports 26000..26019
       
      To start gdb for mysqld.1, type in another window:
      gdb -x /home/mdborg/build-mariadb-server/mysql-test/var/tmp/gdbinit.mysqld.1   /home/mdborg/build-mariadb-server/sql/mariadbd
      
      

      gdb -x /home/mdborg/build-mariadb-server/mysql-test/var/tmp/gdbinit.mysqld.1   /home/mdborg/build-mariadb-server/sql/mariadbd
      GNU gdb (GDB) 8.1.1
      Copyright (C) 2018 Free Software Foundation, Inc.
      License GPLv3+: GNU GPL version 3 or later <http://gnu.org/licenses/gpl.html>
      This is free software: you are free to change and redistribute it.
      There is NO WARRANTY, to the extent permitted by law.  Type "show copying"
      and "show warranty" for details.
      This GDB was configured as "powerpc64-ibm-aix6.1.0.0".
      Type "show configuration" for configuration details.
      For bug reporting instructions, please see:
      <http://www.gnu.org/software/gdb/bugs/>.
      Find the GDB manual and other documentation resources online at:
      <http://www.gnu.org/software/gdb/documentation/>.
      For help, type "help".
      Type "apropos word" to search for commands related to "word"...
      Reading symbols from /home/mdborg/build-mariadb-server/sql/mariadbd...done.
      (gdb) run
      Starting program: /home/mdborg/build-mariadb-server/sql/mariadbd --defaults-group-suffix=.1 --defaults-file=/home/mdborg/build-mariadb-server/mysql-test/var/my.cnf --log-output=file --innodb --innodb-cmpmem --innodb-cmp-per-index --innodb-trx --innodb-locks --innodb-lock-waits --innodb-metrics --innodb-buffer-pool-stats --innodb-buffer-page --innodb-buffer-page-lru --innodb-sys-columns --innodb-sys-fields --innodb-sys-foreign --innodb-sys-foreign-cols --innodb-sys-indexes --innodb-sys-tables --innodb-sys-virtual --innodb-immediate-scrub-data-uncompressed=ON --core-file --loose-debug-sync-timeout=300 --loose-gdb < /dev/null
      BFD: BFD (GNU Binutils) 2.29.51 assertion fail format.c:453
      warning: "/usr/lib/libdl.a": member "shr_64.o" missing.
      warning: Could not load shared library symbols for /usr/lib/libdl.a(shr_64.o).
      Do you need "set solib-search-path" or "set sysroot"?
      [New Thread 1]
      2021-07-08  2:07:15 0 [Note] /home/mdborg/build-mariadb-server/sql/mariadbd (mysqld 10.5.12-MariaDB-log) starting as process 13172792 ...
      [New Thread 258]
      [New Thread 515]
      [New Thread 772]
      [New Thread 1030]
      [New Thread 1287]
      [New Thread 1544]
      [New Thread 1801]
      [New Thread 2058]
      [New Thread 2315]
      [New Thread 2572]
      [New Thread 2829]
      [New Thread 3086]
      [New Thread 3343]
      [New Thread 3600]
      [New Thread 3857]
      [New Thread 4114]
      [New Thread 4371]
      [New Thread 4628]
      [New Thread 4885]
      [New Thread 5142]
      [New Thread 5399]
      [New Thread 5656]
      [New Thread 5913]
      [New Thread 6170]
      [New Thread 6427]
      [New Thread 6684]
      [New Thread 6941]
      [New Thread 7198]
      [New Thread 7455]
      [New Thread 7712]
      [New Thread 7969]
       
      Thread 2 received signal SIGABRT, Aborted.
      [Switching to Thread 1]
      0x0000000000000000 in ?? ()
      (gdb) bt
      #0  0x0000000000000000 in ?? ()
      (gdb) bt full
      #0  0x0000000000000000 in ?? ()
      No symbol table info available.
      

      notes on other aix errors:

      • main.long_unique / main.query_cache memory rlimit issue that I'll correct shortly
      • plugins.server_audit / innodb.temporary_table / type_inet.type_inet6 / type_test.type_test_double - probably something simple however a non-functional debugging environment makes it hard to track down.

      Attachments

        Issue Links

          Activity

            I will take over this. I suspect that also s390x on Linux may be affected, and the problems should not be limited to scrubbing.

            Possibly the difference between alignas and MY_ALIGNED is that the latter may be silently ignored by the compiler when the requested alignment cannot be guaranteed. (On Debian GNU/Linux on s390x, GCC 5 complained about alignas, but MY_ALIGNED was fine. We did not check the actual alignment.)

            10.5 might appear to work, because it did not yet default to innodb_flush_method=O_DIRECT (MDEV-25121). I do not know if we support O_DIRECT on AIX, or whether AIX would allow unaligned buffers to be used with it.

            marko Marko Mäkelä added a comment - I will take over this. I suspect that also s390x on Linux may be affected, and the problems should not be limited to scrubbing. Possibly the difference between alignas and MY_ALIGNED is that the latter may be silently ignored by the compiler when the requested alignment cannot be guaranteed. (On Debian GNU/Linux on s390x, GCC 5 complained about alignas , but MY_ALIGNED was fine. We did not check the actual alignment.) 10.5 might appear to work, because it did not yet default to innodb_flush_method=O_DIRECT ( MDEV-25121 ). I do not know if we support O_DIRECT on AIX, or whether AIX would allow unaligned buffers to be used with it.

            Apart from the special 64KiB all-zero buffer field_ref_zero, which should now be 4KiB-aligned, there were a few 512-byte aligned log buffers related to ib_logfile0, which were previously allocated statically or from the stack. Now we use guaranteed aligned heap memory allocation for those as well.

            marko Marko Mäkelä added a comment - Apart from the special 64KiB all-zero buffer field_ref_zero , which should now be 4KiB-aligned, there were a few 512-byte aligned log buffers related to ib_logfile0 , which were previously allocated statically or from the stack. Now we use guaranteed aligned heap memory allocation for those as well.

            Hi @marko,
            If you have a pull request available, I will try to backport it on 10.6.3 for MariaDB users on AIX (I distribute packages).
            Moreover, you say 10.5 might appear to work, but I am able to reproduce the bug in 10.5.9. I am checking more recent version.

            EGuesnet Etienne Guesnet added a comment - Hi @marko, If you have a pull request available, I will try to backport it on 10.6.3 for MariaDB users on AIX (I distribute packages). Moreover, you say 10.5 might appear to work, but I am able to reproduce the bug in 10.5.9. I am checking more recent version.
            danblack Daniel Black added a comment -

            10.6.4 is coming out very soon.

            commit is - https://github.com/MariaDB/server/commit/82d5994520c239da1b6edf1b24e08138ae0c753d

            10.5 - test with mtr -mysqld=-innodb_flush_method=O_DIRECT --suite=innodb

            danblack Daniel Black added a comment - 10.6.4 is coming out very soon. commit is - https://github.com/MariaDB/server/commit/82d5994520c239da1b6edf1b24e08138ae0c753d 10.5 - test with mtr - mysqld= -innodb_flush_method=O_DIRECT --suite=innodb

            I confirm all is OK with the commit.
            I will wait Friday and official release before distributing it.
            Thanks.

            EGuesnet Etienne Guesnet added a comment - I confirm all is OK with the commit. I will wait Friday and official release before distributing it. Thanks.

            People

              marko Marko Mäkelä
              danblack Daniel Black
              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.