[mythtv-users] Incompatible versions

Stephen Worthington stephen_agent at jsw.gen.nz
Fri Nov 25 01:57:12 UTC 2022


On Thu, 24 Nov 2022 17:26:12 +0000, you wrote:

>Hi All,
>
>I wonder if someone can give me a pointer here. I have a friend with a 
>0.32 installation on a Rocky Linux host.
>
>If I configure it with its capture cards as a completely new system all 
>works well.
>
>But, if I migrate the database from his old 0.25 system, using 
>mythconverg_restore.pl to restore the database and also change the 
>hostname I get this error from MythWeb ->
>
>User Notice at /usr/share/mythtv/bindings/php/MythBackend.php, line 109:
>!!NoTrans: Incompatible protocol version (mythweb=91, backend=72)!!
>
>User Notice at /usr/share/mythtv/bindings/php/MythBackend.php, line 133:
>!!NoTrans: Failed to set php timezone to !!
>
>If I restore the mysqldump I made of the database prior to the restore 
>of the 0.25 database all returns to normal.
>
>The upgrade process produced logs and errors like this:-
>
>2022-11-24 17:10:58.227785 I [37019/37019] CoreContext 
>schemawizard.cpp:119:Compare  Current MythTV Schema Version 
>(DBSchemaVer): 1299
>2022-11-24 17:10:58.237949 E [37019/37019] CoreContext 
>storagegroup.cpp:696:FindNextDirMostFree  SG(Default): 
>FindNextDirMostFree: '/media/store3/store' does not exist!
>2022-11-24 17:10:58.237962 E [37019/37019] CoreContext 
>storagegroup.cpp:696:FindNextDirMostFree  SG(Default): 
>FindNextDirMostFree: '/mnt/store0/store' does not exist!
>2022-11-24 17:10:58.237970 E [37019/37019] CoreContext 
>storagegroup.cpp:696:FindNextDirMostFree  SG(Default): 
>FindNextDirMostFree: '/mnt/store1/store' does not exist!
>2022-11-24 17:10:58.237977 E [37019/37019] CoreContext 
>storagegroup.cpp:696:FindNextDirMostFree  SG(Default): 
>FindNextDirMostFree: '/mnt/store2/store' does not exist!
>2022-11-24 17:10:58.239599 E [37019/37019] CoreContext 
>dbutil.cpp:600:DoBackup  Backing up database with script: 
>'/usr/share/mythtv/mythconverg_backup.pl'
>2022-11-24 17:11:22.803018 C [37019/37019] CoreContext 
>dbutil.cpp:621:DoBackup  Database Backup complete.
>2022-11-24 17:11:22.803724 C [37019/37019] CoreContext 
>dbutil.cpp:652:DoBackup  Backed up database to file: 
>'/tmp/mythconverg-1299-20221124171058.sql.gz'
>2022-11-24 17:11:22.846105 I [37019/37019] CoreContext 
>mythcommandlineparser.cpp:2920:operator()  Qt: QXcbConnection: XCB 
>error: 1 (BadRequest), sequence: 417, resource id: 1363, major code: 155 
>(Unknown), minor code: 1
>2022-11-24 17:12:41.845299 C [37019/37019] CoreContext 
>dbcheckcommon.cpp:120:performActualUpdate  Upgrading to MythTV schema 
>version 1300
>2022-11-24 17:12:41.852326 C [37019/37019] CoreContext 
>dbcheckcommon.cpp:120:performActualUpdate  Upgrading to MythTV schema 
>version 1301
>2022-11-24 17:12:41.868098 C [37019/37019] CoreContext 
>dbcheck.cpp:1966:doUpgradeTVDatabaseSchema  Upgrading to MythTV schema 
>version 1302
>2022-11-24 17:12:41.883707 E [37019/37019] CoreContext 
>mythdb.cpp:229:DBError  DB Error (GetRecgroupString()):
>Query was:
>SELECT recgroup FROM recgroups WHERE recgroupid = 1
>Bindings were:
>:RECGROUPID=1
>Driver error was [2/1146]:
>QMYSQL: Unable to execute query
>Database error was:
>Table 'mythconverg.recgroups' doesn't exist
>
>2022-11-24 17:12:41.884502 E [37019/37019] CoreContext 
>mythdb.cpp:229:DBError  DB Error (UPDATE/INSERT record):
>Query was:
>INSERT INTO record SET type = 11, search = 0, recpriority = 0, prefinput 
>= 0, startoffset = 0, endoffset = 0, dupmethod = 8, dupin = 15, filter = 
>0, autoextend = 0, inactive = 0, profile = 'Default', recgroup = '', 
>recgroupid = 1, storagegroup = 'Default', playgroup = 'Default', 
>autoexpire = 1, maxepisodes = 0, maxnewest = 0, autocommflag = 1, 
>autotranscode = 0, transcoder = 0, autouserjob1 = 0, autouserjob2 = 0, 
>autouserjob3 = 0, autouserjob4 = 0, autometadata = 1, parentid = 0, 
>title = 'Default (Template)', subtitle = '', season = 0, episode = 0, 
>description = '', category = 'Default', starttime = '17:12:41', 
>startdate = '2022-11-24', endtime = '17:12:41', enddate = '2022-11-24', 
>seriesid = '', programid = '', inetref = '', chanid = 0, station = '', 
>findday = 0, findtime = '00:00:00', findid = 738848, next_record = NULL, 
>last_record = NULL, last_delete = NULL, avg_delay = 100 ;
>Bindings were:
>:AUTOCOMMFLAG=true, :AUTOEXPIRE=true, :AUTOEXTEND=0, :AUTOMETADATA=true,
>:AUTOTRANSCODE=false, :AUTOUSERJOB1=false, :AUTOUSERJOB2=false,
>:AUTOUSERJOB3=false, :AUTOUSERJOB4=false, :AVGDELAY=100, 
>:CATEGORY="Default",
>:CHANID=0, :DESCRIPTION="", :DUPIN=15, :DUPMETHOD=8, :ENDDATE=2022-11-24,
>:ENDOFFSET=0, :ENDTIME=17:12:41.868, :EPISODE=0, :FILTER=0, :FINDDAY=0,
>:FINDID=738848, :FINDTIME=00:00:00.000, :INACTIVE=false, :INETREF="", 
>:INPUT=0,
>:LASTDELETE=NULL, :LASTREC=NULL, :MAXEPISODES=0, :MAXNEWEST=false, 
>:NEXTREC=NULL,
>:PARENTID=0, :PLAYGROUP="Default", :PROGRAMID="", :RECGROUP="", 
>:RECGROUPID=1,
>:RECPRIORITY=0, :RECPROFILE="Default", :SEARCHTYPE=0, :SEASON=0, 
>:SERIESID="",
>:STARTDATE=2022-11-24, :STARTOFFSET=0, :STARTTIME=17:12:41.868, :STATION="",
>:STORAGEGROUP="Default", :SUBTITLE="", :TITLE="Default (Template)",
>:TRANSCODER=0, :TYPE=11
>Driver error was [2/1054]:
>QMYSQL: Unable to execute query
>Database error was:
>Unknown column 'autoextend' in 'field list'
>
>I know about the store errors and will create the right folders for it, 
>but later in the process there are many errors like this.....
>
>2022-11-24 16:35:11.817658 E [35594/35594] CoreContext 
>mythdb.cpp:229:DBError  DB Error (LoadProgramFromRecorded):
>Query was:
>SELECT r.title,            r.subtitle,     r.description, 
>r.season,           r.episode,      r.category, r.chanid,           
>c.channum,      c.callsign, c.name,             
>c.outputfilters,r.recgroup, r.playgroup,        r.storagegroup, 
>r.basename, r.hostname,         r.recpriority,  r.seriesid, 
>r.programid,        r.inetref,      r.filesize, r.progstart,        
>r.progend,      r.stars, r.starttime,        r.endtime,      
>p.airdate+0, r.originalairdate,  r.lastmodified, r.recordid, 
>c.commmethod,       r.commflagged,  r.previouslyshown, 
>r.transcoder,       r.transcoded,   r.deletepending, r.preserve,         
>r.cutlist,      r.autoexpire, r.editing,          r.bookmark,     
>r.watched, p.audioprop+0,      p.videoprop+0,  p.subtitletypes+0, 
>r.findid,           rec.dupin,      rec.dupmethod, 
>p.syndicatedepisodenumber, p.partnumber, p.parttotal, 
>p.season,           p.episode,      p.totalepisodes, p.category_type,    
>r.recordedid,   r.inputname, r.bookmarkupdate,   
>r.lastplay                         FROM recorded AS r LEFT JOIN channel 
>AS c ON (r.chanid    = c.chanid) LEFT JOIN recordedprogram AS p ON 
>(r.chanid    = p.chanid AND     r.progstart = p.starttime) LEFT JOIN 
>record AS rec ON (r.recordid = rec.recordid) WHERE r.chanid    = 15220 
>AND       r.starttime = '2020-11-24T21:00:00Z'
>Bindings were:
>:CHANID=15220, :RECSTARTTS=2020-11-24T21:00:00.000Z
>Driver error was [2/1054]:
>QMYSQL: Unable to execute query
>Database error was:
>Unknown column 'r.lastplay' in 'field list'
>
>
>Table 'mythconverg.recgroups' doesn't exist in the original database 
>from 0.25.
>
>If this is hard to work around is there are simple way to transfer the 
>records of previous recordings from the old database to the new. 
>Everything else, capture cards etc etc has changed.
>
>Interestingly I did a similar migration from my old 0.24 system earlier 
>in the year without any issues.
>
>
>Any pointers would be much appreciated.
>
>Thanks
>
>Ken

When you want to restore a database, you need to make sure you
completely drop the old database first and get mythconverg_restore.pl
to create a new database:

mythconverg_restore.pl --drop_database --create_database --filename
<backup file>.sql

Then the next thing to do is run mythtv-setup to get it to upgrade the
database schema.  It will do a database backup first, so it can take a
while.  Check the /var/log/mythtv/mythtv-setup.log file for progress
reports.  Then run mythfrontend and it will upgrade the database
schema for any frontend only database tables (mythmusic in
particular).  Again, it will backup the database first, so check
/var/log/mythtv/mythfrontend.log for progress reports.


More information about the mythtv-users mailing list