Apply Config Hangs or Errors¶
Symptom: the red Apply Config bar spins forever, OR errors out with a message about syntax / module failure / dialplan reload.
Most Likely Causes¶
- Syntax error in custom config file —
extensions_custom.conf,pjsip_custom.conf, etc. - Module update failed mid-process.
- Database lock — another reload running, or MySQL hung.
- Disk full — UnifiedBX can't write generated configs.
- PHP timeout — large dialplan rebuild exceeds
max_execution_time.
Diagnose¶
# What's the last thing FreePBX did?
tail -100 /var/log/asterisk/freepbx.log
# What's Asterisk seeing?
tail -100 /var/log/asterisk/full
# Is disk full?
df -h
# Is MySQL responsive?
mysql -u root -e "SHOW PROCESSLIST;"
# Force the reload from CLI:
fwconsole reload --force
Fix¶
- Syntax error: the freepbx.log will name the file and line. Fix the syntax. Common: unbalanced brackets, missing comma in dialplan.
- Module update failed:
fwconsole ma list | grep -i broken. Reinstall the broken module:fwconsole ma install <name>. - Database lock: identify the long-running process via
SHOW PROCESSLIST;, kill it:KILL <id>;. If MySQL itself hangs, restart:systemctl restart mariadb. - Disk full: clean up. Likely culprits:
/var/spool/asterisk/voicemail/,/var/spool/asterisk/monitor/,/var/log/asterisk/full*. See Disk Full / System Slow. - PHP timeout: edit
/etc/php.inior the relevant php-fpm pool config — bumpmax_execution_timeto 300, restart PHP/Apache.
Recovery from a totally stuck reload¶
fwconsole stop
fwconsole start
# Or hard restart:
fwconsole restart
When to Escalate¶
Apply Config errors with a stack trace pointing at a vendor module. Roll back via backup; open a ticket with Sangoma (or for UnifiedBX-specific modules, with WTG).