XMLWordPrintable

    • Icon: Incident report Incident report
    • Resolution: Fixed
    • Icon: Major Major
    • 1.8.5
    • 1.8.3
    • Proxy (P), Server (S)
    • None
    • CentOS 5.5 32bit

      Hello,

      Code for active/passive proxy data exchange uses zbx_tcp_recv, which is alias to zbx_tcp_recv_ext(s, data, 0, 0) . Zero timeout is bad and produces problems(http://www.zabbix.com/forum/showthread.php?t=19238 for example). No alarm() is used, like it used in trapper.
      I got following backtrace on zabbix poller process when proxy was Last seen (age) more than 1 hour.

      Core was generated by `zabbix_server_pgsql'.
      #0 0x0068e402 in __kernel_vsyscall ()
      (gdb) bt
      #0 0x0068e402 in __kernel_vsyscall ()
      #1 0x00584b23 in __read_nocancel () from /lib/libc.so.6
      #2 0x0808f86f in zbx_tcp_recv_ext ()
      #3 0x08071951 in get_data_from_proxy ()
      #4 0x08071e8e in main_proxypoller_loop ()
      #5 0x08056535 in MAIN_ZABBIX_ENTRY ()
      #6 0x0808543e in daemon_start ()
      #7 0x08056041 in main ()

      And process sits at this point till killed

      Quick look into code of zabbix_proxy showed the same problem - zbx_tcp_recv/zbx_tcp_send is used without alarm()

      Thanks,
      Alex

            Unassigned Unassigned
            av Alex Vorona
            Votes:
            0 Vote for this issue
            Watchers:
            0 Start watching this issue

              Created:
              Updated:
              Resolved: