FreePBX / sng_freepbx_debian_install

FreePBX 17 Installation Script
51 stars 15 forks source link

[bug]: fwconsole reload error after restoring Dynamic Route with certain settings #58

Closed gogglespisano closed 1 week ago

gogglespisano commented 1 week ago

FreePBX Version

FreePBX 17

Issue Description

After installing freepbx 17 and doing a restore from a freepbx 16 backup, fwconsole reload has an error.

fwconsole r -vv Reload Started

In functions.inc.php line 77:

[Whoops\Exception\ErrorException (2)] Undefined variable $query

Exception trace: at /var/www/html/admin/modules/dynroute/functions.inc.php:77 Whoops\Run->handleError() at /var/www/html/admin/modules/dynroute/functions.inc.php:77 dynroute_get_config() at /var/www/html/admin/libraries/BMO/DialplanHooks.class.php:97 FreePBX\DialplanHooks->processHooks() at /var/www/html/admin/libraries/Console/Reload.class.php:323 FreePBX\Console\Command\Reload->reload() at /var/www/html/admin/libraries/Console/Reload.class.php:95 FreePBX\Console\Command\Reload->execute() at /var/www/html/admin/libraries/Composer/vendor/symfony/console/Command/Command.php:312 Symfony\Component\Console\Command\Command->run() at /var/www/html/admin/libraries/Composer/vendor/symfony/console/Application.php:1022 Symfony\Component\Console\Application->doRunCommand() at /var/www/html/admin/libraries/Composer/vendor/symfony/console/Application.php:314 Symfony\Component\Console\Application->doRun() at /var/www/html/admin/libraries/Composer/vendor/symfony/console/Application.php:168 Symfony\Component\Console\Application->run() at /var/lib/asterisk/bin/fwconsole:163

The failing dynamic route has Source Type none and Enable substitutions Yes (default values).

Operating Environment

FreePBX 17.0.15.27

