Recently I upgraded:
Drupal core to 7.57
PHP from 5.6 to 7.0.28-1
CiviCRM from 4.7.27 to 4.7.31
Since I've done so I can't send mailings. Basically I get the same thing like in the post described here
When I select a group to send the mailing to, it says no recipients. And when I click send the mailing is listed as completed with 0 deliveries.
This is what I get in my php error log
[Tue Mar 27 10:02:14.592307 2018] [:error] [pid 10110] [client ip:45513] PHP Fatal error: Uncaught Error: Call to undefined function module_invoke_all() in /var/www/mysite/sites/all/modules/civicrm/CRM/Utils/System/Drupal.php:857\nStack trace:\n#0 /var/www/mysite/sites/all/modules/civicrm/CRM/Utils/System.php(1413): CRM_Utils_System_Drupal->onCiviExit()\n#1 /var/www/mysite/sites/all/modules/civicrm/extern/url.php(62): CRM_Utils_System::civiExit()\n#2 {main}\n thrown in /var/www/mysite/sites/all/modules/civicrm/CRM/Utils/System/Drupal.php on line 857, referer: https://mysite.org/civicrm/mailing/view?reset=1&id=709
I tried cleaning cache (drupal and civicrm) but it doesn't fix it. Rebuilding the smart groups didn't help either.
EDIT
This problem seems to be groups related and not mailing related. CiviCRM log is clean, and single mails work just fine.
EDIT2
However when I'm selecting mail recipients if I select recipients from previous mailings it counts them as it should but it doens't for groups (smart or regular).
EDIT 3
This seems to be an issue with multilingual installations.
The issue can be replicated by adding another language and then turning on Multiple Languages Support. After this the problem appears and disappears again when Multiple Languages Support is switched off.
4.7.27 was working, not sure whether the problem first appeared with 4.7.28, 4.7.29, 4.7.30 or 4.7.31