“Insufficient storage available”. Ok, but where? When I upgrade an Android application from Google Play, it gets downloaded, then the upgrade stops with the message “Error: Insufficient storage available.”

Yet none of the partitions seem to be nearly full. The app is about 10MB, and I have about 100MB free on /data. Here's the output of df (omitting /mnt/asec):

Filesystem             Size   Used   Free   Blksize
/dev                   171M    32K   171M   4096
/mnt/asec              171M     0K   171M   4096
/mnt/obb               171M     0K   171M   4096
/cache                 469M     2M   466M   4096
/efs                     6M     3M     3M   4096
/system                503M   329M   174M   4096
/data                 1007M   895M   112M   4096
/storage/sdcard0        13G     4G     8G   4096


This is happening on a rooted stock 4.1.2 image from Google.

I've read other questions on this site, such as Why can't I install apps when I have enough storage?, insufficient storage error while updating installed apps [duplicate], and others, but they all concern situations with only about 10–20MB free, whereas I have a 100MB safety margin. Unlike Something is secretly eating up my Acer Iconia A500 internal memory and I need help finding it and What can I do to manage my phone's internal storage?, I'm not trying to figure out which files are filling up a partition, I'm trying to figure out which partition is filled up.

So how can I figure out which partition this “insufficient storage” message is about?
A common problem on android devices is that android will keep and safe all applications which are in your system directory (system apps/apps installed from the factory). This is exactly the same problem I had with my Sony Xperia arc s. 

I've fixed this by rooting my phone and install "system cleaner root" (note: only rooted devices can use this app and you'll probably lose your warranty when you root your phone) and run that application. It will search for saved update files on your phone which are system apps, and then delete these old update files. 

The problem should be fixed. As long as you run "system cleaner root" once in a while.