Comment 8 for bug 194085

Revision history for this message
ullix (ullix) wrote :

Aaaah, yet another location where things can be modified for mythtv!

But indeed, by changing one line in /etc/default/mythtv-backend to 'EXTRA_ARGS="--verbose all" ' I got me the numerous messages, which helped to uncover the problem and some bugs in mythtv.

Here is the problem: At the start mythbackend does a couple of sql queries of the type 'SELECT data FROM settings WHERE value = 'xyz' AND hostname = 'abc' . Depending on who started mythbackend - user mythtv if started from the scripts under /etc/init.d, and user main if started directly - a different abc was used: for user mythtv it was the real hostname of the computer, for user main it was a name defined in file ~/.mythtv/mysql.txt in line 'LocalHostName='. However, the entry here was what I had given to the frontend on this computer (hoping that it would allow me to distinguish between my multiple frontends) not the backend. Since this was NOT the hostname of any computer, several queries failed and the defaults were taken. Which resulted in a correct dataset and everything worked! But the user mythtv did not have a similar mysql.txt file, and the correct hostname was used, which somehow resulted in a wrong data set, and the message "all input are taken ..." comes up and it did not work.

I think it is a bug in mythtv when mythBACKend uses definitions given for mythFRONTend in attempting to define its BACKend settings. And why is there even a sql query if the defaults allow proper operation? And why does mythtv allow multiple users to start it, but then isn't aware of all the locations where configuration files of the different users are stored and of their content?

I "solved" my problem by sql updating all rows in table settings by changing all hostname='abc' into hostname=NULL where a port or IP was defined, and strangely enough it worked.

Allowing different users then results in additional problems: there is a file nfslockfile.lock in the recordings directory, which seems to be used as a flag since it is always empty (and is never removed), but does not allow a different user to overwrite it. Why not put this flag in the database? But if you leave it, as long as different users are permitted to start the backend, they all have to be able to set this flag.

Looking into other mythtv forums I come to the conclusion that mythtv desperately needs an option to completely reset all database tables and configuration files to their fresh-install state, maybe in mythtv-setup, as there are too many corners where things can be set (wrongly).