Frontend Problems

Myth's internal player is a fragile thing. I has been known to crash under a number of circumstances. When it does, you'll be looking at a blank, black screen, with no way to get back to the frontend. The only solution is to go to another system, telnet into the Myth system, determine the PID of the frontend, and kill it:

     su
     ps x -A | grep myth

You'll see something like:

     1571 ?     S      0:00 /usr/bin/dbus-launch --exit-with-session \
                             /usr/share/mythbuntu/session.sh
     1620 ?     S      0:00 /bin/sh /usr/bin/mythfrontend --service
    28209 ?     Sl     9:46 /usr/bin/mythfrontend.real --syslog local7

The process to kill is the one that is running "mythfrontend.real". To do so, use a command like:

     su
     kill -9 28209

The frontend should respawn itself and you will again be in business.

The causes of crashes while playing videos are varied and unknown, mostly having to do with malformed video or audio streams and the internal player's inability to handle poor quality data well. Bounds checking and other hardening techniques would go a long way to making it more robust but these are not techniques that are practiced by all, sad to say.

On the other hand, if the player crashes when you exit from watching a video, recording or live TV, the causes of such a crash are better known. One has to do with the inability of the frontend to contact the master backend for further instructions. To fix the cause of these sorts of crashes, you should review your /etc/udev/rules.d/70-persistent-net.rules to ensure that your system's NIC is properly mapped to the expected ethernet device. Look in /etc/network/interfaces to verify that the network device is properly set up.

Examine the /etc/hostname file to make certain that the correct host name is given therein, and then look at /etc/hosts to see that it is mapped to its correct IP address. While you're at it, also make certain that all of the other Myth host names, particularly the backend's, are mapped to their correct IP addresses so that DNS need not be invoked to map them to their IP addresses.

Define the master backend and its access parameters in the text file /etc/mythtv/mysql.txt. Pay particulat attention to these options, which should have values something like this:

     DBHostName=192.168.1.13
     DBUserName=mythtv
     DBPassword=asecret
     DBName=mythconverg
     DBType=QMYSQL3

If you copied or changed any of the data in the "settings" table, look at that data to make sure that the system's hostname is associated with all of the appropriate settings and that they all have appropriate values (see the next few paragraphs). If it helps, compare them against all of the values set for a known working system:

     mysql -uroot -p mythconverg
       select * from settings
         where hostname = 'wrkingsys' or hostname = 'newsys'
         order by value asc, hostname asc;

Another reason for the player crashing when you exit from watching a video, recording or live TV, is any of a number of problems with your system's audio configuration. Audio configuration is handled entirely through options in the "settings" table of the database. Once again, comparing the audio settings against those of a known good, working system can be instructive. In this case we look at all systems, since there are not that many options to evaluate:

     mysql -uroot -p mythconverg
       select * from settings
         where value like '%audio%' or value like '%passthru%'
           or value like '%sound%' or value like '%volume%'
           or value like '%mixer%'
         order by value asc, hostname asc;

The values chosen for the "AudioOutputDevice" and the "MixerDevice" are curcial and must be chosen correctly or the internal player will surely crash and leave you to face a blank screen. You might also want to consult the sections on "Sound Problems" and "HDMI Sound", above for further information on getting the audio hardware set up properly.