[debian-mysql] Bug#984996: mariadb-server-core-10.5: modifies globalö environment, causing race conditions

Marc Lehmann debian-reportbug at plan9.de
Thu Mar 11 17:23:11 GMT 2021


Package: mariadb-server-core-10.5
Version: 1:10.5.9-1
Severity: normal

Dear Maintainer,

   * What led up to the situation?

various scripts (e.g. galera_new_cluster) and the systemd.unit modify the
global/systemwide environment, e.g. with variables _WSREP_START_POSITION.

This has the effect of polluting the environment of other sservices with
these variables, which is usually pretty harmless.

However, if there are multiple server instances then this creates a race
condition where starting/stopping one server or bootstrapping one cluster
will interfere with the other instance,s which could easily lead to
database corruption.

   * What exactly did you do (or not do) that was effective (or
     ineffective)?

I didn't try to solve the problem, it seems to be too fundamental to
easily work around. The mechanism (systemd environment block) is wholly
unsuitable to solve this problem.

   * What was the outcome of this action?

Environment polluted, critical environment variables of other services
erased/modified.

   * What outcome did you expect instead?

A systemd service should _never_ _ever_ modify the global environment.


-- System Information:
Debian Release: 10.8
  APT prefers stable
  APT policy: (990, 'stable'), (500, 'unstable-debug'), (500, 'testing-debug'), (500, 'stable-updates'), (500, 'stable-debug'), (500, 'unstable'), (500, 'testing'), (1, 'experimental-debug'), (1, 'experimental')
Architecture: amd64 (x86_64)
Foreign Architectures: i386, x32

Kernel: Linux 5.8.18-050818-generic (SMP w/8 CPU threads)
Kernel taint flags: TAINT_PROPRIETARY_MODULE, TAINT_OOT_MODULE, TAINT_UNSIGNED_MODULE
Locale: LANG=en_DK.UTF-8, LC_CTYPE=en_DK.UTF-8 (charmap=UTF-8), LANGUAGE not set
Shell: /bin/sh linked to /usr/bin/dash
Init: systemd (via /run/systemd/system)
LSM: AppArmor: enabled



More information about the pkg-mysql-maint mailing list