-
Incident report
-
Resolution: Won't fix
-
Blocker
-
None
-
2.2.7, 2.4.2
-
Ruby script as external script.
Sometimes Ruby script fails because of FD = 0 (stdin) is closed by Zabbix server/proxy before script execution.
The problem is described in https://redmine.ruby-lang.org/issues/5723 issue:
[BUG] rb_update_max_fd: invalid fd (0) given. ruby 1.9.3p0 (2011-10-30 revision 33570) [i686-linux] -- Control frame information ----------------------------------------------- c:0001 p:---- s:0002 b:0002 l:000001 d:000001 TOP -- C level backtrace information ------------------------------------------- -e [0x8173762] -e [0x81b7de8] -e(rb_bug+0x35) [0x81b7e85] -e [0x8073427] -e [0x8079be0] -e [0x806da5a] -e(ruby_init+0x97) [0x805b317] -e [0x8058887] /lib/libc.so.6(__libc_start_main+0xdc) [0x3cedec] -e [0x8058781] -- Other runtime information ----------------------------------------------- 0: can't convert false into String (TypeError)
The trace above is stored as item value.
Zabbix closed FD = 0 to decrease usage of files and avoid situations when max opened files option are reached. I suppose we need to document that Zabbix can use huge amount of opened FDs (files).