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

Race condition in trx_purge_rseg_get_next_history_log()

    XMLWordPrintable

    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

              People

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

                Dates

                Created:
                Updated:
                Resolved:

                  Git Integration