According to the documentation:
For this purpose, the absorber::set_reward(asset, blesser, is_active) method has an is_active flag to deactivate a reward asset. This flag is also correctly taken into account in absorber::bestow() which is called by absorber::update() on absorption in order to avoid permanent absorption DoS on failing reward tokens.  
However, the is_active flag is not taken in account in absorber::get_provider_rewards(), called by absorber::get_absorbed_and_rewarded_assets_for_provider(), which is further called by absorber::reap_helper() on absorber::provide(), absorber::remove() and absorber::reap().
The methods absorber::provide(), absorber::remove() and absorber::reap() are subject to DoS in case a single reward asset becomes faulty (reverts on transfer). Deactivating the asset via is_active = false cannot avoid this issue in the current implementation.
Skip inactive reward assets within absorber::get_provider_rewards():
