CiviMail - Error on sending/viewing mail via Mosaico following core update
We're seeing the error: "DB Error: no such field" when trying to send email from Mosaico. This happens regardless of whether the email is a test, or going out to the intended recipients. The error appears immediately upon submitting the mailing.
We're also unable to view old mailings submitted via Mosico, with the same error appearing but as a webpage rather than a pop-up.
This started happening after we upgraded CiviCRM from 5.39.0 to 5.46.0.
"Traditional" mails are working fine (sending and viewing)
I've done a few basic things to fix the problem with no success:
- Cleaned all caches
- Tricked Civi into thinking it was running an older version of the database and upgraded again to rule out problems with the DB update
- Upgraded Civi to 5.47.0
- Updated Mosaico to 2.9, while also installing Form Core and Seatch kit. Completed additional database updates required by this.
The error that appears while sending the mailing doesn't leave anything in the error log. I do get the following when viewing old mailings though:
Mar 11 16:35:20 [error]
$Fatal Error Details = array:3 [
"message" => "DB Error: no such field"
"code" => null
"exception" => CiviCRM_API3_Exception {#3486
-extraParams: array:4 [
"error_code" => "no such field"
"tip" => "add debug=1 to your API call to have more info about the error"
"is_error" => 1
"error_message" => "DB Error: no such field"
]
#message: "DB Error: no such field"
#code: 0
#file: ".../sites/all/modules/civicrm/api/api.php"
#line: 134
trace: {
/.../sites/all/modules/civicrm/api/api.php:134 {
› if (is_array($result) && !empty($result['is_error'])) {
› throw new CiviCRM_API3_Exception($result['error_message'], CRM_Utils_Array::value('error_code', $result, 'undefined'), $result);
› }
}
/.../sites/all/modules/civicrm/CRM/Mailing/Page/View.php:148 { …}
/.../sites/all/modules/civicrm/CRM/Core/Invoke.php:319 { …}
/.../sites/all/modules/civicrm/CRM/Core/Invoke.php:69 { …}
/.../sites/all/modules/civicrm/CRM/Core/Invoke.php:36 { …}
/.../sites/all/modules/civicrm/drupal/civicrm.module:471 { …}
/.../domains/secure/htdocs/includes/menu.inc:527 { …}
/.../domains/secure/htdocs/index.php:21 { …}
}
}
]
Mar 11 16:35:20 [debug] $backTrace = #0 /.../domains/secure/htdocs/sites/all/modules/civicrm/CRM/Core/Error.php(433): CRM_Core_Error::backtrace("backTrace", TRUE)
#1 /.../domains/secure/htdocs/sites/all/modules/civicrm/CRM/Core/Invoke.php(39): CRM_Core_Error::handleUnhandledException(Object(CiviCRM_API3_Exception))
#2 /.../domains/secure/htdocs/sites/all/modules/civicrm/drupal/civicrm.module(471): CRM_Core_Invoke::invoke((Array:3))
#3 /.../domains/secure/htdocs/includes/menu.inc(527): civicrm_invoke("mailing", "view")
#4 /.../domains/secure/htdocs/index.php(21): menu_execute_active_handler()
#5 {main}
Environment:
- Debian 10 (64 bit)
- MariaDB 10.3
- PHP 7.3
- Drupal 7.88
- CiviCRM 5.47.0
- Mosaico 2.9