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
          Matthias Leich
        2. MDEV-24182.yy
          2 kB
          Matthias Leich
        3. MDEV-24182.zz
          1 kB
          Matthias Leich
        4. screenshot-1.png
          78 kB
          Olaf Buitelaar

        Issue Links

          Activity

            People

              marko Marko Mäkelä
              mleich Matthias Leich
              Votes:
              0 Vote for this issue
              Watchers:
              15 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.