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

Assertion `page_rec_is_user_rec(rec)' failed in PageBulk::getSplitRec

    XMLWordPrintable

Details

    Description

      10.8 62419b17

      mysqld: /home/mariadb/split/10.8/storage/innobase/btr/btr0bulk.cc:642: rec_t* PageBulk::getSplitRec(): Assertion `page_rec_is_user_rec(rec)' failed.
      220610 12:36:59 [ERROR] mysqld got signal 6 ;
       
      #1  0x000000006fc4c7f1 in __GI_abort () at abort.c:79
      #2  0x000000006fc3c3fa in __assert_fail_base (fmt=0x6fdc36c0 "%s%s%s:%u: %s%sAssertion `%s' failed.\n%n", assertion=assertion@entry=0x5568f769eecf "page_rec_is_user_rec(rec)", 
          file=file@entry=0x5568f769ebb8 "/home/mariadb/split/10.8/storage/innobase/btr/btr0bulk.cc", line=line@entry=642, 
          function=function@entry=0x5568f76a0f70 <PageBulk::getSplitRec()::__PRETTY_FUNCTION__> "rec_t* PageBulk::getSplitRec()") at assert.c:92
      #3  0x000000006fc3c472 in __GI___assert_fail (assertion=0x5568f769eecf "page_rec_is_user_rec(rec)", file=0x5568f769ebb8 "/home/mariadb/split/10.8/storage/innobase/btr/btr0bulk.cc", 
          line=642, function=0x5568f76a0f70 <PageBulk::getSplitRec()::__PRETTY_FUNCTION__> "rec_t* PageBulk::getSplitRec()") at assert.c:101
      #4  0x00005568f6ef73a6 in PageBulk::getSplitRec (this=0x7fec8c1cae20) at /home/mariadb/split/10.8/storage/innobase/btr/btr0bulk.cc:642
      #5  0x00005568f6ef7be8 in BtrBulk::pageSplit (this=0xd9068174980, page_bulk=0x7fec8c1cae20, next_page_bulk=0x6c271820dcd0)
          at /home/mariadb/split/10.8/storage/innobase/btr/btr0bulk.cc:895
      #6  0x00005568f6ef7f83 in BtrBulk::pageCommit (this=0xd9068174980, page_bulk=0x7fec8c1cae20, next_page_bulk=0x6c271820dcd0, insert_father=true)
          at /home/mariadb/split/10.8/storage/innobase/btr/btr0bulk.cc:948
      #7  0x00005568f6ef7c43 in BtrBulk::pageSplit (this=0xd9068174980, page_bulk=0x7fec8c1cae20, next_page_bulk=0x7fec8c0a7260)
          at /home/mariadb/split/10.8/storage/innobase/btr/btr0bulk.cc:900
      #8  0x00005568f6ef7f83 in BtrBulk::pageCommit (this=0xd9068174980, page_bulk=0x7fec8c1cae20, next_page_bulk=0x7fec8c0a7260, insert_father=true)
          at /home/mariadb/split/10.8/storage/innobase/btr/btr0bulk.cc:948
      #9  0x00005568f6ef8631 in BtrBulk::insert (this=0xd9068174980, tuple=0x7fec8c2625f0, level=0) at /home/mariadb/split/10.8/storage/innobase/btr/btr0bulk.cc:1082
      #10 0x00005568f6de0b2a in BtrBulk::insert (this=0xd9068174980, tuple=0x7fec8c2625f0) at /home/mariadb/split/10.8/storage/innobase/include/btr0bulk.h:301
      #11 0x00005568f6e1794d in row_merge_insert_index_tuples (index=0xd90680607a0, old_table=0x55f208277b90, fd=..., block=0x0, row_buf=0x7fec8c14b080, btr_bulk=0xd9068174980, 
          table_total_rows=301, pct_progress=0, pct_cost=50, crypt_block=0x0, space=154, stage=0x0, blob_file=0x0) at /home/mariadb/split/10.8/storage/innobase/row/row0merge.cc:3879
      #12 0x00005568f6e13ab1 in row_merge_read_clustered_index (trx=0x78c22a3ecb80, table=0x6c27182103b0, old_table=0x55f208277b90, new_table=0x55f2080bf680, online=true, 
          index=0x7fec8c116b40, fts_sort_idx=0x0, psort_info=0x0, files=0x7fec8c14e7f0, key_numbers=0x7fec8c116b48, n_index=1, defaults=0x0, add_v=0x0, col_map=0x7fec8c1912d0, 
          add_autoinc=18446744073709551615, sequence=..., block=0x3d305ba9d000 "", skip_pk_sort=true, tmpfd=0x6c271820f408, stage=0x7fec8c0c7230, pct_cost=50, crypt_block=0x0, 
          eval_table=0x6c27182103b0, allow_not_null=false) at /home/mariadb/split/10.8/storage/innobase/row/row0merge.cc:2715
      #13 0x00005568f6e1a844 in row_merge_build_indexes (trx=0x78c22a3ecb80, old_table=0x55f208277b90, new_table=0x55f2080bf680, online=true, indexes=0x7fec8c116b40, 
          key_numbers=0x7fec8c116b48, n_indexes=1, table=0x6c27182103b0, defaults=0x0, col_map=0x7fec8c1912d0, add_autoinc=18446744073709551615, sequence=..., skip_pk_sort=true, 
          stage=0x7fec8c0c7230, add_v=0x0, eval_table=0x6c27182103b0, allow_not_null=false) at /home/mariadb/split/10.8/storage/innobase/row/row0merge.cc:4796
      #14 0x00005568f6cbbc82 in ha_innobase::inplace_alter_table (this=0xd906818d820, altered_table=0x6c27182103b0, ha_alter_info=0x6c27182102f0)
          at /home/mariadb/split/10.8/storage/innobase/handler/handler0alter.cc:8523
      #15 0x00005568f6646bbb in handler::ha_inplace_alter_table (this=0xd906818d820, altered_table=0x6c27182103b0, ha_alter_info=0x6c27182102f0) at /home/mariadb/split/10.8/sql/handler.h:4601
      #16 0x00005568f6c0879e in ha_partition::inplace_alter_table (this=0xd90681542d0, altered_table=0x6c27182103b0, ha_alter_info=0x6c27182102f0)
          at /home/mariadb/split/10.8/sql/ha_partition.cc:10526
      #17 0x00005568f6646bbb in handler::ha_inplace_alter_table (this=0xd90681542d0, altered_table=0x6c27182103b0, ha_alter_info=0x6c27182102f0) at /home/mariadb/split/10.8/sql/handler.h:4601
      #18 0x00005568f6637962 in mysql_inplace_alter_table (thd=0x7fec8c000d78, table_list=0x7fec8c013ec8, table=0xd90680cb2f8, altered_table=0x6c27182103b0, ha_alter_info=0x6c27182102f0, 
          target_mdl_request=0x6c2718210b80, ddl_log_state=0x6c2718210290, trigger_param=0x6c2718210770, alter_ctx=0x6c27182116e0, partial_alter=@0x6c2718210196: false, 
          start_alter_id=@0x6c27182101d0: 0, if_exists=true) at /home/mariadb/split/10.8/sql/sql_table.cc:7671
      #19 0x00005568f6640c5a in mysql_alter_table (thd=0x7fec8c000d78, new_db=0x7fec8c005820, new_name=0x7fec8c005c38, create_info=0x6c27182124f0, table_list=0x7fec8c013ec8, 
          alter_info=0x6c2718212400, order_num=0, order=0x0, ignore=false, if_exists=true) at /home/mariadb/split/10.8/sql/sql_table.cc:10705
      #20 0x00005568f66f2103 in Sql_cmd_alter_table::execute (this=0x7fec8c0145b0, thd=0x7fec8c000d78) at /home/mariadb/split/10.8/sql/sql_alter.cc:547
      #21 0x00005568f6526a8c in mysql_execute_command (thd=0x7fec8c000d78, is_called_from_prepared_stmt=false) at /home/mariadb/split/10.8/sql/sql_parse.cc:5988
      #22 0x00005568f652caba in mysql_parse (thd=0x7fec8c000d78, rawbuf=0x7fec8c013cf0 "ALTER /* QNO 14785 CON_ID 10 */ TABLE `table10_innodb_int_autoinc` ROW_FORMAT=COMPRESSED", length=88, 
          parser_state=0x6c2718213550) at /home/mariadb/split/10.8/sql/sql_parse.cc:8027
      ---Type <return> to continue, or q <return> to quit---
      #23 0x00005568f65191b4 in dispatch_command (command=COM_QUERY, thd=0x7fec8c000d78, 
          packet=0x7fec8c00b649 "ALTER /* QNO 14785 CON_ID 10 */ TABLE `table10_innodb_int_autoinc` ROW_FORMAT=COMPRESSED", packet_length=88, blocking=true)
          at /home/mariadb/split/10.8/sql/sql_parse.cc:1894
      #24 0x00005568f6517b39 in do_command (thd=0x7fec8c000d78, blocking=true) at /home/mariadb/split/10.8/sql/sql_parse.cc:1407
      #25 0x00005568f66e6f71 in do_handle_one_connection (connect=0x73c613f67438, put_in_cache=true) at /home/mariadb/split/10.8/sql/sql_connect.cc:1418
      #26 0x00005568f66e6c0c in handle_one_connection (arg=0x73c613f67438) at /home/mariadb/split/10.8/sql/sql_connect.cc:1312
      #27 0x00007fec79a8c6db in start_thread (arg=0x6c2718214700) at pthread_create.c:463
      #28 0x000000006fd2d61f in clone () at ../sysdeps/unix/sysv/linux/x86_64/clone.S:95
      

      I was reproducing it with this:

      git clone https://github.com/MariaDB/randgen --branch mdev28797 rqg-mdev28797
      cd rqg-mdev28797
      . ./mdev28797.cmd <basedir> [other options if needed]
      

      Without extra options, it runs 10 trials of an RQG test in shm and stops after the first failure of any kind.

      Reliability of the test is unclear though. On my machine it seems to fail more readily on SSD than in shm; on a lab machine, it seemed to happen more readily in shm with rr than in shm without rr or than on disk regardless rr. But statistics is insufficient to draw conclusions.
      On 10.7 I couldn't reproduce it at all in a few attempts. However, I've seen a different probably related assertion failure

      10.7 fe75e5e5

      mysqld: /data/src/10.7/storage/innobase/btr/btr0btr.cc:2790: rec_t* btr_page_split_and_insert(ulint, btr_cur_t*, rec_offs**, mem_heap_t**, const dtuple_t*, ulint, mtr_t*, dberr_t*): Assertion `*err == DB_SUCCESS' failed.
      220610 16:51:32 [ERROR] mysqld got signal 6 ;
      

      Attachments

        1. earth2kb.jpg
          earth2kb.jpg
          2 kB
        2. earth5kb.jpg
          earth5kb.jpg
          5 kB
        3. ja-4kb.txt
          3 kB

        Issue Links

          Activity

            People

              thiru Thirunarayanan Balathandayuthapani
              elenst Elena Stepanova
              Votes:
              0 Vote for this issue
              Watchers:
              5 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.