FAILED: xmltv returned error code 32512.Now, after a bit of searching I have finally found that 32512 is a magic code from the C
system(3)call, which basically does a "sh -c (system call and arguments)". If sh can't find the file you've specified in the
system()call, it returns 127, which is shifted into the upper eight bits of a 16-bit smallint (as far as I can make out, the lower eight bits are reserved for informing the caller that the system call was aborted due to a signal - e.g. a segmentation fault).
After a lot more searching, and a good deal of abuse on the #mythtv-users channel on freenode.org, I finally found some information about shell exit codes, and it turns out that 127 is "command not found". In other words, mythfilldatabase at that point is trying to call the tv_grab_au grabber and not finding it. On my brother's machine, this is because sh under root does not get the path /usr/local/bin, which is where the grabber is stored.
(It works on my machine because I run it from a script which picks a random time, and includes /usr/local/bin in the path.
So there are two solutions, as I see it:
1) Put tv_grab_au in /usr/bin/.
2) Run mythfilldatabase from cron using a script which includes /usr/local/bin in the path.
Given the bollocking I got in #mythtv-users for suggesting something so crude and hackish (in the words of Marcus Brown, mzb_d800) as cron, I guess I'll have to go with option 1. But here's hoping that this blog entry helps someone else out there - almost every post on the mythtv-users email list that mentions 32512 never mentions a solution...
All posts licensed under the CC-BY-NC license. Author Paul Wayper.