Uploaded image for project: 'Percona Server for MySQL'
  1. Percona Server for MySQL
  2. PS-5222

[PS8QA] PS crash "Assertion failure: dict0dict.cc:7451:space_id != SPACE_UNKNOWN" during upgrade from PS5.7.23 to PS8.0.13-3 with --innodb_file_per_table=OFF

Details

    • Bug
    • Status: Done
    • High
    • Resolution: Fixed
    • 8.0.13-3
    • 8.0.13-4
    • None
    • None

    Description

      PS8 crashes with "Assertion failure: dict0dict.cc:7451:space_id != SPACE_UNKNOWN" during upgrade from PS5.7.23 to PS8.0.13-3 with --innodb_file_per_table=OFF

      PS8.0.13-3 built in debug mode from branch release-8.0.13-3.

      Initialize PS5.7

      /home/mchawla/upgrade/percona-server-5.7.23-23-linux-x86_64/bin/mysqld --no-defaults --initialize-insecure --basedir=/home/mchawla/upgrade/percona-server-5.7.23-23-linux-x86_64 --datadir=/home/mchawla/upgrade/psdata --innodb_file_per_table=OFF
      

      Start PS5.7

      /home/mchawla/upgrade/percona-server-5.7.23-23-linux-x86_64/bin/mysqld --defaults-file=/home/mchawla/upgrade/ps_lower.cnf --basedir=/home/mchawla/upgrade/percona-server-5.7.23-23-linux-x86_64 --datadir=/home/mchawla/upgrade/psdata --port=58229 --innodb_file_per_table=OFF
      

      ps_lower.cnf

      [mysqld]
      basedir=/home/mchawla/upgrade/percona-server-5.7.23-23-linux-x86_64
      datadir=/home/mchawla/upgrade/psdata
      port=53731
      default-storage-engine=InnoDB
      binlog-format=ROW
      log-bin=mysql-bin
      server-id=101
      gtid-mode=ON 
      log-slave-updates
      enforce-gtid-consistency
      master-info-repository=TABLE
      relay-log-info-repository=TABLE
      innodb_flush_method=O_DIRECT
      core-file
      secure-file-priv=
      skip-name-resolve
      log-error=/home/mchawla/upgrade/logs/ps_lower.err
      socket=/home/mchawla/upgrade/ps_lower.sock
      log-output=none

      Create data

      /home/mchawla/upgrade/percona-server-5.7.23-23-linux-x86_64/bin/mysql -uroot -S/home/mchawla/upgrade/ps_lower.sock -e "drop database if exists test; create database test"
      
      sysbench /usr/share/sysbench/oltp_insert.lua --mysql_storage_engine=innodb --table-size=1000 --tables=10 --mysql-db=test --mysql-user=root --threads=10 --db-driver=mysql --mysql-socket=/home/mchawla/upgrade/ps_lower.sock prepare

      Stop PS 5.7

      /home/mchawla/upgrade/percona-server-5.7.23-23-linux-x86_64/bin/mysqladmin --socket=/home/mchawla/upgrade/ps_lower.sock -u root shutdown
      

      Start PS8.0.13-3

      /home/mchawla/upgrade/percona-server-8.0.13-3-linux-x86_64/bin/mysqld --defaults-file=/home/mchawla/upgrade/ps_upper.cnf --basedir=/home/mchawla/upgrade/percona-server-8.0.13-3-linux-x86_64 --datadir=/home/mchawla/upgrade/psdata --port=58229 --innodb_file_per_table=OFF

      ps_upper.cnf

      [mysqld]
      basedir=/home/mchawla/upgrade/percona-server-8.0.13-3-linux-x86_64-opt
      datadir=/home/mchawla/upgrade/psdata
      port=53731
      default-storage-engine=InnoDB
      binlog-format=ROW
      log-bin=mysql-bin
      server-id=101
      gtid-mode=ON 
      log-slave-updates
      enforce-gtid-consistency
      master-info-repository=TABLE
      relay-log-info-repository=TABLE
      innodb_flush_method=O_DIRECT
      core-file
      secure-file-priv=
      skip-name-resolve
      log-error=/home/mchawla/upgrade/logs/ps_upper.err
      socket=/home/mchawla/upgrade/ps_upper.sock
      log-output=none

      PS8.0.13-3 crashes

      2018-12-21T05:10:51.191817Z 0 [System] [MY-010116] [Server] /home/mchawla/upgrade/percona-server-8.0.13-3-linux-x86_64/bin/mysqld (mysqld 8.0.13-3-debug) starting as process 13176
      2018-12-21T05:11:00.334134Z 1 [ERROR] [MY-013183] [InnoDB] Assertion failure: dict0dict.cc:7451:space_id != SPACE_UNKNOWN thread 140077436864256
      InnoDB: We intentionally generate a memory trap.
      InnoDB: Submit a detailed bug report to http://bugs.mysql.com.
      InnoDB: If you get repeated assertion failures or crashes, even
      InnoDB: immediately after the mysqld startup, there may be
      InnoDB: corruption in the InnoDB tablespace. Please refer to
      InnoDB: http://dev.mysql.com/doc/refman/8.0/en/forcing-innodb-recovery.html
      InnoDB: about forcing recovery.
      05:11:00 UTC - mysqld got signal 6 ;
      This could be because you hit a bug. It is also possible that this binary
      or one of the libraries it was linked against is corrupt, improperly built,
      or misconfigured. This error can also be caused by malfunctioning hardware.
      Attempting to collect some information that could help diagnose the problem.
      As this is a crash and something is definitely wrong, the information
      collection process might fail.
      Please help us make Percona Server better by reporting any
      bugs at https://bugs.percona.com/
      
      key_buffer_size=8388608
      read_buffer_size=131072
      max_used_connections=0
      max_threads=152
      thread_count=1
      connection_count=0
      It is possible that mysqld could use up to
      key_buffer_size + (read_buffer_size + sort_buffer_size)*max_threads = 807349010 K  bytes of memory
      Hope that's ok; if not, decrease some variables in the equation.
      
      Thread pointer: 0x6f6a0d0
      Attempting backtrace. You can use the following information to find out
      where mysqld died. If you see no messages after this, something went
      terribly wrong...
      stack_bottom = 7f6651dd7c70 thread_stack 0x46000
      /home/mchawla/upgrade/percona-server-8.0.13-3-linux-x86_64/bin/mysqld(my_print_stacktrace(unsigned char*, unsigned long)+0x43) [0x3e9f8f7]
      /home/mchawla/upgrade/percona-server-8.0.13-3-linux-x86_64/bin/mysqld(handle_fatal_signal+0x3fe) [0x2e8046f]
      /usr/lib64/libpthread.so.0(+0xf5d0) [0x7f6667d055d0]
      /usr/lib64/libc.so.6(gsignal+0x37) [0x7f6665e06207]
      /usr/lib64/libc.so.6(abort+0x148) [0x7f6665e078f8]
      /home/mchawla/upgrade/percona-server-8.0.13-3-linux-x86_64/bin/mysqld(ut_dbg_assertion_failed(char const*, char const*, unsigned long)+0x17e) [0x43aadb4]
      /home/mchawla/upgrade/percona-server-8.0.13-3-linux-x86_64/bin/mysqld(dict_detect_encryption(bool)+0x51) [0x449ba39]
      /home/mchawla/upgrade/percona-server-8.0.13-3-linux-x86_64/bin/mysqld() [0x40e1764]
      /home/mchawla/upgrade/percona-server-8.0.13-3-linux-x86_64/bin/mysqld() [0x40f190d]
      /home/mchawla/upgrade/percona-server-8.0.13-3-linux-x86_64/bin/mysqld(dd::bootstrap::DDSE_dict_init(THD*, dict_init_mode_t, unsigned int)+0x88) [0x3bd46a3]
      /home/mchawla/upgrade/percona-server-8.0.13-3-linux-x86_64/bin/mysqld(dd::upgrade_57::do_pre_checks_and_initialize_dd(THD*)+0x562) [0x3df18c1]
      /home/mchawla/upgrade/percona-server-8.0.13-3-linux-x86_64/bin/mysqld() [0x2f8290b]
      /home/mchawla/upgrade/percona-server-8.0.13-3-linux-x86_64/bin/mysqld() [0x3f8843e]
      /usr/lib64/libpthread.so.0(+0x7dd5) [0x7f6667cfddd5]
      /usr/lib64/libc.so.6(clone+0x6d) [0x7f6665ecdead]
      
      Trying to get some variables.
      Some pointers may be invalid and cause the dump to abort.
      Query (0): Connection ID (thread ID): 1
      Status: NOT_KILLED
      
      You may download the Percona Server operations manual by visiting http://www.percona.com/software/percona-server/. You may find information
      in the manual which will help you identify the cause of the crash.
      Writing a core file
      

      Note: The issue does not come when
      1. PS8 debug build is run with --innodb_file_per_table=ON
      2. PS8 optimized build is run with --innodb_file_per_table=OFF

      Hence the issue comes when PS8 debug build is run with --innodb_file_per_table=OFF.

      Attachments

        Activity

          People

            satya.bodapati Satya Bodapati
            manish.chawla Manish Chawla
            Votes:
            0 Vote for this issue
            Watchers:
            5 Start watching this issue

            Dates

              Created:
              Updated:
              Resolved:

              Time Tracking

                Estimated:
                Original Estimate - Not Specified
                Not Specified
                Remaining:
                Remaining Estimate - Not Specified
                Not Specified
                Logged:
                Time Spent - 9 minutes
                9m

                Smart Checklist