Uploaded image for project: 'ZABBIX BUGS AND ISSUES'
  1. ZABBIX BUGS AND ISSUES
  2. ZBX-15048

Zombie processes occur when stopping zabbix during startup

XMLWordPrintable

    • Sprint 45
    • 0

      It has been reported in ZBX-15023 as well as other places that when Zabbix server is stopped during startup due to configuration error or system error then there are zombie processes.
      This happens because one of the child processes ignore kill signal from the main process.
      Not killed process can lead to situation when zabbix cannot be restarted because old processes already hold some resources that new process needs and will need to be killed manually.

      Possible reason:
      Many historical implementations have timing windows where a signal sent to a process group (for example, an interactive SIGINT) just prior to or during execution of fork() is delivered to the parent following the fork() but not to the child because the fork() code clears the child's set of pending signals

      Current suspicion is that when process is forked and killed at the same time then it might clear signal mask, it shall not be assumed that fork is atomic and main process shall retry sending kill signal to child processes if it takes more than one second to get response.
      Example patch attached.

        1. retry_kill.diff
          0.8 kB
          Vladislavs Sokurenko

            Unassigned Unassigned
            vso Vladislavs Sokurenko
            Team A
            Votes:
            0 Vote for this issue
            Watchers:
            2 Start watching this issue

              Created:
              Updated:
              Resolved: