Form processor hangs, upgrade crashes
After the addition of the civicrm_form_processor_input.weight
column, the extension no longer works and it is not possible to upgrade.
This is usually caused by a checken-and-egg problem of trying to SELECT
or UPDATE
the field before it exists. The upgrader cannot add the field because it crashes before it is able to do so. Backtrace from running cv ext:upgrade-db
:
Applying database upgrades from extensions
Error: API Call Failed: Array
(
[entity] => Extension
[action] => upgrade
[params] => Array
(
[debug] => 1
[version] => 3
)
[result] => Array
(
[error_code] => no such field
[trace] => #0 /home/colemanw/bknix/build/drupal-clean/web/sites/all/modules/civicrm/vendor/pear/pear-core-minimal/src/PEAR.php(944): CRM_Core_Error::exceptionHandler(Object(DB_Error))
#1 /home/colemanw/bknix/build/drupal-clean/web/sites/all/modules/civicrm/vendor/pear/db/DB.php(997): PEAR_Error->__construct('DB Error: no su...', -19, 16, Array, 'UPDATE civicrm_...')
#2 /home/colemanw/bknix/build/drupal-clean/web/sites/all/modules/civicrm/vendor/pear/pear-core-minimal/src/PEAR.php(575): DB_Error->__construct(-19, 16, Array, 'UPDATE civicrm_...')
#3 /home/colemanw/bknix/build/drupal-clean/web/sites/all/modules/civicrm/vendor/pear/pear-core-minimal/src/PEAR.php(223): PEAR::_raiseError(Object(DB_mysqli), NULL, -19, 16, Array, 'UPDATE civicrm_...', 'DB_Error', true)
#4 /home/colemanw/bknix/build/drupal-clean/web/sites/all/modules/civicrm/vendor/pear/db/DB/common.php(1928): PEAR->__call('raiseError', Array)
#5 /home/colemanw/bknix/build/drupal-clean/web/sites/all/modules/civicrm/vendor/pear/db/DB/mysqli.php(943): DB_common->raiseError(-19, NULL, NULL, 'UPDATE civicrm_...', '1054 ** Unknown...')
#6 /home/colemanw/bknix/build/drupal-clean/web/sites/all/modules/civicrm/vendor/pear/db/DB/mysqli.php(413): DB_mysqli->mysqliRaiseError()
#7 /home/colemanw/bknix/build/drupal-clean/web/sites/all/modules/civicrm/vendor/pear/db/DB/common.php(1234): DB_mysqli->simpleQuery('UPDATE civicrm_...')
#8 /home/colemanw/bknix/build/drupal-clean/web/sites/all/modules/civicrm/packages/DB/DataObject.php(2696): DB_common->query('UPDATE civicrm_...')
#9 /home/colemanw/bknix/build/drupal-clean/web/sites/all/modules/civicrm/packages/DB/DataObject.php(1829): DB_DataObject->_query('UPDATE civicrm_...')
#10 /home/colemanw/bknix/build/drupal-clean/web/sites/all/modules/civicrm/CRM/Core/DAO.php(472): DB_DataObject->query('UPDATE civicrm_...')
#11 /home/colemanw/bknix/build/drupal-clean/web/sites/all/modules/civicrm/CRM/Core/DAO.php(1637): CRM_Core_DAO->query('UPDATE civicrm_...', true)
#12 /home/colemanw/bknix/build/drupal-clean/web/sites/all/modules/civicrm/CRM/Queue/Runner.php(518): CRM_Core_DAO::executeQuery('UPDATE civicrm_...', Array)
#13 /home/colemanw/bknix/build/drupal-clean/web/sites/all/modules/civicrm/CRM/Queue/Runner.php(202): CRM_Queue_Runner->disableBackgroundExecution()
#14 /home/colemanw/bknix/build/drupal-clean/web/sites/all/modules/civicrm/api/v3/Extension.php(85): CRM_Queue_Runner->runAll()
#15 /home/colemanw/bknix/build/drupal-clean/web/sites/all/modules/civicrm/Civi/API/Provider/MagicFunctionProvider.php(89): civicrm_api3_extension_upgrade(Array)
#16 /home/colemanw/bknix/build/drupal-clean/web/sites/all/modules/civicrm/Civi/API/Kernel.php(149): Civi\API\Provider\MagicFunctionProvider->invoke(Array)
#17 /home/colemanw/bknix/build/drupal-clean/web/sites/all/modules/civicrm/Civi/API/Kernel.php(81): Civi\API\Kernel->runRequest(Array)
#18 /home/colemanw/bknix/build/drupal-clean/web/sites/all/modules/civicrm/api/api.php(22): Civi\API\Kernel->runSafe('Extension', 'upgrade', Array)
#19 phar:///home/colemanw/bknix/bin/cv/src/Command/BaseCommand.php(63): civicrm_api('Extension', 'upgrade', Array)
#20 phar:///home/colemanw/bknix/bin/cv/src/Command/ExtensionUpgradeDbCommand.php(37): Civi\Cv\Command\BaseCommand->callApiSuccess(Object(Symfony\Component\Console\Input\ArgvInput), Object(Symfony\Component\Console\Output\ConsoleOutput), 'Extension', 'upgrade', Array)
#21 phar:///home/colemanw/bknix/bin/cv/vendor/symfony/console/Command/Command.php(255): Civi\Cv\Command\ExtensionUpgradeDbCommand->execute(Object(Symfony\Component\Console\Input\ArgvInput), Object(Symfony\Component\Console\Output\ConsoleOutput))
#22 phar:///home/colemanw/bknix/bin/cv/vendor/symfony/console/Application.php(1009): Symfony\Component\Console\Command\Command->run(Object(Symfony\Component\Console\Input\ArgvInput), Object(Symfony\Component\Console\Output\ConsoleOutput))
#23 phar:///home/colemanw/bknix/bin/cv/vendor/symfony/console/Application.php(273): Symfony\Component\Console\Application->doRunCommand(Object(Civi\Cv\Command\ExtensionUpgradeDbCommand), Object(Symfony\Component\Console\Input\ArgvInput), Object(Symfony\Component\Console\Output\ConsoleOutput))
#24 phar:///home/colemanw/bknix/bin/cv/src/Application.php(59): Symfony\Component\Console\Application->doRun(Object(Symfony\Component\Console\Input\ArgvInput), Object(Symfony\Component\Console\Output\ConsoleOutput))
#25 phar:///home/colemanw/bknix/bin/cv/vendor/symfony/console/Application.php(149): Civi\Cv\Application->doRun(Object(Symfony\Component\Console\Input\ArgvInput), Object(Symfony\Component\Console\Output\ConsoleOutput))
#26 phar:///home/colemanw/bknix/bin/cv/src/Application.php(26): Symfony\Component\Console\Application->run()
#27 phar:///home/colemanw/bknix/bin/cv/bin/cv(27): Civi\Cv\Application::main('phar:///home/co...')
#28 /home/colemanw/bknix/bin/cv(14): require('phar:///home/co...')
#29 {main}
[is_error] => 1
[error_message] => DB Error: no such field
)
)