I have upgraded my FreePBX 14 Distro to FreePBX 15 Distro, and the original backup job that was configured to a full backup was migrated to an empty job, with no modules selected.
So I edited the job and selected all modules, but it seems that there is a bug on the module “soundlang” which causes a Whoops error
PHP Fatal error: Cannot redeclare class splitbrain\PHPArchive\FileInfo in /var/www/html/admin/modules/soundlang/vendor/splitbrain/php-archive/src/FileInfo.php on line 15
PHP Stack trace:
PHP 1. {main}() /var/lib/asterisk/bin/fwconsole:0
PHP 2. Symfony\Component\Console\Application->run() /var/lib/asterisk/bin/fwconsole:163
PHP 3. Symfony\Component\Console\Application->doRun() /var/www/html/admin/libraries/Composer/vendor/symfony/console/Application.php:148
PHP 4. Symfony\Component\Console\Application->doRunCommand() /var/www/html/admin/libraries/Composer/vendor/symfony/console/Application.php:255
PHP 5. Symfony\Component\Console\Command\Command->run() /var/www/html/admin/libraries/Composer/vendor/symfony/console/Application.php:960
PHP 6. FreePBX\Console\Command\Backup->execute() /var/www/html/admin/libraries/Composer/vendor/symfony/console/Command/Command.php:255
PHP 7. FreePBX\modules\Backup\Handlers\Backup\Multiple->process() /var/www/html/admin/modules/backup/Console/Backup.class.php:187
PHP 8. FreePBX\modules\Backup\Handlers\Backup\Common->addcustomFiles() /var/www/html/admin/modules/backup/Handlers/Backup/Multiple.php:159
PHP 9. splitbrain\PHPArchive\Tar->addFile() /var/www/html/admin/modules/backup/Handlers/Backup/Common.php:207
PHP 10. splitbrain\PHPArchive\FileInfo::fromPath() /var/www/html/admin/libraries/Composer/vendor/splitbrain/php-archive/src/Tar.php:252
PHP 11. spl_autoload_call() /var/www/html/admin/libraries/Composer/vendor/splitbrain/php-archive/src/Tar.php:53
PHP 12. Composer\Autoload\ClassLoader->loadClass() /var/www/html/admin/libraries/Composer/vendor/splitbrain/php-archive/src/Tar.php:53
PHP 13. Composer\Autoload\includeFile() /var/www/html/admin/libraries/Composer/vendor/composer/ClassLoader.php:322
PHP 14. include() /var/www/html/admin/libraries/Composer/vendor/composer/ClassLoader.php:444
Whoops\Exception\ErrorException: Cannot redeclare class splitbrain\PHPArchive\FileInfo in file /var/www/html/admin/modules/soundlang/vendor/splitbrain/php-archive/src/FileInfo.php on line 15
Stack trace:
- Whoops\Exception\ErrorException->() /var/www/html/admin/modules/soundlang/vendor/splitbrain/php-archive/src/FileInfo.php:15
- () /var/www/html/admin/libraries/Composer/vendor/composer/ClassLoader.php:444
- Composer\Autoload\includeFile() /var/www/html/admin/libraries/Composer/vendor/composer/ClassLoader.php:322
- Composer\Autoload\ClassLoader->loadClass() /var/www/html/admin/libraries/Composer/vendor/splitbrain/php-archive/src/Tar.php:53
- spl_autoload_call() /var/www/html/admin/libraries/Composer/vendor/splitbrain/php-archive/src/Tar.php:53
- splitbrain\PHPArchive\FileInfo->fromPath() /var/www/html/admin/libraries/Composer/vendor/splitbrain/php-archive/src/Tar.php:252
- splitbrain\PHPArchive\Tar->addFile() /var/www/html/admin/modules/backup/Handlers/Backup/Common.php:207
- FreePBX\modules\Backup\Handlers\Backup\Common->addcustomFiles() /var/www/html/admin/modules/backup/Handlers/Backup/Multiple.php:159
- FreePBX\modules\Backup\Handlers\Backup\Multiple->process() /var/www/html/admin/modules/backup/Console/Backup.class.php:187
- FreePBX\Console\Command\Backup->execute() /var/www/html/admin/libraries/Composer/vendor/symfony/console/Command/Command.php:255
- Symfony\Component\Console\Command\Command->run() /var/www/html/admin/libraries/Composer/vendor/symfony/console/Application.php:960
- Symfony\Component\Console\Application->doRunCommand() /var/www/html/admin/libraries/Composer/vendor/symfony/console/Application.php:255
- Symfony\Component\Console\Application->doRun() /var/www/html/admin/libraries/Composer/vendor/symfony/console/Application.php:148
- Symfony\Component\Console\Application->run() /var/lib/asterisk/bin/fwconsole:163
- {main}() /var/lib/asterisk/bin/fwconsole:0
The only way to have the back up to execute, is to remove module soundlang and all modules that would include soundlang as a dependency, which ends up with a lot of modules disabled.
I created an issue report on issues.freepbx.org but it hasn’t been assigned yet.
https://issues.freepbx.org/browse/FREEPBX-21773
I understand that it can take time, but this is a very dangerous situation because I’m currently unable to perform a useful backup.