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

storage/innobase/page/page0cur.cc:1306: rec_t* page_cur_insert_rec_low(const page_cur_t*, dict_index_t*, const rec_t*, offset_t*, mtr_t*): Assertion `rdm - rd + bd <= insert_buf + rec_size' failed.

    XMLWordPrintable

    Details

      Description

      Assert hit during RQG testing on
      10.5 41fe972db7cb48ac4cf4047edbe24a4ae3339bd8 build with debug
      ...
      # 2020-02-17T14:38:46 [217502] | mysqld: storage/innobase/page/page0cur.cc:1306: rec_t* page_cur_insert_rec_low(const page_cur_t*, dict_index_t*, const rec_t*, offset_t*, mtr_t*): Assertion `rdm - rd + bd <= insert_buf + rec_size' failed.
      # 2020-02-17T14:38:46 [217502] | 200217 14:37:49 [ERROR] mysqld got signal 6 ;
      ...
      # 2020-02-17T14:38:46 [217502] | Query (0x7ff088011520): UPDATE t3 SET col1 = NULL LIMIT 2  /* E_R Thread1 QNO 18624 CON_ID 139 */
      # 2020-02-17T14:38:46 [217502] | Connection ID (thread ID): 139
      # 2020-02-17T14:38:46 [217502] | Status: NOT_KILLED
      ...
      # 2020-02-17T14:38:46 [217502] #3  <signal handler called>
      # 2020-02-17T14:38:46 [217502] #4  0x00007ff0e7b93207 in raise () from /lib64/libc.so.6
      # 2020-02-17T14:38:46 [217502] #5  0x00007ff0e7b948f8 in abort () from /lib64/libc.so.6
      # 2020-02-17T14:38:46 [217502] #6  0x00007ff0e7b8c026 in __assert_fail_base () from /lib64/libc.so.6
      # 2020-02-17T14:38:46 [217502] #7  0x00007ff0e7b8c0d2 in __assert_fail () from /lib64/libc.so.6
      # 2020-02-17T14:38:46 [217502] #8  0x0000563db646c2ee in page_cur_insert_rec_low (cur=0x7ff0e02cda18, index=0x7ff0842a4c90, rec=0x7ff088153636 "1111111111         \200", offsets=0x7ff088153610, mtr=0x7ff0e02cdd10) at storage/innobase/page/page0cur.cc:1306
      # 2020-02-17T14:38:46 [217502] #9  0x0000563db65ef508 in page_cur_tuple_insert (cursor=0x7ff0e02cda18, tuple=0x7ff088153180, index=0x7ff0842a4c90, offsets=0x7ff0e02cd9b8, heap=0x7ff0e02cd990, n_ext=0, mtr=0x7ff0e02cdd10) at storage/innobase/include/page0cur.ic:285
      # 2020-02-17T14:38:46 [217502] #10 0x0000563db65fa67f in btr_page_split_and_insert (flags=0, cursor=0x7ff0e02cda10, offsets=0x7ff0e02cd9b8, heap=0x7ff0e02cd990, tuple=0x7ff088153180, n_ext=0, mtr=0x7ff0e02cdd10) at storage/innobase/btr/btr0btr.cc:3012
      # 2020-02-17T14:38:46 [217502] #11 0x0000563db66260c6 in btr_cur_pessimistic_insert (flags=0, cursor=0x7ff0e02cda10, offsets=0x7ff0e02cd9b8, heap=0x7ff0e02cd990, entry=0x7ff088153180, rec=0x7ff0e02cd9c0, big_rec=0x7ff0e02cd9c8, n_ext=0, thr=0x7ff08815e8b0, mtr=0x7ff0e02cdd10) at storage/innobase/btr/btr0cur.cc:3754
      # 2020-02-17T14:38:46 [217502] #12 0x0000563db64e1ae3 in row_ins_sec_index_entry_low (flags=0, mode=33, index=0x7ff0842a4c90, offsets_heap=0x7ff088153590, heap=0x7ff088153a20, entry=0x7ff088153180, trx_id=0, thr=0x7ff08815e8b0) at storage/innobase/row/row0ins.cc:3139
      # 2020-02-17T14:38:46 [217502] #13 0x0000563db64e22b9 in row_ins_sec_index_entry (index=0x7ff0842a4c90, entry=0x7ff088153180, thr=0x7ff08815e8b0, check_foreign=true) at storage/innobase/row/row0ins.cc:3330
      # 2020-02-17T14:38:46 [217502] #14 0x0000563db6564b75 in row_upd_sec_index_entry (node=0x7ff08815e3f8, thr=0x7ff08815e8b0) at storage/innobase/row/row0upd.cc:2224
      # 2020-02-17T14:38:46 [217502] #15 0x0000563db6564dda in row_upd_sec_step (node=0x7ff08815e3f8, thr=0x7ff08815e8b0) at storage/innobase/row/row0upd.cc:2251
      # 2020-02-17T14:38:46 [217502] #16 0x0000563db6567d39 in row_upd (node=0x7ff08815e3f8, thr=0x7ff08815e8b0) at storage/innobase/row/row0upd.cc:3031
      # 2020-02-17T14:38:46 [217502] #17 0x0000563db656817d in row_upd_step (thr=0x7ff08815e8b0) at storage/innobase/row/row0upd.cc:3146
      # 2020-02-17T14:38:46 [217502] #18 0x0000563db6508e7d in row_update_for_mysql (prebuilt=0x7ff08815da80) at storage/innobase/row/row0mysql.cc:1889
      # 2020-02-17T14:38:46 [217502] #19 0x0000563db636717a in ha_innobase::update_row (this=0x7ff088117870, old_row=0x7ff088124a38 "\232\376\001", new_row=0x7ff0881247f0 "\232\376") at storage/innobase/handler/ha_innodb.cc:8569
      # 2020-02-17T14:38:46 [217502] #20 0x0000563db5e59047 in handler::ha_update_row (this=0x7ff088117870, old_data=0x7ff088124a38 "\232\376\001", new_data=0x7ff0881247f0 "\232\376") at sql/handler.cc:6702
      # 2020-02-17T14:38:46 [217502] #21 0x0000563db5c17e05 in mysql_update (thd=0x7ff088000a98, table_list=0x7ff088011660, fields=..., values=..., conds=0x0, order_num=0, order=0x0, limit=2, ignore=false, found_return=0x7ff0e02cffd0, updated_return=0x7ff0e02d0090) at sql/sql_update.cc:1055
      # 2020-02-17T14:38:46 [217502] #22 0x0000563db5af8b74 in mysql_execute_command (thd=0x7ff088000a98) at sql/sql_parse.cc:4360
      # 2020-02-17T14:38:46 [217502] #23 0x0000563db5b05121 in mysql_parse (thd=0x7ff088000a98, rawbuf=0x7ff088011520 "UPDATE t3 SET col1 = NULL LIMIT 2  /* E_R Thread1 QNO 18624 CON_ID 139 */", length=73, parser_state=0x7ff0e02d0580, is_com_multi=false, is_next_command=false) at sql/sql_parse.cc:7918
      # 2020-02-17T14:38:46 [217502] #24 0x0000563db5af0f26 in dispatch_command (command=COM_QUERY, thd=0x7ff088000a98, packet=0x7ff0880e3759 "UPDATE t3 SET col1 = NULL LIMIT 2  /* E_R Thread1 QNO 18624 CON_ID 139 */ ", packet_length=74, is_com_multi=false, is_next_command=false) at sql/sql_parse.cc:1845
      # 2020-02-17T14:38:46 [217502] #25 0x0000563db5aef5b3 in do_command (thd=0x7ff088000a98) at sql/sql_parse.cc:1364
      # 2020-02-17T14:38:46 [217502] #26 0x0000563db5c91a3a in do_handle_one_connection (connect=0x563db9592838, put_in_cache=true) at sql/sql_connect.cc:1422
      # 2020-02-17T14:38:46 [217502] #27 0x0000563db5c91753 in handle_one_connection (arg=0x563db969add8) at sql/sql_connect.cc:1319
      # 2020-02-17T14:38:46 [217502] #28 0x00007ff0e8fa3dd5 in start_thread () from /lib64/libpthread.so.0
      # 2020-02-17T14:38:46 [217502] #29 0x00007ff0e7c5aead in clone () from /lib64/libc.so.6
       
      10.5.2 commit 6618fc29749f8521c5a0a007ae6d6fadb5121717
      No replay on 10.4, 10.3, 10.2
       
      How to replay
      ---------------------
      move the MDEV-21749.* to <source tree>/mysql-test/main
      cd <tree with binaries>/mysql-test
      ./mysql-test-run.pl --mem MDEV-21749 --mysqld=--innodb_page_size=4K --max-test-fail=0 --repeat=100
      I need usually less than 20 repeats.
      

        Attachments

        1. MDEV-21749.result
          0.1 kB
        2. MDEV-21749.test
          0.7 kB
        3. rqg.log
          2.78 MB

          Issue Links

            Activity

              People

              Assignee:
              marko Marko Mäkelä
              Reporter:
              mleich Matthias Leich
              Votes:
              0 Vote for this issue
              Watchers:
              3 Start watching this issue

                Dates

                Created:
                Updated:
                Resolved: