-
Incident report
-
Resolution: Unresolved
-
Trivial
-
None
-
2.2.16rc1, 3.0.6rc1, 3.2.2rc1, 3.4.0alpha1
-
UNIX
Many thanks to syepes for discovering this one!
Start and stop Zabbix with at least one module to load, DebugLevel=4 and such modification of SIGTERM handler:
Index: src/libs/zbxnix/sighandler.c =================================================================== --- src/libs/zbxnix/sighandler.c (revision 62867) +++ src/libs/zbxnix/sighandler.c (working copy) @@ -83,7 +83,7 @@ zabbix_log(sig_parent_pid == SIG_CHECKED_FIELD(siginfo, si_pid) || SIGINT == sig ? LOG_LEVEL_DEBUG : LOG_LEVEL_WARNING, "Got signal [signal:%d(%s),sender_pid:%d,sender_uid:%d," - "reason:%d]. %s ...", + "reason:%d]. %s ... without unloading modules", sig, get_signal_name(sig), SIG_CHECKED_FIELD(siginfo, si_pid), SIG_CHECKED_FIELD(siginfo, si_uid),
Observe the log file:
8751:20160930:125402.105 server #0 started [main process]
...
8751:20160930:125410.301 Got signal [signal:15(SIGTERM),sender_pid:7446,sender_uid:1000,reason:0]. Exiting ...
8751:20160930:125410.301 zbx_on_exit() called
8756:20160930:125410.301 Got signal [signal:15(SIGTERM),sender_pid:8751,sender_uid:1000,reason:0]. Exiting ... without unloading modules
8769:20160930:125410.301 Got signal [signal:15(SIGTERM),sender_pid:8751,sender_uid:1000,reason:0]. Exiting ... without unloading modules
8780:20160930:125410.301 Got signal [signal:15(SIGTERM),sender_pid:8751,sender_uid:1000,reason:0]. Exiting ... without unloading modules
8757:20160930:125410.302 Got signal [signal:15(SIGTERM),sender_pid:8751,sender_uid:1000,reason:0]. Exiting ... without unloading modules
8765:20160930:125410.302 Got signal [signal:15(SIGTERM),sender_pid:8751,sender_uid:1000,reason:0]. Exiting ... without unloading modules
8766:20160930:125410.303 Got signal [signal:15(SIGTERM),sender_pid:8751,sender_uid:1000,reason:0]. Exiting ... without unloading modules
8781:20160930:125410.303 Got signal [signal:15(SIGTERM),sender_pid:8751,sender_uid:1000,reason:0]. Exiting ... without unloading modules
8768:20160930:125410.304 Got signal [signal:15(SIGTERM),sender_pid:8751,sender_uid:1000,reason:0]. Exiting ... without unloading modules
8786:20160930:125410.305 Got signal [signal:15(SIGTERM),sender_pid:8751,sender_uid:1000,reason:0]. Exiting ... without unloading modules
8771:20160930:125410.305 Got signal [signal:15(SIGTERM),sender_pid:8751,sender_uid:1000,reason:0]. Exiting ... without unloading modules
8773:20160930:125410.306 Got signal [signal:15(SIGTERM),sender_pid:8751,sender_uid:1000,reason:0]. Exiting ... without unloading modules
8774:20160930:125410.306 Got signal [signal:15(SIGTERM),sender_pid:8751,sender_uid:1000,reason:0]. Exiting ... without unloading modules
8775:20160930:125410.307 Got signal [signal:15(SIGTERM),sender_pid:8751,sender_uid:1000,reason:0]. Exiting ... without unloading modules
8776:20160930:125410.307 Got signal [signal:15(SIGTERM),sender_pid:8751,sender_uid:1000,reason:0]. Exiting ... without unloading modules
8777:20160930:125410.308 Got signal [signal:15(SIGTERM),sender_pid:8751,sender_uid:1000,reason:0]. Exiting ... without unloading modules
8778:20160930:125410.308 Got signal [signal:15(SIGTERM),sender_pid:8751,sender_uid:1000,reason:0]. Exiting ... without unloading modules
8779:20160930:125410.308 Got signal [signal:15(SIGTERM),sender_pid:8751,sender_uid:1000,reason:0]. Exiting ... without unloading modules
8782:20160930:125410.308 Got signal [signal:15(SIGTERM),sender_pid:8751,sender_uid:1000,reason:0]. Exiting ... without unloading modules
8784:20160930:125410.309 Got signal [signal:15(SIGTERM),sender_pid:8751,sender_uid:1000,reason:0]. Exiting ... without unloading modules
8785:20160930:125410.309 Got signal [signal:15(SIGTERM),sender_pid:8751,sender_uid:1000,reason:0]. Exiting ... without unloading modules
8764:20160930:125410.309 Got signal [signal:15(SIGTERM),sender_pid:8751,sender_uid:1000,reason:0]. Exiting ... without unloading modules
8762:20160930:125410.310 Got signal [signal:15(SIGTERM),sender_pid:8751,sender_uid:1000,reason:0]. Exiting ... without unloading modules
8758:20160930:125410.310 Got signal [signal:15(SIGTERM),sender_pid:8751,sender_uid:1000,reason:0]. Exiting ... without unloading modules
8761:20160930:125410.311 Got signal [signal:15(SIGTERM),sender_pid:8751,sender_uid:1000,reason:0]. Exiting ... without unloading modules
8783:20160930:125410.311 Got signal [signal:15(SIGTERM),sender_pid:8751,sender_uid:1000,reason:0]. Exiting ... without unloading modules
8763:20160930:125410.312 Got signal [signal:15(SIGTERM),sender_pid:8751,sender_uid:1000,reason:0]. Exiting ... without unloading modules
8787:20160930:125410.312 Got signal [signal:15(SIGTERM),sender_pid:8751,sender_uid:1000,reason:0]. Exiting ... without unloading modules
...
8751:20160930:125412.317 In zbx_unload_modules()
8751:20160930:125412.317 End of zbx_unload_modules()
8751:20160930:125412.317 Zabbix Server stopped. Zabbix 3.3.0 (revision {ZABBIX_REVISION}).
Probably zbx_on_exit() is not the right place for zbx_unload_modules(), it should be called by every Zabbix process.
Marked as critical because now modules can export historical data and not calling zbx_module_uninit() for every history syncer process can lead to data loss if module does its own data buffering.
- depends on
-
ZBXNEXT-3233 More controlled exit (server, proxy)
-
- Open
-