3d69a00716
This happened because we cache Task instances, not the values, and a failed task is still a *valid* task that can repeatedly be awaited. This lead to the Task being saved even if it failed, and the same exception constantly being re-thrown. This fix invalidates the cache if it finds a failed Task, and lets it retry fetching as normal (hopefully successfully this time).