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

Assertion `index->is_instant()' failed in rec_init_offsets upon trivial upgrade from 10.1

    Details

      Description

      To reproduce, just start 10.3 or 10.4 with all defaults on a freshly bootstrapped 10.1 or 10.0 datadir:

      10.3 8e3d85e1

      2019-10-12 16:35:18 0 [Note] InnoDB: Upgrading redo log: 2*50331648 bytes; LSN=1616717
      2019-10-12 16:35:18 0 [Note] InnoDB: Starting to delete and rewrite log files.
      2019-10-12 16:35:18 0 [Note] InnoDB: Setting log file ./ib_logfile101 size to 50331648 bytes
      2019-10-12 16:35:18 0 [Note] InnoDB: Setting log file ./ib_logfile1 size to 50331648 bytes
      2019-10-12 16:35:18 0 [Note] InnoDB: Renaming log file ./ib_logfile101 to ./ib_logfile0
      2019-10-12 16:35:18 0 [Note] InnoDB: New log files created, LSN=1616717
      mysqld: /data/src/10.3/storage/innobase/rem/rem0rec.cc:745: void rec_init_offsets(const rec_t*, const dict_index_t*, bool, ulint*): Assertion `index->is_instant()' failed.
      191012 16:35:18 [ERROR] mysqld got signal 6 ;
       
      #7  0x00007f10e70ddf12 in __GI___assert_fail (assertion=0x5606e33ff04f "index->is_instant()", file=0x5606e33fed70 "/data/src/10.3/storage/innobase/rem/rem0rec.cc", line=745, function=0x5606e3400a20 <rec_init_offsets(unsigned char const*, dict_index_t const*, bool, unsigned long*)::__PRETTY_FUNCTION__> "void rec_init_offsets(const rec_t*, const dict_index_t*, bool, ulint*)") at assert.c:101
      #8  0x00005606e2c0e5d8 in rec_init_offsets (rec=0x7f10c401008c "", index=0x5606e67798b8, leaf=true, offsets=0x7ffd8f428290) at /data/src/10.3/storage/innobase/rem/rem0rec.cc:745
      #9  0x00005606e2c0edeb in rec_get_offsets_func (rec=0x7f10c401008c "", index=0x5606e67798b8, offsets=0x7ffd8f428290, leaf=true, n_fields=18446744073709551615, file=0x5606e342de60 "/data/src/10.3/storage/innobase/row/row0sel.cc", line=1802, heap=0x7ffd8f4281f0) at /data/src/10.3/storage/innobase/rem/rem0rec.cc:867
      #10 0x00005606e2ca7bb6 in row_sel (node=0x5606e6823a98, thr=0x5606e6825cd0) at /data/src/10.3/storage/innobase/row/row0sel.cc:1801
      #11 0x00005606e2ca90be in row_sel_step (thr=0x5606e6825cd0) at /data/src/10.3/storage/innobase/row/row0sel.cc:2341
      #12 0x00005606e2bfe215 in que_thr_step (thr=0x5606e6825cd0) at /data/src/10.3/storage/innobase/que/que0que.cc:1013
      #13 0x00005606e2bfe65b in que_run_threads_low (thr=0x5606e6825cd0) at /data/src/10.3/storage/innobase/que/que0que.cc:1099
      #14 0x00005606e2bfe8ab in que_run_threads (thr=0x5606e6825cd0) at /data/src/10.3/storage/innobase/que/que0que.cc:1139
      #15 0x00005606e2bfeb54 in que_eval_sql (info=0x0, sql=0x5606e3412ba0 <row_merge_drop_temp_indexes()::sql> "PROCEDURE DROP_TEMP_INDEXES_PROC () IS\nixid CHAR;\nfound INT;\nDECLARE CURSOR index_cur IS\n SELECT ID FROM SYS_INDEXES\n WHERE SUBSTR(NAME,0,1)='\377'\nFOR UPDATE;\nBEGIN\nfound := 1;\nOPEN index_cur;\nWHILE fou"..., reserve_dict_mutex=0, trx=0x7f10d18de0f0) at /data/src/10.3/storage/innobase/que/que0que.cc:1216
      #16 0x00005606e2c56bc9 in row_merge_drop_temp_indexes () at /data/src/10.3/storage/innobase/row/row0merge.cc:4065
      #17 0x00005606e2b9be32 in recv_recovery_rollback_active () at /data/src/10.3/storage/innobase/log/log0recv.cc:3951
      #18 0x00005606e2cf243f in srv_start (create_new_db=false) at /data/src/10.3/storage/innobase/srv/srv0start.cc:2292
      #19 0x00005606e2ac80cf in innodb_init (p=0x5606e5c25ce0) at /data/src/10.3/storage/innobase/handler/ha_innodb.cc:4262
      #20 0x00005606e28a1a77 in ha_initialize_handlerton (plugin=0x5606e5c16b10) at /data/src/10.3/sql/handler.cc:549
      #21 0x00005606e25a2f59 in plugin_initialize (tmp_root=0x7ffd8f42f4b0, plugin=0x5606e5c16b10, argc=0x5606e3dca370 <remaining_argc>, argv=0x5606e5bb0d78, options_only=false) at /data/src/10.3/sql/sql_plugin.cc:1433
      #22 0x00005606e25a3ce5 in plugin_init (argc=0x5606e3dca370 <remaining_argc>, argv=0x5606e5bb0d78, flags=2) at /data/src/10.3/sql/sql_plugin.cc:1715
      #23 0x00005606e245fa8a in init_server_components () at /data/src/10.3/sql/mysqld.cc:5417
      #24 0x00005606e2460c49 in mysqld_main (argc=11, argv=0x5606e5bb0d78) at /data/src/10.3/sql/mysqld.cc:6024
      #25 0x00005606e2455220 in main (argc=11, argv=0x7ffd8f42fce8) at /data/src/10.3/sql/main.cc:25
      

      Same upon upgrade from 5.5, MySQL 5.6.

      It started happening very recently, I assume after this commit:

      commit 01f45becd1b71433e240959228e35266f271bba1
      Author: Marko Mäkelä
      Date:   Thu Oct 10 20:40:26 2019 +0300
       
          MDEV-19783: Add more assertions
      

      although I didn't check to confirm.

      An example of a freshly bootstrapped 10.1 datadir is attached as data.tar.gz.

        Attachments

          Activity

            People

            • Assignee:
              marko Marko Mäkelä
              Reporter:
              elenst Elena Stepanova
            • Votes:
              0 Vote for this issue
              Watchers:
              2 Start watching this issue

              Dates

              • Created:
                Updated:
                Resolved: