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

Zombie processes can occur when signalling agent during metric execution

    Details

    • Team:
      Team A
    • Sprint:
      Sprint 49 (Feb 2019)
    • Story Points:
      0.5

      Description

      Following patch to reproduce the issue which is otherwise hard to catch

      Index: src/libs/zbxsysinfo/sysinfo.c
      ===================================================================
      --- src/libs/zbxsysinfo/sysinfo.c	(revision 89520)
      +++ src/libs/zbxsysinfo/sysinfo.c	(working copy)
      @@ -1273,6 +1273,7 @@
       
       		ret = write_all(fds[1], data, data_offset);
       
      +		sleep(30);
       		zbx_free(data);
       		free_result(result);
      

      Send signal when metric is being executed:

      ./sbin/zabbix_agentd -R log_level_decrease
      

      Result(from several times):

        75016 pts/1    S+     0:00 ./sbin/zabbix_agentd -c /etc/zabbix/zabbix_agentd.conf --foreground
        75017 pts/1    S+     0:00 ./sbin/zabbix_agentd: collector [idle 1 sec]
        75018 pts/1    S+     0:00 ./sbin/zabbix_agentd: listener #1 [waiting for connection]
        75019 pts/1    S+     0:00 ./sbin/zabbix_agentd: listener #2 [waiting for connection]
        75020 pts/1    S+     0:00 ./sbin/zabbix_agentd: listener #3 [waiting for connection]
        75021 pts/1    S+     0:00 ./sbin/zabbix_agentd: active checks #1 [idle 1 sec]
        75033 pts/1    Z+     0:00 [zabbix_agentd] <defunct>
        75151 pts/1    Z+     0:00 [zabbix_agentd] <defunct>
        75315 pts/1    Z+     0:00 [zabbix_agentd] <defunct>
        75705 pts/1    Z+     0:00 [zabbix_agentd] <defunct>
        75992 pts/1    Z+     0:00 [zabbix_agentd] <defunct>
        76065 pts/1    S+     0:00 ./sbin/zabbix_agentd: listener #3 [processing request]
        76238 pts/2    S+     0:00 grep --color=auto zabbix_agentd
      
      ==65293==    at 0x445C3E: zbx_execute_threaded_metric (sysinfo.c:1326)
      ==65293==    by 0x466132: VFS_FS_SIZE (diskspace.c:124)
      ==65293==    by 0x440921: process (sysinfo.c:632)
      ==65293==    by 0x435D9A: process_listener (listener.c:57)
      ==65293==    by 0x43641B: listener_thread (listener.c:145)
      ==65293==    by 0x49D7AE: zbx_thread_start (threads.c:132)
      ==65293==    by 0x411A0C: MAIN_ZABBIX_ENTRY (zabbix_agentd.c:1046)
      ==65293==    by 0x4A0039: daemon_start (daemon.c:392)
      ==65293==    by 0x411F7E: main (zabbix_agentd.c:1270)
      ==65293==  Uninitialised value was created by a stack allocation
      ==65293==    at 0x4451E3: zbx_execute_threaded_metric (sysinfo.c:1234)
      ==65293== 
      ==65293== Conditional jump or move depends on uninitialised value(s)
      ==65293==    at 0x445DA2: zbx_execute_threaded_metric (sysinfo.c:1333)
      ==65293==    by 0x466132: VFS_FS_SIZE (diskspace.c:124)
      ==65293==    by 0x440921: process (sysinfo.c:632)
      ==65293==    by 0x435D9A: process_listener (listener.c:57)
      ==65293==    by 0x43641B: listener_thread (listener.c:145)
      ==65293==    by 0x49D7AE: zbx_thread_start (threads.c:132)
      ==65293==    by 0x411A0C: MAIN_ZABBIX_ENTRY (zabbix_agentd.c:1046)
      ==65293==    by 0x4A0039: daemon_start (daemon.c:392)
      ==65293==    by 0x411F7E: main (zabbix_agentd.c:1270)
      ==65293==  Uninitialised value was created by a stack allocation
      ==65293==    at 0x4451E3: zbx_execute_threaded_metric (sysinfo.c:1234)
      

      Expected:
      No zombie

        Attachments

          Activity

            People

            • Assignee:
              ak Andrejs Kozlovs
              Reporter:
              vso Vladislavs Sokurenko
            • Votes:
              0 Vote for this issue
              Watchers:
              6 Start watching this issue

              Dates

              • Created:
                Updated:
                Resolved: