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

Assertion `in_LRU_list' failed in buf_page_t::ready_for_flush

    XMLWordPrintable

    Details

      Description

      10.5 6d3356c1

      mysqld: /data/src/10.5/storage/innobase/include/buf0buf.h:2208: bool buf_page_t::ready_for_flush() const: Assertion `in_LRU_list' failed.
      201030  9:23:51 [ERROR] mysqld got signal 6 ;
       
      #7  0x00007f330f779f36 in __GI___assert_fail (assertion=0x55cb13596309 "in_LRU_list", file=0x55cb13595a98 "/data/src/10.5/storage/innobase/include/buf0buf.h", line=2208, function=0x55cb135962e0 "bool buf_page_t::ready_for_flush() const") at assert.c:101
      #8  0x000055cb12ee7150 in buf_page_t::ready_for_flush (this=0x55cb13b8e330 <buf_pool+5424>) at /data/src/10.5/storage/innobase/include/buf0buf.h:2208
      #9  0x000055cb12ee1054 in buf_flush_try_neighbors (space=0x7f32b80bfcc8, page_id=..., contiguous=false, lru=false, n_flushed=214, n_to_flush=376) at /data/src/10.5/storage/innobase/buf/buf0flu.cc:1109
      #10 0x000055cb12ee258c in buf_do_flush_list_batch (max_n=376, lsn=18446744073709551615) at /data/src/10.5/storage/innobase/buf/buf0flu.cc:1426
      #11 0x000055cb12ee2d0f in buf_flush_lists (max_n=376, lsn=18446744073709551615) at /data/src/10.5/storage/innobase/buf/buf0flu.cc:1540
      #12 0x000055cb12ee59a7 in buf_flush_page_cleaner () at /data/src/10.5/storage/innobase/buf/buf0flu.cc:2125
      #13 0x00007f330fc91609 in start_thread (arg=<optimized out>) at pthread_create.c:477
      #14 0x00007f330f865293 in clone () at ../sysdeps/unix/sysv/linux/x86_64/clone.S:95
      

      Below is the test I use to reproduce it. However, the success seems to largely depend on the machine: I can reproduce it fairly easily on two very different machines, but can't reproduce it at all on two other machines, even after dozens of runs.
      Unfortunately two machines where I can reproduce it can't run rr, so I have no information so far whether it can even be reproduced with rr.

      git clone https://github.com/MariaDB/randgen --branch mdev24054 rqg-mdev24054
      cd rqg-mdev24054
      perl ./runall-trials.pl --basedir1=/data/bld/10.5 --grammar=conf/mariadb/oltp-transactional.yy --gendata-advanced --duration=350 --seed=1603918722 --reporters=Backtrace,ErrorLog,Deadlock --partitions --views --engine=InnoDB --filter=conf/mariadb/10.4-combo-filter.ff --redefine=conf/mariadb/bulk_insert.yy --redefine=conf/mariadb/alter_table.yy --redefine=conf/mariadb/sp.yy --redefine=conf/mariadb/modules/admin.yy --redefine=conf/mariadb/modules/alter_table_columns.yy --redefine=conf/mariadb/modules/alter_table_indexes.yy --redefine=conf/mariadb/modules/foreign_keys.yy --redefine=conf/mariadb/modules/locks.yy --mysqld=--server-id=111 --mysqld=--log_output=FILE --mysqld=--max-statement-time=20 --mysqld=--lock-wait-timeout=10 --mysqld=--innodb-lock-wait-timeout=5 --threads=2 --redefine=conf/mariadb/modules/dynamic_variables.yy --redefine=conf/mariadb/sequences.yy --redefine=conf/mariadb/versioning.yy --redefine=conf/mariadb/modules/optimizer_trace.yy --redefine=conf/mariadb/modules/parser_changes.yy --validators=TransformerNoComparator --transformers=ExecuteAsDeleteReturning,ExecuteAsInsertSelect,ExecuteAsUpdateDelete,EnableOptimizations,ExecuteAsInsertReturning --vardir1=/dev/shm/var_mdev24054 --trials=10 --output="buf_page_t::ready_for_flush"
      

      Remember to set the correct basedir path.

        Attachments

          Issue Links

            Activity

              People

              Assignee:
              marko Marko Mäkelä
              Reporter:
              elenst Elena Stepanova
              Votes:
              0 Vote for this issue
              Watchers:
              2 Start watching this issue

                Dates

                Created:
                Updated:
                Resolved:

                  Git Integration