Zombie/Defunct AGI's

I am not sure if this is related but most of my servers in the past have been on DO and AWS with no issues. This Asterisk instance is running on ESXI. I have Asterisk call an AGI as soon as a call comes in. The call is completely handled in AGI. I restarted asterisk 14 hours ago and here is what I am showing.

[root@a14-c3-njr2 cli]# ps aux | grep defunct | wc -l
2632
[root@a14-c3-njr2 cli]#

[root@a14-c3-njr2 cli]# asterisk -rx’core show channels’ | grep proce
2646 calls processed
[root@a14-c3-njr2 cli]#

It seems that almost all AGI’s end in the process becoming a zombie.
Asterisk version: 20.2.0
OS: Rocky Linux release 8.8 (Green Obsidian)
AGI Language: PHP version 8.2.7

Are your AGI processes spawning additional processes, and failing to wait for their termination?

Each time there is a new call, a new AGI script is called. What is strange is the exact same code on a different box has no issue. It’s just on the box that is on a ESXI host.

I am not sure how this fits in but I noticed that this happens so long as there are calls on the system. I did a “channel request hangup” for each live call and the zombie processes were there. As soon as I hung up on the last call, they all disappeared. Is this perhaps a bug?

You didn’t really answer @ldo’s question about the AGI itself. What is the AGI actually doing? What happens if you execute it from the shell? Does every system have the same set of software/OS/libraries?

From a bug perspective it’s unlikely, something like this would have been seen by others if it were strictly an Asterisk issue - it’d show up in FreePBX real fast.

This topic was automatically closed 30 days after the last reply. New replies are no longer allowed.