The entry rule included the following conditions:
(Role_Admin_Email Not equals "") AND (Disabled_State_Changed Equals "true")
AND (Disabled_State Equals "5") AND (Role_Admin_Email Contains "@") AND (UserProvisioningState Equals "Active")
AND (get_Role_List Not equals "")
Each criterion is evaluated in sequence, so testing Role_Admin_Email value is the first criterion.
But this Role_Admin_Email value is taken from the Custom Field of each role into the iterator. So when the list is empty it fails on the first condition.