Unsubscribe generates 500 server error responses, logs say "missing parameters"
Overview
Same as reported at: https://civicrm.stackexchange.com/questions/35323/missing-parameters-error-in-unsubscribe-confirmation
There was a PR https://github.com/civicrm/civicrm-core/pull/17081 to fix this but I'm still seeing these errors after applying the patch to Unsubscribe.php
I find it is intermittent: Every time I have used the form, it works! I've tried it on a desktop browser and Chrome on Android, for the same records as those that caused the crashes. I've tried it from a not-logged-in browser (i.e. anonymously) using the exact same link used by the people it crashed for and it "worked for me".
Environment information
- Browser: Have seen errors on Chrome on iOS and Chrome on Android
- CiviCRM: 5.24.5
- PHP: _7.0
- CMS: Drupal 7.70
- Database: MariaDB 10.1
- Web Server: nginx
Some more logs
Here's an example.
Error:
[1] => Array
(
[message] => Missing Parameters
[code] =>
[exception] => CRM_Core_Exception Object
(
[errorData:CRM_Core_Exception:private] => Array
(
[error_code] => 0
)
[cause:protected] =>
[_trace:PEAR_Exception:private] =>
[message:protected] => Missing Parameters
[string:Exception:private] =>
[code:protected] => 0
[file:protected] => /var/www/mysite.com/sites/all/modules/civicrm/CRM/Mailing/Form/Unsubscribe.php
[line:protected] => 31
POST was:
qfKey: 1f83e143301245d6f4a5839b3e49330e_7836
entryURL: https://mandrillapp.com/track/click/30767716/a-long-string
_qf_default: Unsubscribe:next
email_confirm: the-correct-email-address@example.com
_qf_Unsubscribe_next:Unsubscribe