Fresh Install Debian12, FreePBX17 - Excessive CPU utilization

System: 4 core CPU, 16GB Ram
Also tried on 8 core CPU 16GB Ram with same results.

Fresh install of Debian 12, applied all update
Immediately Installed FreePBX17.
Nothing else was done once FreePBX17 script completed, just a reboot.

HTOP showing 30-40% of all cores utilized continuously.
multiple instances of /var/www/html/admin/modules/ucp/node/index.js using all of the CPU

Any ideas on what is going on? I haven’t even tried to get to the FreePBX GUI yet…

I think I found out what is going on.
Apparently, our IT dept that setup our Debian12 instance, they disabled IPv6 for the machine.

After reviewing the /var/log/asterisk/ucp_err.log, showed
Error: listen EAFNOSUPPORT: address family not supported :::8001
at Server.setupListenHandle [as _listen2] (node:net:1794:21)
at listenInCluster (node:net:1859:12)
at doListen (node:net:2008:7)
an IPv6 nomenclature.

Once I removed the setup to disable IPv6 and restarted, the machine and the CPU usage looks good.

You should be able to disable IPv6 since we use these machines in azure on a private 10.x.x.x network and will not expose the NIC to the world.

Should I file a bug report? / Issue?
Any advice would be appreciated.
Thanks,
Andy

1 Like

FreePBX default config assumes an IPv6 capable machine.
You can try to file an issue at https://github.com/FreePBX/issue-tracker to see if they change that default config to one that supports both IPv4 and IPv6 machines.

If that is something that it’s not in the plans of Sangoma, at least it would be nice to have some Wiki entry documenting what an user needs to change in the default config in order FreePBX works in machines with IPv6 disabled.

1 Like

P.S. For FreePBX to work with machines with IPv6 disabled, you just need to go to “Settings → Advanced Settings” and replace IPv6 localhost bindings (::) with address 127.0.0.1 (or localhost).

1 Like

Keeping the IPv6 stack enabled allows applications referring to IPv6 localhost (::1) or dual-stack bindings (::) to work, but otherwise does not cause a problem.

If you do not have IPv6 connectivity outside of the VM, then do not configure IPv6 on a network interface. But leave the stack and the loopback interface enabled.

1 Like

Freepbx as of today not fully compatible with IPv6 and as @billsimon said if we enable IPv6 localhost will try to resolve to (::1) which will cause issues in the Freepbx.

also just fyi - We have added below logic in Freepbx 17 install script which will allow localhost to resolve to 127.0.0.1

1 Like

@kgupta I think you misunderstood the issue raised here. Installing FreePBX in Debian 12 with IPv6 stack disabled does not work out of the box, because there are bindings in Advanced Config made with IPv6 localhost addresses (:: & ::1) that will fail if IPv6 is disabled. For these bindings to work both in machines with IPv6 enabled and disabled, I think you need to replace them to the name localhost.

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