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

SIGSEGV on SET GLOBAL innodb_log_file_size with memory-mapped log file

    XMLWordPrintable

Details

    Description

      mleich provided an rr replay trace where InnoDB would crash soon after a SET GLOBAL innodb_log_file_size=4194304 was completed. The reason appears to be that in log_t::resize_write() we fail to wrap around the log_sys.resize_lsn when the start offset (disregarding the length of the mini-transaction) exceeds the log_sys.resize_target (the requested size of the file). We would only perform the wrap-around when the start offset + the length would wrap around.

      In the trace that I analyzed, we would catch a SIGSEGV on an attempt to write to log_sys.buf at an offset somewhere between 4 MiB and 8 MiB while the size of the memory mapped region is 4 MiB.

      Attachments

        Issue Links

          Activity

            People

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