+---------------------+------------+---------+-------------+-----------+ | Module | Version | Status | License | Signature | +---------------------+------------+---------+-------------+-----------+ | accountcodepreserve | 17.0.0.1 | Enabled | GPLv2 | Sangoma | | allowlist | 17.0.1.1 | Enabled | GPLv3+ | Sangoma | | amd | 17.0.1 | Enabled | GPLv3+ | Sangoma | | announcement | 17.0.2.1 | Enabled | GPLv3+ | Sangoma | | api | 17.0.1.4 | Enabled | AGPLv3+ | Sangoma | | areminder | 17.0.3.10 | Enabled | Commercial | Sangoma | | arimanager | 17.0.1.1 | Enabled | GPLv3+ | Sangoma | | asterisk-cli | 17.0.2 | Enabled | GPLv3+ | Sangoma | | asteriskinfo | 17.0.2 | Enabled | GPLv3+ | Sangoma | | backup | 17.0.5.53 | Enabled | GPLv3+ | Sangoma | | blacklist | 17.0.1.2 | Enabled | GPLv3+ | Sangoma | | broadcast | 17.0.1.6 | Enabled | Commercial | Sangoma | | builtin | | Enabled | | Unsigned | | bulkhandler | 17.0.4 | Enabled | GPLv3+ | Sangoma | | calendar | 17.0.4.15 | Enabled | GPLv3+ | Sangoma | | callaccounting | 17.0.5 | Enabled | Commercial+ | Sangoma | | callback | 17.0.2.1 | Enabled | GPLv3+ | Sangoma | | callerid | 17.0.1 | Enabled | Commercial | Sangoma | | callforward | 17.0.1.6 | Enabled | AGPLv3+ | Sangoma | | calllimit | 17.0.1.2 | Enabled | Commercial | Sangoma | | callrecording | 17.0.3.6 | Enabled | AGPLv3+ | Sangoma | | callwaiting | 17.0.3.4 | Enabled | GPLv3+ | Sangoma | | cdr | 17.0.4.15 | Enabled | GPLv3+ | Sangoma | | cdrpro | 17.0.3.16 | Enabled | Commercial | Sangoma | | cel | 17.0.2.8 | Enabled | GPLv3+ | Sangoma | | certman | 17.0.3.11 | Enabled | AGPLv3+ | Sangoma | | cidlookup | 17.0.1.1 | Enabled | GPLv3+ | Sangoma | | conferences | 17.0.3.2 | Enabled | GPLv3+ | Sangoma | | conferencespro | 17.0.1.7 | Enabled | Commercial | Sangoma | | configedit | 17.0.1.1 | Enabled | AGPLv3+ | Sangoma | | contactmanager | 17.0.5.11 | Enabled | GPLv3+ | Sangoma | | core | 17.0.9.72 | Enabled | GPLv3+ | Sangoma | | cos | 17.0.1.1 | Enabled | Commercial | Sangoma | | customappsreg | 17.0.1 | Enabled | GPLv3+ | Sangoma | | customcontexts | 17.0.1.1 | Enabled | GPLv2+ | Sangoma | | dashboard | 17.0.4.3 | Enabled | AGPLv3+ | Sangoma | | daynight | 17.0.1.1 | Enabled | GPLv3+ | Sangoma | | dictate | 17.0.1.2 | Enabled | GPLv3+ | Sangoma | | directory | 17.0.1.1 | Enabled | GPLv3+ | Sangoma | | disa | 17.0.3 | Enabled | AGPLv3+ | Sangoma | | donotdisturb | 17.0.2.3 | Enabled | GPLv3+ | Sangoma | | dynroute | 17.0.3 | Enabled | GPLv3+ | Sangoma | | endpoint | 17.0.1.71 | Enabled | Commercial | Sangoma | | extensionroutes | 17.0.1 | Enabled | Commercial | Sangoma | | extensionsettings | 17.0.1 | Enabled | GPLv3+ | Sangoma | | fax | 17.0.3.4 | Enabled | GPLv3+ | Sangoma | | faxpro | 17.0.1.16 | Enabled | Commercial | Sangoma | | featurecodeadmin | 17.0.2 | Enabled | GPLv3+ | Sangoma | | filestore | 17.0.2.21 | Enabled | AGPLv3 | Sangoma | | findmefollow | 17.0.4.8 | Enabled | GPLv3+ | Sangoma | | firewall | 17.0.1.26 | Enabled | AGPLv3+ | Sangoma | | framework | 17.0.15.27 | Enabled | GPLv2+ | Sangoma | | hotelwakeup | 17.0.1.6 | Enabled | GPLv2 | Sangoma | | iaxsettings | 17.0.1 | Enabled | AGPLv3 | Sangoma | | infoservices | 17.0.1 | Enabled | GPLv2+ | Sangoma | | ivr | 17.0.6 | Enabled | GPLv3+ | Sangoma | | languages | 17.0.1 | Enabled | GPLv3+ | Sangoma | | logfiles | 17.0.3.3 | Enabled | GPLv3+ | Sangoma | | manager | 17.0.5 | Enabled | GPLv2+ | Sangoma | | miscapps | 17.0.3 | Enabled | GPLv3+ | Sangoma | | miscdests | 17.0.1.1 | Enabled | GPLv3+ | Sangoma | | missedcall | 17.0.1.1 | Enabled | GPLv3+ | Sangoma | | music | 17.0.4 | Enabled | GPLv3+ | Sangoma | | outcnam | 17.0.1 | Enabled | GPLv3+ | Sangoma | | outroutemsg | 17.0.1 | Enabled | GPLv3+ | Sangoma | | paging | 17.0.3 | Enabled | GPLv3+ | Sangoma | | pagingpro | 17.0.1.6 | Enabled | Commercial | Sangoma | | parking | 17.0.2.4 | Enabled | GPLv3+ | Sangoma | | parkpro | 17.0.1.4 | Enabled | Commercial | Sangoma | | pbxmfa | 17.0.2 | Enabled | Commercial+ | Sangoma | | phpinfo | 17.0.1 | Enabled | GPLv2+ | Sangoma | | pinsets | 17.0.3.2 | Enabled | GPLv3+ | Sangoma | | pinsetspro | 17.0.2 | Enabled | Commercial | Sangoma | | pm2 | 17.0.3.2 | Enabled | AGPLv3+ | Sangoma | | pms | 17.0.2.15 | Enabled | Commercial | Sangoma | | presencestate | 17.0.2.4 | Enabled | GPLv3+ | Sangoma | | printextensions | 17.0.1.2 | Enabled | GPLv3+ | Sangoma | | queueprio | 17.0.1.4 | Enabled | GPLv3+ | Sangoma | | queues | 17.0.1.9 | Enabled | GPLv2+ | Sangoma | | queuestats | 17.0.1.7 | Enabled | Commercial | Sangoma | | qxact_reports | 17.0.2 | Enabled | Commercial | Sangoma | | recording_report | 17.0.3.8 | Enabled | Commercial | Sangoma | | recordings | 17.0.2.2 | Enabled | GPLv3+ | Sangoma | | restapps | 17.0.1.18 | Enabled | Commercial | Sangoma | | ringgroups | 17.0.2.4 | Enabled | GPLv3+ | Sangoma | | sangomaconnect | 17.0.1.34 | Enabled | Commercial | Sangoma | | sangomacrm | 17.0.1.7 | Enabled | Commercial | Sangoma | | sangomartapi | 17.0.1.26 | Enabled | Commercial | Sangoma | | setcid | 17.0.1.2 | Enabled | GPLv3+ | Sangoma | | sipsettings | 17.0.6.8 | Enabled | AGPLv3+ | Sangoma | | sipstation | 17.0.3.3 | Enabled | Commercial | Sangoma | | sms | 17.0.1.13 | Enabled | Commercial | Sangoma | | smsplus | 17.0.3 | Enabled | Commercial | Sangoma | | soundlang | 17.0.4.1 | Enabled | GPLv3+ | Sangoma | | superfecta | 17.0.1.10 | Enabled | GPLv2+ | Sangoma | | sysadmin | 17.0.1.88 | Enabled | Commercial | Sangoma | | timeconditions | 17.0.1.17 | Enabled | GPLv3+ | Sangoma | | tts | 17.0.1.1 | Enabled | GPLv3+ | Sangoma | | ttsengines | 17.0.1 | Enabled | AGPLv3 | Sangoma | | ucp | 17.0.4.19 | Enabled | AGPLv3+ | Sangoma | | userman | 17.0.6.25 | Enabled | AGPLv3+ | Sangoma | | vmblast | 17.0.2 | Enabled | GPLv3+ | Sangoma | | vmnotify | 17.0.1.7 | Enabled | Commercial | Sangoma | | voicemail | 17.0.5.19 | Enabled | GPLv3+ | Sangoma | | voicemail_report | 17.0.1.1 | Enabled | Commercial | Sangoma | | voipinnovations | 17.0.1.4 | Enabled | Commercial | Sangoma | | vqplus | 17.0.1.16 | Enabled | Commercial | Sangoma | | weakpasswords | 17.0.1 | Enabled | GPLv3+ | Sangoma | | webcallback | 17.0.4 | Enabled | Commercial | Sangoma | | webrtc | 17.0.2.2 | Enabled | GPLv3+ | Sangoma | +---------------------+------------+---------+-------------+-----------+

Relevant log output

fwconsole r
Reload Started

In functions.inc.php line 77:

  Undefined variable $query

reload [--json] [--dry-run] [--skip-registry-checks] [--dont-reload-asterisk]
gogglespisano commented 1 week ago

I have about 20 dynamic routes. They appear to all be restored.

I have one that has Source Type none and Enable substitutions Yes (default values). I changed Yes to No and the reload started working. Version 16 doesn't fail with none and Yes. I don't see any difference in functions.inc.php between 16 and 17 to explain the failure on 17.

kguptasangoma commented 1 week ago

dynaroute v 17.0.3.1