1

I have just upgraded from version 4.7.22 to 4.7.28 (with Drupal version 7.56) and am no longer able to save changes on the Search Preferences screen. When I try to save I get an error:

"Save Failed - DB Error: Unknown Error"

This was a known issue at https://issues.civicrm.org/jira/browse/CRM-19610, but it has been marked as fixed as of version 4.7.21, so it seems like it is still causing problems.

From the Backtrace given below, it looks like Civi is trying to update the information_schema database, but as I am on a shared server, it will not have permissions to do this.

Similar questions were also asked at Unknown DB Error When Trying to Disable the Automatic Wildcard Option and Why can't I save search preferences? Specifically 'Autocomplete Results, however none of the solutions have worked for me.

Can anyone suggest a solution. I realise I can update the DB tables directly if necessary.

The backtrace for the error is:

    Dec 15 10:36:47  [info] $backTrace = #0 /home/wfto/www/www/sites/all/modules/civicrm/CRM/Core/Error.php(945): CRM_Core_Error::backtrace("backTrace", TRUE)
#1 [internal function](): CRM_Core_Error::exceptionHandler(Object(DB_Error))
#2 /home/wfto/www/www/sites/all/modules/civicrm/packages/PEAR.php(921): call_user_func((Array:2), Object(DB_Error))
#3 /home/wfto/www/www/sites/all/modules/civicrm/packages/DB.php(985): PEAR_Error->__construct("DB Error: unknown error", -1, 16, (Array:2), "\n      SELECT i.name as index_name\n      FROM information_schema.innodb_sys...")
#4 /home/wfto/www/www/sites/all/modules/civicrm/packages/PEAR.php(575): DB_Error->__construct(-1, 16, (Array:2), "\n      SELECT i.name as index_name\n      FROM information_schema.innodb_sys...")
#5 [internal function](): PEAR->_raiseError(Object(DB_mysqli), NULL, -1, NULL, NULL, "\n      SELECT i.name as index_name\n      FROM information_schema.innodb_sys...", "DB_Error", TRUE)
#6 /home/wfto/www/www/sites/all/modules/civicrm/packages/PEAR.php(224): call_user_func_array((Array:2), (Array:8))
#7 /home/wfto/www/www/sites/all/modules/civicrm/packages/DB/common.php(1905): PEAR->__call("raiseError", (Array:7))
#8 /home/wfto/www/www/sites/all/modules/civicrm/packages/DB/common.php(1905): PEAR->raiseError(NULL, -1, NULL, NULL, "\n      SELECT i.name as index_name\n      FROM information_schema.innodb_sys...", "DB_Error", TRUE)
#9 /home/wfto/www/www/sites/all/modules/civicrm/packages/DB/mysqli.php(933): DB_common->raiseError(-1, NULL, NULL, NULL, "1227 ** Access denied; you need (at least one of) the PROCESS privilege(s) fo...")
#10 /home/wfto/www/www/sites/all/modules/civicrm/packages/DB/mysqli.php(403): DB_mysqli->mysqliRaiseError()
#11 /home/wfto/www/www/sites/all/modules/civicrm/packages/DB/common.php(1216): DB_mysqli->simpleQuery("\n      SELECT i.name as index_name\n      FROM information_schema.innodb_sys...")
#12 /home/wfto/www/www/sites/all/modules/civicrm/packages/DB/DataObject.php(2446): DB_common->query("\n      SELECT i.name as index_name\n      FROM information_schema.innodb_sys...")
#13 /home/wfto/www/www/sites/all/modules/civicrm/packages/DB/DataObject.php(1635): DB_DataObject->_query("\n      SELECT i.name as index_name\n      FROM information_schema.innodb_sys...")
#14 /home/wfto/www/www/sites/all/modules/civicrm/CRM/Core/DAO.php(369): DB_DataObject->query("\n      SELECT i.name as index_name\n      FROM information_schema.innodb_sys...")
#15 /home/wfto/www/www/sites/all/modules/civicrm/CRM/Core/DAO.php(1318): CRM_Core_DAO->query("\n      SELECT i.name as index_name\n      FROM information_schema.innodb_sys...", TRUE)
#16 /home/wfto/www/www/sites/all/modules/civicrm/CRM/Core/InnoDBIndexer.php(187): CRM_Core_DAO::executeQuery("\n      SELECT i.name as index_name\n      FROM information_schema.innodb_sys...")
#17 /home/wfto/www/www/sites/all/modules/civicrm/CRM/Core/InnoDBIndexer.php(225): CRM_Core_InnoDBIndexer->findActualFtsIndexNames("civicrm_address")
#18 /home/wfto/www/www/sites/all/modules/civicrm/CRM/Core/InnoDBIndexer.php(242): CRM_Core_InnoDBIndexer->dropIndexSql("civicrm_address")
#19 /home/wfto/www/www/sites/all/modules/civicrm/CRM/Core/InnoDBIndexer.php(131): CRM_Core_InnoDBIndexer->reconcileIndexSqls("civicrm_address")
#20 /home/wfto/www/www/sites/all/modules/civicrm/CRM/Core/InnoDBIndexer.php(96): CRM_Core_InnoDBIndexer->fixSchemaDifferences()
#21 [internal function](): CRM_Core_InnoDBIndexer::onToggleFts("0", "0", (Array:13), 1)
#22 /home/wfto/www/www/sites/all/modules/civicrm/Civi/Core/SettingsBag.php(365): call_user_func((Array:2), "0", "0", (Array:13), 1)
#23 /home/wfto/www/www/sites/all/modules/civicrm/Civi/Core/SettingsBag.php(272): Civi\Core\SettingsBag->setDb("enable_innodb_fts", "0")
#24 /home/wfto/www/www/sites/all/modules/civicrm/Civi/Core/SettingsBag.php(169): Civi\Core\SettingsBag->set("enable_innodb_fts", "0")
#25 /home/wfto/www/www/sites/all/modules/civicrm/CRM/Core/BAO/Setting.php(210): Civi\Core\SettingsBag->add((Array:10))
#26 /home/wfto/www/www/sites/all/modules/civicrm/api/v3/Setting.php(282): CRM_Core_BAO_Setting::setItems((Array:12), (Array:1))
#27 /home/wfto/www/www/sites/all/modules/civicrm/Civi/API/Provider/MagicFunctionProvider.php(89): civicrm_api3_setting_create((Array:12))
#28 /home/wfto/www/www/sites/all/modules/civicrm/Civi/API/Kernel.php(169): Civi\API\Provider\MagicFunctionProvider->invoke((Array:9))
#29 /home/wfto/www/www/sites/all/modules/civicrm/Civi/API/Kernel.php(100): Civi\API\Kernel->runRequest((Array:7))
#30 /home/wfto/www/www/sites/all/modules/civicrm/api/api.php(23): Civi\API\Kernel->runSafe("setting", "create", (Array:11), NULL)
#31 /home/wfto/www/www/sites/all/modules/civicrm/CRM/Admin/Form/Setting.php(212): civicrm_api("setting", "create", (Array:11))
#32 /home/wfto/www/www/sites/all/modules/civicrm/CRM/Admin/Form/Setting.php(171): CRM_Admin_Form_Setting->commonProcess((Array:12))
#33 /home/wfto/www/www/sites/all/modules/civicrm/CRM/Core/Form.php(447): CRM_Admin_Form_Setting->postProcess()
#34 /home/wfto/www/www/sites/all/modules/civicrm/CRM/Core/StateMachine.php(160): CRM_Core_Form->mainProcess()
#35 /home/wfto/www/www/sites/all/modules/civicrm/CRM/Core/QuickForm/Action/Next.php(61): CRM_Core_StateMachine->perform(Object(CRM_Admin_Form_Setting_Search), "next", "Next")
#36 /home/wfto/www/www/sites/all/modules/civicrm/packages/HTML/QuickForm/Controller.php(203): CRM_Core_QuickForm_Action_Next->perform(Object(CRM_Admin_Form_Setting_Search), "next")
#37 /home/wfto/www/www/sites/all/modules/civicrm/packages/HTML/QuickForm/Page.php(103): HTML_QuickForm_Controller->handle(Object(CRM_Admin_Form_Setting_Search), "next")
#38 /home/wfto/www/www/sites/all/modules/civicrm/CRM/Core/Controller.php(351): HTML_QuickForm_Page->handle("next")
#39 /home/wfto/www/www/sites/all/modules/civicrm/CRM/Utils/Wrapper.php(113): CRM_Core_Controller->run()
#40 /home/wfto/www/www/sites/all/modules/civicrm/CRM/Core/Invoke.php(283): CRM_Utils_Wrapper->run("CRM_Admin_Form_Setting_Search", "Search Preferences", NULL)
#41 /home/wfto/www/www/sites/all/modules/civicrm/CRM/Core/Invoke.php(84): CRM_Core_Invoke::runItem((Array:15))
#42 /home/wfto/www/www/sites/all/modules/civicrm/CRM/Core/Invoke.php(52): CRM_Core_Invoke::_invoke((Array:4))
#43 /home/wfto/www/www/sites/all/modules/civicrm/drupal/civicrm.module(448): CRM_Core_Invoke::invoke((Array:4))
#44 [internal function](): civicrm_invoke("admin", "setting", "search")
#45 /home/wfto/www/www/includes/menu.inc(527): call_user_func_array("civicrm_invoke", (Array:3))
#46 /home/wfto/www/www/index.php(21): menu_execute_active_handler()
#47 {main}
1

This is a bug that came back in CiviCRM 4.7.28. Ben and I worked through a fix, which is submitted as CRM-21568.

Your Answer

By clicking “Post Your Answer”, you agree to our terms of service, privacy policy and cookie policy

Not the answer you're looking for? Browse other questions tagged or ask your own question.