[mythtv-users] mythconverg/program is marked as crashed
Michael T. Dean
mtdean at thirdcontact.com
Mon Jan 25 19:07:28 UTC 2016
On 01/25/2016 01:07 PM, David L wrote:
>
> I have had mythtv installed on that backend for ~6 years and don't
> recall ever specifying a temp directory for MySQL. I assume it's
> using whatever the default directory was configured when I originally
> installed it. In any case, it doesn't look like any of my partitions
> are full.
>
> udev 2.0G 4.0K 2.0G 1% /dev
> tmpfs 404M 1.3M 402M 1% /run
> /dev/sda1 92G 80G 7.7G 92% /
> none 4.0K 0 4.0K 0% /sys/fs/cgroup
> none 5.0M 0 5.0M 0% /run/lock
> none 2.0G 246M 1.8G 13% /run/shm
> none 100M 24K 100M 1% /run/user
> /dev/sdb1 459G 413G 23G 95% /var/lib/mythtv
> /dev/sdc1 1.8T 1.6T 163G 91% /sdc1
> /dev/sda6 265G 229G 23G 91% /sda6
> /dev/sda5 1.9G 518M 1.2G 30% /var/log
It's also possible your file system is out of inodes. You can check
with df -i .
That said, it looks like your temp file is being stored in the same
directory as your mythconverg database files. The specific error:
> error : Can't create new tempfile: './mythconverg/program.TMD'
could also indicate that there's already a program.TMD file in the
directory owned by someone else (or even that the user running mysqld
doesn't have permission to create new files in the mythconverg
directory). If that's there, delete it, then re-run mysqlcheck.
> The repair program runs without any obvious errors:
>
> Repaired/Optimized: `mythconverg`.`archiveitems`
> Analyzed: `mythconverg`.`archiveitems`
> <snip>
> Repaired/Optimized: `mythconverg`.`program`
> Analyzed: `mythconverg`.`program`
> <snip>
> Repaired/Optimized: `mythconverg`.`websites`
> Analyzed: `mythconverg`.`websites`
>
> But it doesn't seem to fix anything. Per your link to the temp dir
> configuration, I tried setting the TMPDIR environment variable to a
> partition with lots of free space:
> sudo mkdir /sdc1/tmp
> sudo chmod a+rwX /sdc1/tmp/
> export TMPDIR=/sdc1/tmp/
> df -h $TMPDIR
> Filesystem Size Used Avail Use% Mounted on
> /dev/sdc1 1.8T 1.6T 163G 91% /sdc1
and you restarted mysqld from an environment that contained said
TMPDIR? Otherwise, it wouldn't affect anything (it's the MySQL server's
temp, not the mysqlcheck script's temp that's the problem).
> I get the same error when running mysqlcheck and the optimizer still
> runs with no errors and doesn't fix the problem.
It's possible that the table structure (i.e. the binary data file) is
corrupted beyond mysqlcheck's ability to automatically repair it. When
mysqlcheck automatically repairs a table, most data will still be
intact. However, if the table structure is too far corrupt, mysqlcheck
will refuse to repair the table and force an administrator to get
involved--and say to go ahead and do the repairs, even though some or
all data is likely to be lost. Whenever I've seen tables in this state,
repairing usually led to loss of all data. On the bright side, program
data is easy to re-create--you just re-run mythfilldatabase or let EIT
run for a while.
See:
http://dev.mysql.com/doc/refman/5.7/en/mysqlcheck.html
and note that you may need to use the --use-frm option. Try to first
run it with --repair and without --use-frm , and once you get that to
complete successfully without errors (like the "Can't create new
tempfile"), then--and only then, as a last resort--if you still show
errors in MythTV logs about crashed program file, you can try again with
--use-frm .
Mike
More information about the mythtv-users
mailing list