Yesterday I got a text-message from my Mobile Operator. My mobile contract has a Fair Use Policy and the text-message stated that I had used 50% of the monthly limit. Well, that's weird. It's february 1st! On the first day I used half of my data-limit? So I opened the Nokia Counters app. It showed me that I already used more than 600 MB!! How is that possible? Another thing I had noticed was that my battery seemed to be draining much faster than usual. I realized that the power-consumption was probably a result of the high data-traffic.
What could use so much data? I hadn't used my phone a lot this day. I did update this phone to WP 7.8 the day before. No apps were running. And even if apps were running, they should be tombstoned and not use data. Or maybe one of the apps had a background task running. But I did not install new apps. And I did not have this problem before.
Another thing I had noticed right after the update to WP 7.8 was that one of the pinned live tiles was empty. I did not really pay further attention to it and I assumed the app would be updated soon enough if this was a real problem. But now I realized, that live-tiles needed to be updated and not much else is using data at that moment. The app without live-tile is the unofficial tweakers.net app by Robert de Veen:
So I did a few tests. I watched the Nokia Counters app. I unpinned the app with empty tile. Data usage stopped. Pinning it on the start-menu again and 3G draining started immediately again. In my case, it used about 1 MB per minute!
Time for more testing! I did more analysis on live-tiles in the past, so I knew this data can be captured the easy way. Just put the phone in airplanemode, connect the phone to the PC with Zune, fire-up Wireshark with http-filter in promiscuous mode and watch all the data pass by. The problem is quite obvious. The OS tried to fetch the live-tile on this URL:
The server responded with a redirect to this URL:
Apparently, that sub-domain tweakers.robertdeveen.com is not available anymore. The OS attempts to fetch the redirected URL, but instead of a live-tile image, it receives a error-page in html. And instead of waiting for the next cycle for fetching live-tiles, the OS starts an endless loop of tile-fetching-attempts. This causes high CPU-load and high bandwidth-usage and that will drain the battery too.
Did the sub-domain just go black on this day? Or does the WP 7.8 update cause this sudden behavior? To find out, I tested on two more devices. One WP 7.8 and one WP 7.5 device. On WP 7.5, this problem is not reproducable. On the other WP 7.8 device the problem was immediately reproducable. So, the problem seems to lie in the code of the new WP 7.8 startmenu. I don't know how much of that code is shared with WP 8, or even Windows 8 or Windows RT. That would need more investigation. It is possible that this problem reaches beyond WP 7.8.
One last thing I wanted to test. How does this code behave when the phone is locked? Normal behavior is that the phone will switch off Wifi after being locked for about one minute. It will then switch to 3G for data, because the Wifi-radio can be switched off and the battery would last longer. You can see this when you lock the phone and unlock immediately. The Wifi icon will stay on. But if you wait longer than a minute and then unlock, you see the Wifi icon reconnect. In this case that would mean, that the 3G would also drain, even when a locked phone is within reach of Wifi. So I looked at Nokia Counters, locked the phone, leave it locked for a while, unlock and have a look at Nokia Counters again. I was surprised to see that no 3G data was used. I also noticed that the Wifi-icon would stay connected, even after being locked for some minutes. I checked this by using ARP-poisoning and watching Wifi usage of the phone. It confirms that when a bad live-tile is pinned on the startmenu, it will keep using Wifi, even when the phone is locked for a while. The good thing is that 3G is not drained while staying within reach of Wifi. But it causes to drain the battery even more.
I will end with some suggestions:
- To Robert de Veen: Please fix the tweakers.robertdeveen.com sub-domain, which hosts the live-tile-images, as soon as possible.
- To Microsoft: Please fix the startmenu. When fetching a live-tile fails, just wait for the next cycle.
- To all WP 7.8 users: Watch your 3G usage. When it is absurdly high after the WP 7.8 update and one of the tiles is empty, unpin that app from the startmenu and see if the problem is gone.
- Heathcliff74 -
Update 1: Robert de Veen has pushed out a new version of the app for Marketplace aprroval. The new version does not have live-tile-updates, so the problem should be resolved. This new version is expected to be published in a matter of days. Thanks to Robert for the quick response!!
Update 2: The server that hosts the live-tile-images of the Tweakers.net app seems to have a daily traffic-limit. So the problem with the live-tiles of this app seem to be gone in the morning, but it will reappear somewhere during the day. So I still advise everybody to unpin the tweakers.net app, until the app is updated to a newer version.
Update 3: Together with Rafael Rivera (@WithinRafael), we tested the issue on WP8 (build 8.0.9903.10). It seems that WP8 is fortunately NOT affected!