Moving these posts over from the thread where I put them... they're relevant to that as well, but should have been here... d'oh...
===========
I had a thought here... are we looking in the right place? Permissions are all very well, but what if it isn't hts that's trying to access the files.
tvheadend includes its own web server. That loads up the extjs pages (config.js and friends). I am assuming that none of this necessarily runs as hts... it may run as root, maybe something else. So...
1. If there's some quirk of different distros that changes how this process is spawned, the rights it inherits, or similar then maybe what works on, say, 'buntu 12.x doesn't work on Arch.
2. If something else has happened during installation that does the same - maybe some global umask, maybe a top-level inherited file system permission - then perhaps a process that runs as UID:GID on box 1 can access the files while the equivalent on box 2 can't.
We'd need to figure out where the processes run... are they simply threads of tvheadend (in which case they're indistinguishable and should be hts:video) or are they genuinely separately-spawned processes in their own right.
Just a thought... maybe judicious use of ps -eaf, grep, pstree, fuser and similar would tell us more?
===========
lsof suggests that the web server runs under hts:
tvheadend 21927 hts 11u IPv4 4372076 0t0 TCP *:9981 (LISTEN)
... so I'm not sure whether that shoots my theory down or not.
===========
Okay, I'm done for the moment - time for someone else to have a poke.
On my 'buntu box, at least, I'm not convinced that it's the file permissions. I can remove this file, chmod it to 000, chown it to root:root and do pretty much whatever I like with it - I never get the FAILED error, I never fail to read it or write it. Ultimately, hts has complete access to those directories, so can do what it likes, pretty much.
So the problem lies elsewhere - directory permission, perhaps, or some nebulous process issue.