Joomla 3.8 & CiviCRM 4.7.x - front-end error 500 when logged in
It turns out this was down to the distribution of BSD on the broken servers was standard USA but PHP needed the PECL international library (https://pecl.php.net/package/intl).

Apparently without it, the collator in Array.php is returning a null rather than an exception and causing the error. But only in Joomla 3.8 it seems.

Dave at Digijuice suggested that ammending Array.php at line 534 as follows could fix the problem - which I include in case of use to anyone, but not sure if the problem is common enough to submit this as a change/issue?

public static function asort($array = array()) {
  $lcMessages = CRM_Utils_System::getUFLocale();

  if ($lcMessages &amp;&amp; $lcMessages != 'en_US' &amp;&amp; class_exists('Collator')) {
    $collator = new Collator($lcMessages . '.utf8');
      If($collator!==NULL) {
        $collator-&gt;asort($array); }
         else {
           asort($array);
         }
       }
    else {
      // This calls PHP's built-in asort().
      asort($array);
    }
return $array;
}