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

Compressed row format table tries to access freed blob

    XMLWordPrintable

Details

    Description

      Assert hit during RQG testing.
      Workflow:
      1. Start server, create some intial data,
      2. 33 concurrent connections run some DDL/DML mix
           At some point of time during that load the server gets killed (SIGKILL)
      4. Restart attempt
       
      In the current case the restart attempt fails with
      2020-06-13 12:11:14 0 [Note] InnoDB: Rolled back recovered transaction 3365
      2020-06-13 12:11:14 0 [ERROR] [FATAL] InnoDB: Trying to read [page id: space=7, page number=4294967295] which is outside the bounds of tablespace test/t2. Byte offset 0, len 2048
      ...
      t/ut0ut.cc:586(ib::fatal::~fatal())[0x56160582d5a6]
      fil/fil0fil.cc:3750(fil_report_invalid_page_access(page_id_t, char const*, unsigned long, unsigned long, bool))[0x5616057cef4d]
      buf/buf0rea.cc:347(buf_read_page_low(dberr_t*, bool, unsigned long, page_id_t, unsigned long, bool, bool))[0x56160578b33c]
      buf/buf0buf.cc:2627(buf_page_get_zip(page_id_t, unsigned long))[0x56160578c04b]
      btr/btr0cur.cc:7944(btr_copy_zblob_prefix(unsigned char*, unsigned long, unsigned long, unsigned long, unsigned long, unsigned long))[0x56160578c1e3]
      btr/btr0cur.cc:8068(btr_copy_externally_stored_field_prefix_low(unsigned char*, unsigned long, unsigned long, unsigned long, unsigned long, unsigned long))[0x561605a1a351]
      row/row0ext.cc:78(row_ext_cache_fill(row_ext_t*, unsigned long, fil_space_t*, dfield_t const*))[0x561605a1a6dd]
      row/row0ext.cc:124(row_ext_create(unsigned long, unsigned long const*, dict_table_t const&, dtuple_t const*, mem_block_info_t*))[0x5616055949ae]
      row/row0row.cc:601(row_build_low(unsigned long, dict_index_t const*, unsigned char const*, unsigned short const*, dict_table_t const*, dtuple_t const*, dict_add_v_col_t const*, unsigned long const*, row_ext_t**, mem_block_info_t*))[0x561605594bae]
      row/row0row.cc:661(row_build(unsigned long, dict_index_t const*, unsigned char const*, unsigned short const*, dict_table_t const*, dtuple_t const*, unsigned long const*, row_ext_t**, mem_block_info_t*))[0x5616055cec86]
      row/row0undo.cc:213(row_undo_search_clust_to_pcur(undo_node_t*))[0x561605a21b0e]
      row/row0uins.cc:430(row_undo_ins_parse_undo_rec(undo_node_t*, bool))[0x561605a22173]
      row/row0undo.cc:431(row_undo(undo_node_t*, que_thr_t*))[0x5616055d1628]
      row/row0undo.cc:492(row_undo_step(que_thr_t*))[0x5616055d1b58]
      que/que0que.cc:945(que_thr_step(que_thr_t*))[0x56160545ddaf]
      que/que0que.cc:1009(que_run_threads_low(que_thr_t*))[0x56160545e238]
      que/que0que.cc:1051(que_run_threads(que_thr_t*))[0x56160545e67b]
      trx/trx0roll.cc:634(trx_rollback_active(trx_t*))[0x5616056b2ae0]
      trx/trx0roll.cc:785(trx_rollback_recovered(bool))[0x5616056b40b3]
      trx/trx0roll.cc:839(trx_rollback_all_recovered)[0x5616056b4984]
      nptl/pthread_create.c:463(start_thread)[0x7fc94d6e06db]
       
      origin/10.5 574ef3800567a24a57812d46118579fb08aaf243 2020-06-13T11:59:34+03:00
       
      RQG
      git clone https://github.com/mleich1/rqg --branch experimental RQG
       
      perl rqg.pl \                   
      --grammar=conf/mariadb/table_stress_innodb_nocopy.yy \
      --gendata=conf/mariadb/table_stress.zz \
      --gendata_sql=conf/mariadb/table_stress.sql \
      --reporters=CrashRecovery1 \
      --mysqld=--innodb_use_native_aio=1 \
      --mysqld=--innodb_stats_persistent=off \
      --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 \
      --seed=random \
      --reporters=Backtrace \
      --reporters=ErrorLog \
      --reporters=Deadlock1 \
      --validators=None \
      --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 \
      --duration=300 \
      --mysqld=--loose-innodb_fatal_semaphore_wait_threshold=300 \
      --mysqld=--loose-innodb-sync-debug \
      --threads=33 \
      --mysqld=--innodb_page_size=4K \
      --mysqld=--innodb-buffer-pool-size=256M \
      --duration=300 \
      --no_mask \
      ... certain local settings ...
      

      Attachments

        Issue Links

          Activity

            People

              thiru Thirunarayanan Balathandayuthapani
              mleich Matthias Leich
              Votes:
              0 Vote for this issue
              Watchers:
              3 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.