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

Ruby script sometimes fails as External check

    Details

    • Type: Incident report
    • Status: Closed
    • Priority: Blocker
    • Resolution: Won't fix
    • Affects Version/s: 2.2.7, 2.4.2
    • Fix Version/s: None
    • Component/s: Proxy (P), Server (S)
    • Environment:
      Ruby script as external script.

      Description

      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).

        Attachments

          Activity

            People

            • Assignee:
              Unassigned
              Reporter:
              dotneft Alexey Pustovalov
            • Votes:
              0 Vote for this issue
              Watchers:
              1 Start watching this issue

              Dates

              • Created:
                Updated:
                Resolved: