Error retrieving information from server. [DF-DFERH-01]

Marvelous, DF-DFERH-01 must be one of the most common Google Play errors out there and there’s virtually no documentation of what it means. Shit ton of (steamroller tactic style) advice on how to fix it, though: “reboot device”, “clear cache”, “delete updates”, “wear a funny hat and poke yourself in the eye while doing it”. Gosh, I just love “magic solutions” by people who don’t even understand what the problem is.

Speaking of “understanding the problem”. I repeatedly ran into DF-DFERH-01 today while tinkering with Raccoon, which led to the following observations:

  • DF-DFERH-01 is sent along with a HTTP/1.1 400 Bad Request status code
  • The entire message is generated server side and sent to the client with a “display this in a popup dialog” command (nice one Google, usability much? Would it have killed you to tell the user what’s up instead of showing him an error code that is referenced nowhere?)
  • It happens when the auth cookie in the HTTP request header goes stale.

So basically, DF-DFERH-01 seems to say “you are no longer logged in”. Not sure, why/when it happens on real devices (the Accountmanager should automatically take care of refreshing the token), but my guess is a buggy version of the Play app that doesn’t report back stale auth tokens to the Accountmanager and not interacting with other Google services (so the Accountmanager never gets triggered into refreshing the token).

Anyway, what can be done about this? As far as I can tell: first removing and re adding your account to the device and (if that doesn’t already fix it), clearing the cache of the Play app afterwards (order is important here).

Posted in Note to self, Tinkering