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

Assertion `mode == 16 || mode == 12 || !fix_block->page.file_page_was_freed' failed in buf_page_get_gen (rollback requesting a freed undo page)

    XMLWordPrintable

    Details

      Description

      10.2 8f98835bb86550

      mysqld: /home/elenst/git/10.2/storage/innobase/buf/buf0buf.cc:4755: buf_block_t* buf_page_get_gen(const page_id_t&, const page_size_t&, ulint, buf_block_t*, ulint, const char*, unsigned int, mtr_t*, dberr_t*): Assertion `mode == 16 || mode == 12 || !fix_block->page.file_page_was_freed' failed.
      180307 17:45:23 [ERROR] mysqld got signal 6 ;
       
      #7  0x00007f776c99fc82 in __assert_fail () from /lib/x86_64-linux-gnu/libc.so.6
      #8  0x000055e779cfc09d in buf_page_get_gen (page_id=..., page_size=..., rw_latch=1, guess=0x0, mode=10, file=0x55e77a258078 "/home/elenst/git/10.2/storage/innobase/include/trx0undo.ic", line=180, mtr=0x7f77551c5b40, err=0x0) at /home/elenst/git/10.2/storage/innobase/buf/buf0buf.cc:4755
      #9  0x000055e779c74b95 in trx_undo_page_get_s_latched (page_id=..., mtr=0x7f77551c5b40) at /home/elenst/git/10.2/storage/innobase/include/trx0undo.ic:179
      #10 0x000055e779c77864 in trx_roll_pop_top_rec (trx=0x7f7757217198, undo=0x7f76e403b960, mtr=0x7f77551c5b40) at /home/elenst/git/10.2/storage/innobase/trx/trx0roll.cc:991
      #11 0x000055e779c77e14 in trx_roll_pop_top_rec_of_trx (trx=0x7f7757217198, roll_ptr=0x7f76e415e610, heap=0x7f76e415eae0) at /home/elenst/git/10.2/storage/innobase/trx/trx0roll.cc:1077
      #12 0x000055e779c12aaa in row_undo (node=0x7f76e415e5c8, thr=0x7f76e415e410) at /home/elenst/git/10.2/storage/innobase/row/row0undo.cc:269
      #13 0x000055e779c12d20 in row_undo_step (thr=0x7f76e415e410) at /home/elenst/git/10.2/storage/innobase/row/row0undo.cc:352
      #14 0x000055e779b75215 in que_thr_step (thr=0x7f76e415e410) at /home/elenst/git/10.2/storage/innobase/que/que0que.cc:1047
      #15 0x000055e779b7542f in que_run_threads_low (thr=0x7f76e415e410) at /home/elenst/git/10.2/storage/innobase/que/que0que.cc:1111
      #16 0x000055e779b755d8 in que_run_threads (thr=0x7f76e415e410) at /home/elenst/git/10.2/storage/innobase/que/que0que.cc:1151
      #17 0x000055e779c7506e in trx_rollback_to_savepoint_low (trx=0x7f7757217198, savept=0x0) at /home/elenst/git/10.2/storage/innobase/trx/trx0roll.cc:112
      #18 0x000055e779c753d9 in trx_rollback_for_mysql_low (trx=0x7f7757217198) at /home/elenst/git/10.2/storage/innobase/trx/trx0roll.cc:174
      #19 0x000055e779c756d0 in trx_rollback_low (trx=0x7f7757217198) at /home/elenst/git/10.2/storage/innobase/trx/trx0roll.cc:206
      #20 0x000055e779c75a07 in trx_rollback_for_mysql (trx=0x7f7757217198) at /home/elenst/git/10.2/storage/innobase/trx/trx0roll.cc:282
      #21 0x000055e779a7befe in innobase_rollback (hton=0x55e77d2d9740, thd=0x7f76e4000b00, rollback_trx=true) at /home/elenst/git/10.2/storage/innobase/handler/ha_innodb.cc:4862
      #22 0x000055e77986ffe0 in ha_rollback_trans (thd=0x7f76e4000b00, all=true) at /home/elenst/git/10.2/sql/handler.cc:1672
      #23 0x000055e779759585 in xa_trans_force_rollback (thd=0x7f76e4000b00) at /home/elenst/git/10.2/sql/transaction.cc:141
      #24 0x000055e77975b488 in trans_xa_commit (thd=0x7f76e4000b00) at /home/elenst/git/10.2/sql/transaction.cc:922
      #25 0x000055e779604619 in mysql_execute_command (thd=0x7f76e4000b00) at /home/elenst/git/10.2/sql/sql_parse.cc:6074
      #26 0x000055e779609a82 in mysql_parse (thd=0x7f76e4000b00, rawbuf=0x7f76e40111c8 "XA COMMIT 'xid191'  /* QNO 11370 CON_ID 17 */", length=45, parser_state=0x7f77551c8250, is_com_multi=false, is_next_command=false) at /home/elenst/git/10.2/sql/sql_parse.cc:7902
      #27 0x000055e7795f76b3 in dispatch_command (command=COM_QUERY, thd=0x7f76e4000b00, packet=0x7f76e4008951 "XA COMMIT 'xid191'  /* QNO 11370 CON_ID 17 */ ", packet_length=46, is_com_multi=false, is_next_command=false) at /home/elenst/git/10.2/sql/sql_parse.cc:1806
      #28 0x000055e7795f600f in do_command (thd=0x7f76e4000b00) at /home/elenst/git/10.2/sql/sql_parse.cc:1360
      #29 0x000055e77974436f in do_handle_one_connection (connect=0x55e77dd44eb0) at /home/elenst/git/10.2/sql/sql_connect.cc:1335
      #30 0x000055e7797440ef in handle_one_connection (arg=0x55e77dd44eb0) at /home/elenst/git/10.2/sql/sql_connect.cc:1241
      #31 0x00007f776d5e36ba in start_thread () from /lib/x86_64-linux-gnu/libpthread.so.0
      #32 0x00007f776ca7882d in clone () from /lib/x86_64-linux-gnu/libc.so.6
      

      I'm getting it after a while by running

      experimental f6acdbc55e206

      perl ./runall-trials.pl --trials=20 --duration=350 --threads=6 --seed=1520398074 --reporters=Backtrace,ErrorLog,Deadlock --validators=TransformerNoComparator --transformers=ExecuteAsCTE,ExecuteAsDeleteReturning,ExecuteAsExecuteImmediate,ExecuteAsInsertSelect,ExecuteAsUnion,ExecuteAsUpdateDelete,ExecuteAsView,ExecuteAsPreparedTwice,ExecuteAsSPTwice --redefine=conf/mariadb/general-workarounds.yy --mysqld=--log_output=FILE --views --vcols --redefine=conf/mariadb/alter_table.yy --redefine=conf/mariadb/bulk_insert.yy --redefine=conf/mariadb/xa.yy --mysqld=--log_bin_trust_function_creators=1 --mysqld=--log-bin --mysqld=--max-statement-time=30 --mysqld=--loose-debug_assert_on_not_freed_memory=0 --grammar=conf/mariadb/functions.yy --engine=InnoDB --basedir=<basedir> --vardir=<vardir>
      

      But it's not simplified and not guaranteed.

      Coredump and datadir are available.

        Attachments

          Issue Links

            Activity

              People

              Assignee:
              thiru Thirunarayanan Balathandayuthapani
              Reporter:
              elenst Elena Stepanova
              Votes:
              1 Vote for this issue
              Watchers:
              6 Start watching this issue

                Dates

                Created:
                Updated:
                Resolved: