Civi returning 500 errors to Paypal Pro request to civicrm/extern/ipn.php
Civi gathers all the information it needs from Paypal's request to ipn.php and DOES correctly update the status, fee_amount, etc. from the array given to Civi by Paypal. Note: This is for ONE TIME (single) transactions, not for recurring transactions.
However despite this, Civi is returning a 500 error back to Paypal, who in turn tries and tries again, and eventually turns off IPN entirely.
The original report is here: https://civicrm.stackexchange.com/questions/26603/anyone-getting-ipn-warning-emails-from-paypal and I've discussed the issue with @xurizaemon and @eileen
CiviCRM.log does list the array received from Paypal which appears intact, but there is no mention of any error, per se, in CiviCRM.log. However in the server php error_log I find the attached error for the same transaction. Note there are several 500 because Paypal, after the initial perceived failure repeats the request several times in the subsequent minutes.
error_paypal_pro_one-time_ipn.php.txt
Note that comparatively the 'new URL' for IPN works fine, and returns 200 code: civicrm/payment/ipn/1