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

Hang in buf_page_create() after reusing a previously freed page

    XMLWordPrintable

    Details

      Description

      Work flow:
      1. Start the server
      2. One session creates a table, switches Autocommit off and starts to insert records into the table.
           There is no concurrent activity in the server.
      3. After less than 100 (?) records inserted (it looks as if there was no commit or rollback) InnoDB reports
           [ERROR] [FATAL] InnoDB: Semaphore wait has lasted > 300 seconds.
           and the server aborts.
           
      origin/bb-10.2-MDEV-24182 2b62e15e479aca04326b40e3090c97cdd2f0c1c3 2020-11-10
      Per Marko: It could be that this bug does not exist in 10.5.
       
       
      RQG
      ====
      git clone https://github.com/mleich1/rqg --branch experimental RQG
       
      perl rqg.pl \
      --grammar=MDEV-24182.yy \
      --gendata=MDEV-24182.zz \
      --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 \
      --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-debug_assert_on_not_freed_memory=0 \
      --engine=InnoDB \
      --sqltrace=MarkErrors \
      --restart_timeout=120 \
      --mysqld=--plugin-load-add=file_key_management.so \
      --mysqld=--loose-file-key-management-filename=/RQG/conf/mariadb/encryption_keys.txt \
      --duration=300 \
      --mysqld=--loose-innodb_fatal_semaphore_wait_threshold=300 \
      --mysqld=--innodb_stats_persistent=off \
      --mysqld=--loose-max-statement-time=30 \
      --threads=2 \
      --mysqld=--innodb_page_size=4K \
      --mysqld=--innodb-buffer-pool-size=8M \
      --duration=300 \
      --no_mask \
      --workdir=<local settings> \
      --vardir=<local settings> \
      --mtr-build-thread=<local settings> \
      --basedir1=<local settings> \
      --script_debug=_nix_ \
      --rr=Extended \
      --rr_options=--chaos
       
      Please note that many of the values set had zero impact on the failing RQG run.
      Because they have their impact in a phase of the workflow which was not reached at all.
      Examples:
      --grammar=MDEV-24182.yy \
      --queries=10000000 \
      --threads=2 \
      --seed=random \
      --reporters=...
      But the tool rqg.pl might insist in values.
      
      

        Attachments

        1. MDEV-24182.cc
          11 kB
        2. MDEV-24182.yy
          2 kB
        3. MDEV-24182.zz
          1 kB
        4. screenshot-1.png
          screenshot-1.png
          78 kB

          Issue Links

            Activity

              People

              Assignee:
              marko Marko Mäkelä
              Reporter:
              mleich Matthias Leich
              Votes:
              0 Vote for this issue
              Watchers:
              15 Start watching this issue

                Dates

                Created:
                Updated:
                Resolved:

                  Git Integration