I have the same issue. The problem arises from this addition to ‘polylang/include/model.php:401’:
if (empty($translations) && $lang = call_user_func(array(&$this, 'get_'.$type.'_language'), $id))
when the $type parameter is neither ‘post’ nor ‘term’. The comment of the function states that only ‘post’ or ‘term’ are supported, but this is nowhere checked. A violation of this comment happens with the Advanced Custom Fields plugin. Here is a stack trace that illustrates the problem:
#0 PLL_Model->get_translations(acf, 136) called at [wp-content/plugins/polylang/include/model.php:379]
#1 PLL_Model->get_translation(acf, 136, en) called at [wp-content/plugins/polylang/include/wpml-compat.php:173]
#2 icl_object_id(136, acf, 1, en) called at [wp-content/plugins/advanced-custom-fields/core/fields/_functions.php:352]
#3 acf_field_functions->load_field(, field_5536aca143e36)
#4 call_user_func_array(Array ([0] => acf_field_functions Object (),[1] => load_field), Array ([0] => ,[1] => field_5536aca143e36)) called at [wp-includes/plugin.php:213]
#5 apply_filters(acf/load_field, , field_5536aca143e36) called at [wp-content/plugins/advanced-custom-fields/core/api.php:278]
#6 get_field_object(my_field, 177, Array ([load_value] => 1,[format_value] => 1)) called at [wp-content/plugins/advanced-custom-fields/core/api.php:214]
#7 get_field(my_field, 177)
…