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

Race condition in trx_purge_rseg_get_next_history_log()

Details

    Description

      In MDEV-15912, I made a mistake. The function trx_purge_rseg_get_next_history_log() would release the undo page latch by committing the mini-transaction. After that, we would wrongly read the page frame to assign a value of purge_sys.rseg->needs_purge.

      This was caught by ASAN heap-use-after-poison in a stress test, presumably related to buffer pool resizing.

      Attachments

        Issue Links

          Activity

            marko Marko Mäkelä created issue -
            marko Marko Mäkelä made changes -
            Field Original Value New Value
            marko Marko Mäkelä made changes -
            issue.field.resolutiondate 2021-08-23 15:19:23.0 2021-08-23 15:19:23.178
            marko Marko Mäkelä made changes -
            Fix Version/s 10.3.32 [ 26029 ]
            Fix Version/s 10.4.22 [ 26031 ]
            Fix Version/s 10.5.13 [ 26026 ]
            Fix Version/s 10.6.5 [ 26034 ]
            Fix Version/s 10.3 [ 22126 ]
            Fix Version/s 10.4 [ 22408 ]
            Fix Version/s 10.5 [ 23123 ]
            Fix Version/s 10.6 [ 24028 ]
            Fix Version/s 10.7 [ 24805 ]
            Resolution Fixed [ 1 ]
            Status Open [ 1 ] Closed [ 6 ]
            serg Sergei Golubchik made changes -
            Workflow MariaDB v3 [ 124524 ] MariaDB v4 [ 159635 ]

            People

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