So Friday, I unplug my Galaxy S3 before leaving for work and stuff it in my pocket. I pull it out and sit it on my desk at work for a few hours while working. I receive a phone call, pick up my Galaxy and notice that it’s very hot. After the call I check my battery level and see it down around 70% or so. Whoa, how’d that happen?
I opened up the battery settings and saw that Android System was using up all the battery time, but that’s a long (though not comprehensive) list of stuff on the screen. So, I jump into System Tuner Pro’s task manager, but don’t see anything obviously wrong in the application list. I tapped on the Kernel button at the bottom to add Kernel processes to the display and yo! A process called gsiff_daemon had used over 3.5 hours of CPU time and was still ticking away!
I immediately killed the process, but the damage was done. My battery was down in the mid-60’s with a full day to go. What happened and what is gsiff_daemon?
A quick web search didn’t turn up much other than others had the same issue. After delving into the situation that evening, I learned a few things scattered across many sites.
It appears that gsiff_daemon is related to the GPS subsystem and possibly goes crazy after a hot reboot. That makes sense, because I hot rebooted the night before after fixing the Cell Standby issue. gsiff_daemon probably ran all night but it didn’t matter because the phone was plugged into AC power. Only after unplugging the Galaxy in the morning could the daemon start killing my battery in earnest. Although its tempting to say that this is a Galaxy S3 issue, I did find posts around the Net from users with other phones that also had the issue. I didn’t research enough to see if it’s Ice Cream Sandwich specific or other possibilities.
You don’t need a fancy task manager to check if gsiff_daemon is running wild. Go into Settings -> Developer Options -> check Show CPU Usage. This will put the top CPU consuming processes in the upper right corner of your screen. If gsiff_daemon is on that list, it’s out of control. You should either kill it if you have root, or simply cycle your phone’s power.
So, other than stopping the process when it gets out of hand, what can one do? I didn’t find any formal fixes, but two things come to mind. One is to use Watchdog Task Manager to alert you when a process gets out of hand. That’s what I’m doing for now. The other is to delete or rename the file /system/bin/gsiff_daemon if you are rooted. The latter seems a bit drastic. I don’t use GPS much, but when I do I really need it. I’m not sure what gsiff_daemon does exactly, though, and a number of folks say they’ve deleted or renamed that file without any issues.
Also realize that lots of apps use GPS (if enabled) for location information. That includes weather apps, news apps, and a lot of social media apps.
I’ll monitor xda-developers to see if someone comes up with a fix and post it here if/when that happens. In the meantime, either avoid hot booting or check on gsiff_daemon’s behavior after doing so.