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

InnoDB: Failing assertion: page_offset(rec) <= page_header_get_field(page, PAGE_HEAP_TOP)

    XMLWordPrintable

    Details

      Description

      Assert hit during RQG testing
      InnoDB: Assertion failure in file storage/innobase/include/page0page.ic line 563
      InnoDB: Failing assertion: page_offset(rec) <= page_header_get_field(page, PAGE_HEAP_TOP)
      ...
      (rr) bt
      #0  __GI_raise (sig=sig@entry=6) at ../sysdeps/unix/sysv/linux/raise.c:51
      #1  0x000004d07d986801 in __GI_abort () at abort.c:79
      #2  0x00005590c235d3fb in ut_dbg_assertion_failed (expr=0x5590c28f0e28 "page_offset(rec) <= page_header_get_field(page, PAGE_HEAP_TOP)", file=0x5590c28f0cb0 "storage/innobase/include/page0page.ic", line=563)
          at storage/innobase/ut/ut0dbg.cc:60
      #3  0x00005590c21b60d3 in page_rec_check (rec=0x55dc34392027 "") at storage/innobase/include/page0page.ic:563
      #4  0x00005590c21c3f5d in page_rec_is_supremum (rec=0x55dc34392027 "") at storage/innobase/include/page0page.ic:297
      #5  0x00005590c23a61c8 in btr_search_drop_page_hash_index (block=0x55dc33ed3a40) at storage/innobase/btr/btr0sea.cc:1212
      #6  0x00005590c23c329d in buf_page_create (page_id=..., page_size=..., mtr=0x5ee2174858a0) at storage/innobase/buf/buf0buf.cc:5615
      #7  0x00005590c245c7a4 in fsp_page_create (space=0x7fc21c7ec2c0, offset=152, page_size=..., rw_latch=RW_SX_LATCH, mtr=0x5ee2174858a0, init_mtr=0x5ee2174858a0) at storage/innobase/fsp/fsp0fsp.cc:1308
      #8  0x00005590c245ceff in fsp_alloc_free_page (space=0x7fc21c7ec2c0, page_size=..., hint=0, rw_latch=RW_SX_LATCH, mtr=0x5ee2174858a0, init_mtr=0x5ee2174858a0) at storage/innobase/fsp/fsp0fsp.cc:1455
      #9  0x00005590c246069b in fseg_alloc_free_page_low (space=0x7fc21c7ec2c0, page_size=..., seg_inode=0x55dc347f6f32 "", hint=0, direction=111 'o', rw_latch=RW_SX_LATCH, mtr=0x5ee2174858a0, init_mtr=0x5ee2174858a0, has_done_reservation=1)
          at storage/innobase/fsp/fsp0fsp.cc:2518
      #10 0x00005590c245ef4e in fseg_create_general (space_id=4294967294, page=0, byte_offset=60, has_done_reservation=1, mtr=0x5ee2174858a0) at storage/innobase/fsp/fsp0fsp.cc:2099
      #11 0x00005590c2358d2f in trx_undo_seg_create (rseg=0x7fc21c7e70c0, rseg_hdr=0x55dc33f70026 "\377\377\377\376", type=1, id=0x5ee217485828, undo_page=0x5ee217485830, mtr=0x5ee2174858a0) at storage/innobase/trx/trx0undo.cc:449
      #12 0x00005590c235b1f8 in trx_undo_create (trx=0x495e75edd390, rseg=0x7fc21c7e70c0, type=1, trx_id=2612, xid=0x7fc21c73b0d0, undo=0x495e75ede3d8, mtr=0x5ee2174858a0) at storage/innobase/trx/trx0undo.cc:1423
      #13 0x00005590c235ba63 in trx_undo_assign_undo (trx=0x495e75edd390, rseg=0x7fc21c7e70c0, undo=0x495e75ede3d8, type=1) at storage/innobase/trx/trx0undo.cc:1609
      #14 0x00005590c2339641 in trx_undo_report_row_operation (thr=0x2b543806c138, index=0x7fc22801c7d0, clust_entry=0x2b543801b520, update=0x0, cmpl_info=0, rec=0x0, offsets=0x0, roll_ptr=0x5ee217486390)
          at storage/innobase/trx/trx0rec.cc:2071
      #15 0x00005590c238be37 in btr_cur_ins_lock_and_undo (flags=2, cursor=0x5ee2174868a0, entry=0x2b543801b520, thr=0x2b543806c138, mtr=0x5ee217486c00, inherit=0x5ee217486428) at storage/innobase/btr/btr0cur.cc:2968
      #16 0x00005590c238c7a4 in btr_cur_optimistic_insert (flags=2, cursor=0x5ee2174868a0, offsets=0x5ee217486848, heap=0x5ee217486840, entry=0x2b543801b520, rec=0x5ee217486850, big_rec=0x5ee217486838, n_ext=0, thr=0x2b543806c138, mtr=0x5ee217486c00)
          at storage/innobase/btr/btr0cur.cc:3182
      #17 0x00005590c2272718 in row_ins_clust_index_entry_low (flags=2, mode=2, index=0x7fc22801c7d0, n_uniq=0, entry=0x2b543801b520, n_ext=0, thr=0x2b543806c138) at storage/innobase/row/row0ins.cc:2690
      #18 0x00005590c2273b83 in row_ins_clust_index_entry (index=0x7fc22801c7d0, entry=0x2b543801b520, thr=0x2b543806c138, n_ext=0) at storage/innobase/row/row0ins.cc:3142
      #19 0x00005590c2273f84 in row_ins_index_entry (index=0x7fc22801c7d0, entry=0x2b543801b520, thr=0x2b543806c138) at storage/innobase/row/row0ins.cc:3261
      #20 0x00005590c22744a6 in row_ins_index_entry_step (node=0x2b543806bed8, thr=0x2b543806c138) at storage/innobase/row/row0ins.cc:3412
      #21 0x00005590c227487c in row_ins (node=0x2b543806bed8, thr=0x2b543806c138) at storage/innobase/row/row0ins.cc:3549
      #22 0x00005590c2274c29 in row_ins_step (thr=0x2b543806c138) at storage/innobase/row/row0ins.cc:3669
      #23 0x00005590c22925cb in row_insert_for_mysql (mysql_rec=0x2b5438059eb8 "\377", prebuilt=0x2b543806b9b0) at storage/innobase/row/row0mysql.cc:1413
      #24 0x00005590c2157851 in ha_innobase::write_row (this=0x2b5438053970, record=0x2b5438059eb8 "\377") at storage/innobase/handler/ha_innodb.cc:8206
      #25 0x00005590c1f63980 in handler::ha_write_row (this=0x2b5438053970, buf=0x2b5438059eb8 "\377") at sql/handler.cc:6108
      #26 0x00005590c1cb8bf2 in write_record (thd=0x2b5438000ce8, table=0x2b543806adb8, info=0x2b5438010b28) at sql/sql_insert.cc:1941
      #27 0x00005590c1cbe112 in select_insert::send_data (this=0x2b5438010ae8, values=...) at sql/sql_insert.cc:3834
      #28 0x00005590c1d4e94f in end_send_group (join=0x2b5438010b90, join_tab=0x2b5438013160, end_of_records=false) at sql/sql_select.cc:20193
      #29 0x00005590c1d4bc48 in evaluate_join_record (join=0x2b5438010b90, join_tab=0x2b5438012db0, error=0) at sql/sql_select.cc:19093
      #30 0x00005590c1d4b6e7 in sub_select (join=0x2b5438010b90, join_tab=0x2b5438012db0, end_of_records=false) at sql/sql_select.cc:18912
      #31 0x00005590c1d4aabb in do_select (join=0x2b5438010b90, procedure=0x0) at sql/sql_select.cc:18417
      #32 0x00005590c1d2469a in JOIN::exec_inner (this=0x2b5438010b90) at sql/sql_select.cc:3638
      #33 0x00005590c1d23b52 in JOIN::exec (this=0x2b5438010b90) at sql/sql_select.cc:3433
      #34 0x00005590c1d24d0c in mysql_select (thd=0x2b5438000ce8, tables=0x2b5438067198, wild_num=0, fields=..., conds=0x0, og_num=1, order=0x0, group=0x2b54380679c8, having=0x0, proc_param=0x0, select_options=3489925888, result=0x2b5438010ae8, unit=
          0x2b54380642c8, select_lex=0x2b5438064a08) at sql/sql_select.cc:3833
      #35 0x00005590c1d18eb3 in handle_select (thd=0x2b5438000ce8, lex=0x2b5438064208, result=0x2b5438010ae8, setup_tables_done_option=1073741824) at sql/sql_select.cc:361
      #36 0x00005590c1cdd631 in mysql_execute_command (thd=0x2b5438000ce8) at sql/sql_parse.cc:4283
      #37 0x00005590c1d06033 in Prepared_statement::execute (this=0x2b543804f878, expanded_query=0x5ee2174889d0, open_cursor=false) at sql/sql_prepare.cc:4842
      #38 0x00005590c1d0456a in Prepared_statement::execute_loop (this=0x2b543804f878, expanded_query=0x5ee2174889d0, open_cursor=false, packet=0x0, packet_end=0x0) at sql/sql_prepare.cc:4271
      #39 0x00005590c1d02335 in mysql_sql_stmt_execute (thd=0x2b5438000ce8) at sql/sql_prepare.cc:3379
      #40 0x00005590c1cdb1ef in mysql_execute_command (thd=0x2b5438000ce8) at sql/sql_parse.cc:3548
      #41 0x00005590c1ce867d in mysql_parse (thd=0x2b5438000ce8, rawbuf=0x2b54380107b0 "EXECUTE stmt /* E_R Thread1 QNO 267 CON_ID 18 */", length=48, parser_state=0x5ee217489640, is_com_multi=false, is_next_command=false)
          at sql/sql_parse.cc:7741
      #42 0x00005590c1cd698a in dispatch_command (command=COM_QUERY, thd=0x2b5438000ce8, packet=0x2b5438008479 " EXECUTE stmt /* E_R Thread1 QNO 267 CON_ID 18 */ ", packet_length=50, is_com_multi=false, is_next_command=false)
          at sql/sql_parse.cc:1831
      #43 0x00005590c1cd5407 in do_command (thd=0x2b5438000ce8) at sql/sql_parse.cc:1385
      #44 0x00005590c1e2b28d in do_handle_one_connection (connect=0x35237383048) at sql/sql_connect.cc:1336
      #45 0x00005590c1e2aff8 in handle_one_connection (arg=0x35237383048) at sql/sql_connect.cc:1241
      #46 0x00002d7b2463c6db in start_thread (arg=0x5ee21748a700) at pthread_create.c:463
      #47 0x000004d07da6788f in clone () at ../sysdeps/unix/sysv/linux/x86_64/clone.S:95
      (rr)
       
      Query (0x2b5438010890): INSERT INTO `ps`  SELECT ( UpdateXML( 'j', '/c/dbcbdc/cbacbeadecc/d/eadd/acbeebecd/cbaabecbdb/d/beedbdcbe/daaa/cacecddd', 'm' ) ) ^ .....
      Status: NOT_KILLED
       
      origin/10.2 7710f28eecc3e9761d7431ae7ae4e88564d706dd 2020-06-15T09:29:17+03:00
      debug build
       
      RQG
      git clone https://github.com/mleich1/rqg --branch experimental RQG
      origin/experimental 611a31e38a3bc157392c0748c95991b6a248bb3b 2020-06-09T15:31:46+02:00
       
      rqg.pl \
      --redefine=conf/mariadb/general-workarounds.yy \
      --views \
      --vcols \
      --redefine=conf/mariadb/alter_table.yy \
      --redefine=conf/mariadb/bulk_insert.yy \
      --redefine=conf/mariadb/xa.yy \
      --grammar=conf/mariadb/functions.yy \
      --reporters=Backtrace,Deadlock1,ErrorLog \
      --validators=TransformerNoComparator \
      --transformers=ExecuteAsCTE,ExecuteAsDeleteReturning,ExecuteAsExecuteImmediate,ExecuteAsInsertSelect,ExecuteAsUnion,ExecuteAsUpdateDelete,ExecuteAsView,ExecuteAsPreparedTwice,ExecuteAsSPTwice \
      --mysqld=--innodb_use_native_aio=1 \
      --mysqld=--innodb_lock_schedule_algorithm=fcfs \
      --mysqld=--loose-idle_write_transaction_timeout=0 \
      --mysqld=--loose-idle_transaction_timeout=0 \
      --mysqld=--loose-idle_readonly_transaction_timeout=0 \
      --mysqld=--connect_timeout=60 \
      --mysqld=--interactive_timeout=28800 \
      --mysqld=--slave_net_timeout=60 \
      --mysqld=--net_read_timeout=30 \
      --mysqld=--net_write_timeout=60 \
      --mysqld=--loose-table_lock_wait_timeout=50 \
      --mysqld=--wait_timeout=28800 \
      --mysqld=--lock-wait-timeout=86400 \
      --mysqld=--innodb-lock-wait-timeout=50 \
      --no-mask \
      --queries=10000000 \
      --duration=100 \
      --seed=random \
      --mysqld=--log_output=none \
      --mysqld=--log-bin \
      --mysqld=--log_bin_trust_function_creators=1 \
      --mysqld=--loose-max-statement-time=30 \
      --mysqld=--loose-debug_assert_on_not_freed_memory=0 \
      --engine=InnoDB \
      --restart_timeout=120 \
      --threads=9 \
      --mysqld=--innodb_page_size=64K \
      --mysqld=--innodb-buffer-pool-size=24M \
      --duration=300 \
      --no_mask \
      ... certain local settings ...
      Please note that
      - some RQG reporter crashing the server and running than recovery is not involved
      - replication is not involved
      - XA is involved but its unknown if its required for the bug.
       
      The bug here looks like a sibling of
      - MDEV-21339
        But that differs because it fiddles with replication, FLUSH logs, etc.
      - MDEV-22371
        But that differs because the assert gets hit during crash recovery.
      

        Attachments

          Issue Links

            Activity

              People

              Assignee:
              thiru Thirunarayanan Balathandayuthapani
              Reporter:
              mleich Matthias Leich
              Votes:
              0 Vote for this issue
              Watchers:
              4 Start watching this issue

                Dates

                Created:
                Updated:
                Resolved:

                  Git Integration