Apply changes error message - [Whoops\Exception\ErrorException (2)]

Hi Everyone,

1st time seeing bellow message, Is someone seen this message before ? and any idea how i can fix it?
All module are up to date, No any disabled module.
FreePBX-17 system.

fwconsole r --verbose
Reload Started

In Tts.class.php line 129:
                                                       
  [Whoops\Exception\ErrorException (2)]                
  Trying to access array offset on value of type bool  
                                                       

Exception trace:
  at /var/www/html/admin/modules/tts/Tts.class.php:129
 Whoops\Run->handleError() at /var/www/html/admin/modules/tts/Tts.class.php:129
 FreePBX\modules\Tts->doDialplanHook() at /var/www/html/admin/libraries/BMO/DialplanHooks.class.php:109
 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

reload [--json] [--dry-run] [--skip-registry-checks] [--dont-reload-asterisk]`

OUT > [2025-01-17 14:20:42] [freepbx.INFO]: [NOTIFICATION]-[freepbx]-[RCONFFAIL] - 'fwconsole reload' failed, config not applied (Trying to access array offset on value of type bool) [] []

Fixed.
I was installed begin of the this week TTS ( transcription ) module for a Free :slight_smile: trial…
After removed tts module issue fixed.

# fwconsole r --verbose
Reload Started
Reload Complete

What TTS engine did you have installed and setup for this? Removing the module is a work around not a solution as the issue still exists.

I don’t have it any configurations on TTS Engine side. just installed module and free license to test it. but i couldn’t find any free time to setup and test Transcription module.

The Text-To-Speech module is an Open Source module that doesn’t require any licensing. The error you are receiving is from what the TTS module is trying to write out dialplan on a reload. It only does this if it finds TTS engines in the system that have been configured. The error is related to a value in the array not being set.

So describe exactly what you did…you licensed Scribe, is that what is going on?

I don’t know, I know this week installed this module Trial one.


is it TTS (Text To Speech ) same module with Transcription name it ?

@BlazeStudios
Re-Installed back TTS module and issue is not present.
I have not changed any dial plan or added a new setup( outbound / inbound )

# fwconsole ma list | grep "tts"
| tts               | 17.0.1.1   | Enabled | GPLv3+      | Sangoma   |
| ttsengines        | 17.0.1     | Enabled | AGPLv3      | Sangoma   |

@BlazeStudios
Reproduced. TTS module issue.

Is Scribe still installed?

I think issue is not selected TTS Engines.

I don’t have any selected TTS engines setup and I’m not getting these errors. I’ll run an update and double check but no issues with TTS failing.

Again, do you still have Scribe installed?

what you mean Scribe ? pls

You know, the module you installed and setup a trial for. It’s called Scribe.

yes its installed. sorry for terminology. Transcription is more easy for me.

Remove selected TTS Engines and you can get same error…

What’s easier for you doesn’t make it easier for the rest trying to understand or help.

Show what you have in the Text-To-Speech screen before you made any changes.

@shahin I am suspecting whoops error could be PHP 8.2 where data is empty.

May be check the below db tables data. If you do not have data then we may have to add protection to handle such conditions to avoid whoops error.

SELECT * FROM tts ORDER BY name;
select path from ttsengines where name = <engine name from tts table>

Yeah but this should only happen if there are actual engines configured and existing in the database. So I’m curious as to why an empty array() engines is being processed if none exist.

I can’t replicate this problem (two different systems) and the only difference is, I don’t have Scribe installed or activated on either of them.

@shahin Did this issue start after you activated and licensed the trial for the Scribe/Transcriptions module?

@BlazeStudios Yes that issue i have recognised after installed TSS module without select any Engines. For me is easy to reproduced. Maybe you have some data at TSS Transcription side thats why not seeing that issue.

@kgupta i will back to you ASP

Thank you