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

Innodb fails to start on older kernels that don't support F_DUPFD_CLOEXEC

    XMLWordPrintable

Details

    Description

      After 10.1.34 was released, we have received several reports of systems using the community repositories unable to start innodb with the error:

      InnoDB: Error: unable to create temporary file; errno: 22
      

      An strace shows:

      3517 1529471977.932867 fcntl(6, F_DUPFD_CLOEXEC, 0) = -1 EINVAL (Invalid argument) <0.000004>
      13517 1529471977.932897 write(2, "2018-06-20  2:19:37 47857084847680 [ERROR] mysqld: Out of resources when opening file 'ib*' (Errcode: 22 \"Invalid argument\")\n", 125) = 125 <0.000008>
      13517 1529471977.932931 close(6)              = 0 <0.000010>
      13517 1529471977.932955 write(2, "2018-06-20 02:19:37 2b86988ad640", 32) = 32 <0.000006>
      13517 1529471977.932978 write(2, "  InnoDB: Error: unable to create temporary file; errno: 22\n", 60) = 60 <0.000006>
      

      Seems that this was introduced in https://github.com/MariaDB/server/commit/bbee025370

      Likely need a runtime check added to ensure F_DUPFD_CLOEXEC is supported by the kernel.

      Haven't checked what other versions may be affected, but there are likely others.

      Attachments

        Issue Links

          Activity

            People

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