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

Starting service with mysqld_safe_helper fails in SELINUX "enforcing" mode



    • Bug
    • Status: Closed (View Workflow)
    • Major
    • Resolution: Fixed
    • 5.5.54
    • 5.5.55
    • Scripts & Clients
    • None
    • RHEL6 / CentOS6 - tested with centos/6 VM base image for Vagrant which is CentOS 6.8 at this point


      service mysql start bails out with weird error message from the new mysqld_safe_helper binary when having log-error option set in either [mysqld] or [mysqld_safe] section of my.cnf. Whether log-error is used with an explicit file name argument or not doesn't matter. Also when not having log-error in the config file at all mysqld_safe_helper is still throwing an error, but in this case the service startup script reports SUCCESS instead of ERROR

      The error message is

      # service mysql start
      Starting MySQL.161228 12:32:33 mysqld_safe Logging to '/var/lib/mysql/localhost.localdomain.err'.
      161228 12:32:33 mysqld_safe Starting mysqld daemon with databases from /var/lib/mysql
      /usr/bin/mysqld_safe_helper: Can't create/write to file '' (Errcode: -597589344)

      (Jira does not show this, but the actual file name shown in the error message is the unicode placeholder character for code point U+0001, and not just an empty string)

      The actual error code varies and is usually a large positive or negative value, but not a valid error code.

      When looking at strace output the parameters passed to mysqld_safe_helper look fine:

      execve("/usr/bin/mysqld_safe_helper", ["/usr/bin/mysqld_safe_helper", "mysql", "log", "/var/lib/mysql/localhost.localdomain.err"], ["TERM=xterm", "PATH=/sbin:/usr/sbin:/bin:/usr/bin:/usr/bin", "PWD=/usr", "SHLVL=2", "MYSQL_HOME=/usr", "_=/usr/bin/mysqld_safe_helper"]) = 0

      Also when running mysqld_safe_helper with the same arguments manually it works as expected without throwing an error at all:

      /usr/bin/mysqld_safe_helper mysql log /var/lib/mysql/localhost.localdomain.err

      Also when passing in an invalid file name a correct error message is displayed (^A here was entered using CTRL-V CTRL-A, so it is really 0x01

      /usr/bin/mysqld_safe_helper mysql log ^A
      /usr/bin/mysqld_safe_helper: Can't create/write to file '' (Errcode: 13)

      (again the file name in the actual error message is the U+0001 unicode placeholder, and not just an empty string)


        Issue Links



              serg Sergei Golubchik
              hholzgra Hartmut Holzgraefe
              1 Vote for this issue
              3 Start watching this issue



                Git Integration

                  Error rendering 'com.xiplink.jira.git.jira_git_plugin:git-issue-webpanel'. Please contact your Jira administrators.