Eh ho gia provato, ho messo un set error in ogni miniciclo per vedere se magari entrava nell'if della password vuota ma niente, se entrata nell'if della password troppo lunga ma niente, esegue la funzione tutta correttamente generando la password
con questo pezzo di codice :
$this->password_clear = JArrayHelper::getValue( $array, 'password', '', 'string' );
$salt = JUserHelper::genRandomPassword(32);
$crypt = JUserHelper::getCryptedPassword($array['password'], $salt);
$array['password'] = $crypt.':'.$salt;
quindi non entra in nessun caso eccezionale...non lo so se volete vi posto l'intera pagina magari trovate l'inghippo!