This may prevent the stateful partition from being unmounted in chromeos_shutdown. There might be a relation to issue 760007 but I'm sceptical since the sync call in chromeos_shutdown should prevent data loss even in case umount fails.
Repro steps:
dd if=/dev/zero of=blocks bs=1M count=100
mkfs.ext4 -F blocks
mkdir mountpoint
sudo mount blocks mountpoint -o loop
sudo chmod a+w mountpoint
sleep 10000 > mountpoint/open_file &
sudo umount mountpoint
Umount fails because of an open file, which is expected. The bad part: lsof (and also fuser) don't list sleeping processes. As a consequence, kill_with_open_files_on is not able to kill the process.
Output of lsof/fuser:
$ lsof mountpoint
lsof: WARNING: can't stat() fuse.gvfsd-fuse file system /root/.gvfs
Output information may be incomplete.
$ fuser mountpoint
$
So far, I've come across two process states (from /proc/xxxxx/status) that are invisible to lsof and fuser (but there may be more):
State: S (sleeping)
State: T (stopped)