Olympics preparation

An evolving, supported alternative to Rovi
Forum rules
★ Download the latest EPG123 here: https://garyan2.github.io/ <> Setup guide here: https://garyan2.github.io/install.html
User avatar
garyan2

Posts: 7480
Joined: Fri Nov 27, 2015 7:23 pm
Location:

HTPC Specs: Show details

#21

Post by garyan2 » Wed Aug 11, 2021 2:56 pm

Yah, I've been running the -b along with the garbage collection for a week now, so a sample of 4 on 2 different systems without issue. I've already changed the code to combine them rather than have the backup run the day prior.

I don't know when WMC cleans up the backup folders, currently mine are at 3 files per backup so it has already done it for mine. I don't know why yours would be more.

I compared my lineup backup files and the only real changes is the end date of guide listings for each station which would be expected after adding new guide data.
- Gary
Keeping WMC alive beyond January 2020. https://garyan2.github.io

Space

Posts: 2841
Joined: Sun Jun 02, 2013 9:44 pm
Location:

HTPC Specs: Show details

#22

Post by Space » Thu Aug 12, 2021 12:03 am

garyan2 wrote: Wed Aug 11, 2021 2:56 pm I don't know when WMC cleans up the backup folders, currently mine are at 3 files per backup so it has already done it for mine. I don't know why yours would be more.
I believe I've seen different numbers of files for each type (lineups, recordings, subscriptions) but haven't really kept a close eye on it.
garyan2 wrote: Wed Aug 11, 2021 2:56 pm I compared my lineup backup files and the only real changes is the end date of guide listings for each station which would be expected after adding new guide data.
Considering that guide data is not restored when you do a DB restore, it doesn't make much sense to save that info in the backups. If that is the only thing that changes regularly, it would mean that the backup files wouldn't change much if that wasn't part of the backup. I would guess if you replaced those dates with a common static date (1/1/1970 for instance), the restore would work just fine, but that is just speculation.

But I also noticed some other minor changes in the backups I compared, like the ID's of certain things incrementing by one. Not sure why those changed... I believe the files I compared was the one made at the time of the auto-rebuild and the one by the "-b" option, so I don't think anything like that should have changed, but I'll have to check the next backup with the latest one to see if those things increment again...

I wonder why WMC does not make backups of the lineups like it does for schedules, perhaps because the backup is much larger and takes a bit more time to create? Perhaps just an oversight? Maybe it's similar to the garbage cleanup, in that it WAS doing this backup regularly but since the MS servers went away, it no longer does?

User avatar
garyan2

Posts: 7480
Joined: Fri Nov 27, 2015 7:23 pm
Location:

HTPC Specs: Show details

#23

Post by garyan2 » Thu Aug 12, 2021 2:17 am

I'm thinking the WMC backups were part of the client maintenance, and since that is no longer then epg123 needs to pick it up. This was an oversight by me thinking the backups were more automatic than they were.
- Gary
Keeping WMC alive beyond January 2020. https://garyan2.github.io

Space

Posts: 2841
Joined: Sun Jun 02, 2013 9:44 pm
Location:

HTPC Specs: Show details

#24

Post by Space » Mon Aug 16, 2021 12:17 am

I had another spontaneous WMC DB rebuild today during the EPG 123 client update. This time there were no recordings in progress...

I see that EPG123 detected the rebuild, but I am pretty sure that the rebuild happened at the same time as the EPG123 client update, as I happened to have the TV on and WMC running during the update and I saw the pop-up about the rebuild from WMC at that time.

Code: Select all

[8/15/2021 7:38:49 PM] ===============================================================================
[8/15/2021 7:38:49 PM]  Beginning epg123 client execution. version 1.6.7.0
[8/15/2021 7:38:49 PM] ===============================================================================
[8/15/2021 7:38:49 PM] [ INFO] Beginning epg123 client execution. 2021-08-15 23:38:49Z
[8/15/2021 7:38:49 PM] [ INFO] Import: True , Match: True , NoLogo: False , Force: False , ShowProgress: False , NoGC: True , NoVerify: False , Verbose: True
[8/15/2021 7:38:50 PM] Entering ImportMxfFile() for file "c:\programdata\garyan2\epg123\output\epg123.mxf".
[8/15/2021 7:41:26 PM] [ERROR] A database recovery has been detected. Attempting to open new database.
[8/15/2021 7:41:26 PM] [ INFO] Error: The following error was encountered while processing the file. Aborting.
[8/15/2021 7:41:26 PM] [ INFO] StoredObjectFieldBinding.GetValue: StoredObjects is NULL (Name = 'provider', StoredName = 'provider', Id = '0xFF998B64071B4EB', ElementTypeId = '1407374883553280', TypeId='FF9000000000000', offset=16, sourceBuffer='id,Int64,-1,0,8
[8/15/2021 7:41:26 PM] [ INFO] lockCount,Int32,-1,8,4
[8/15/2021 7:41:26 PM] [ INFO] revision,Int32,-1,12,4
[8/15/2021 7:41:26 PM] [ INFO] provider,Provider,-1,16,8
[8/15/2021 7:41:26 PM] [ INFO] restriction,StoredTypeRestriction,-1,24,8
[8/15/2021 7:41:26 PM] [ INFO] uids,UIds,-1,32,0
[8/15/2021 7:41:26 PM] [ INFO] 2AF9080000001300
[8/15/2021 7:41:26 PM] [ INFO] 00000000010083F5
[8/15/2021 7:41:26 PM] [ INFO] EBB47140B698F90F
[8/15/2021 7:41:26 PM] [ INFO] 93D84B1B93EE0000
[8/15/2021 7:41:26 PM] [ INFO] 05AA020000001800
[8/15/2021 7:41:26 PM] [ INFO] 0DBA000018000000
[8/15/2021 7:41:26 PM] [ INFO] 440072002E002000
[8/15/2021 7:41:26 PM] [ INFO] 530061006E007400
[8/15/2021 7:41:26 PM] [ INFO] 6900610067006F00
[8/15/2021 7:41:26 PM] [ INFO] 0000000000000000
[8/15/2021 7:41:26 PM] [ INFO] 6D00610020005400
[8/15/2021 7:41:26 PM] [ INFO] 65006E0074006100
[8/15/2021 7:41:26 PM] [ INFO] 63006C0065007300
[8/15/2021 7:41:26 PM] [ INFO] 00002E0020005300
[8/15/2021 7:41:26 PM] [ INFO] 7100750061007200
[8/15/2021 7:41:26 PM] [ INFO] 6500500061006E00
[8/15/2021 7:41:26 PM] [ INFO] 740073002F005000
[8/15/2021 7:41:26 PM] [ INFO] 6100740063006800
[8/15/2021 7:41:26 PM] [ INFO] 7900200054006800
[8/15/2021 7:41:26 PM] [ INFO] 6500200050006900
[8/15/2021 7:41:26 PM] [ INFO] 7200610074006500
[8/15/2021 7:41:26 PM] [ INFO] 2F004E0061007200
[8/15/2021 7:41:26 PM] [ INFO] 7200610074006F00
[8/15/2021 7:41:26 PM] [ INFO] 7200000053006800
[8/15/2021 7:41:26 PM] [ INFO] 6F00720074002000
[8/15/2021 7:41:26 PM] [ INFO] 4600690073006800
[8/15/2021 7:41:26 PM] [ INFO] 0000200053006900
[8/15/2021 7:41:26 PM] [ INFO] 6E0063006C006100
[8/15/2021 7:41:26 PM] [ INFO] 6900720000006300
[8/15/2021 7:41:26 PM] [ INFO] 7200610074006300
[8/15/2021 7:41:26 PM] [ INFO] 680079002F004B00
[8/15/2021 7:41:26 PM] [ INFO] 65006E0074002000
[8/15/2021 7:41:26 PM] [ INFO] 420072006F006300
[8/15/2021 7:41:26 PM] [ INFO] 6B006D0061006E00
[8/15/2021 7:41:26 PM] [ INFO] 2F00440072002E00
[8/15/2021 7:41:26 PM] [ INFO] 20004A0075006C00
[8/15/2021 7:41:26 PM] [ INFO] 6900750073002000
[8/15/2021 7:41:26 PM] [ INFO] 4800690062006200
[8/15/2021 7:41:26 PM] [ INFO] 6500720074002F00
[8/15/2021 7:41:26 PM] [ INFO] 5200650076006500
[8/15/2021 7:41:26 PM] [ INFO] 720065006E006400
[8/15/2021 7:41:26 PM] [ INFO] 2000540069006D00
[8/15/2021 7:41:26 PM] [ INFO] 6F00740068007900
[8/15/2021 7:41:26 PM] [ INFO] 20004C006F007600
[8/15/2021 7:41:26 PM] [ INFO] 65006A006F007900
[8/15/2021 7:41:26 PM] [ INFO] 0000430068006900
[8/15/2021 7:41:26 PM] [ INFO] 6E00650073006500
[8/15/2021 7:41:26 PM] [ INFO] 200043006F006D00
[8/15/2021 7:41:26 PM] [ INFO] 6D0065006E007400
[8/15/2021 7:41:26 PM] [ INFO] 610074006F007200
[8/15/2021 7:41:26 PM] [ INFO] 200031002F004300
[8/15/2021 7:41:26 PM] [ INFO] 680069006E006500
[8/15/2021 7:41:26 PM] [ INFO] 7300650020005200
[8/15/2021 7:41:26 PM] [ INFO] 6500660065007200
[8/15/2021 7:41:26 PM] [ INFO] 650065002F005400
[8/15/2021 7:41:26 PM] [ INFO] 6F006D0027007300
[8/15/2021 7:41:26 PM] [ INFO] 0000000000000000
[8/15/2021 7:41:26 PM] [ INFO] 0000000000000000
[8/15/2021 7:41:26 PM] [ INFO] 0000000000000000
[8/15/2021 7:41:26 PM] [ INFO] 0000000000000000
[8/15/2021 7:41:26 PM] [ INFO] 0000000000000000
[8/15/2021 7:41:26 PM] [ INFO] 0000000000000000
[8/15/2021 7:41:26 PM] [ INFO] 0000000000000000
[8/15/2021 7:41:26 PM] [ INFO] 0000000000000000
[8/15/2021 7:41:26 PM] [ INFO] 0000000000000000
[8/15/2021 7:41:26 PM] [ INFO] 0000000000000000
[8/15/2021 7:41:26 PM] [ INFO] 0000000000000000
[8/15/2021 7:41:26 PM] [ INFO] 0000000000000000
[8/15/2021 7:41:26 PM] [ INFO] 0000000000000000
[8/15/2021 7:41:26 PM] [ INFO] 0000000000000000
[8/15/2021 7:41:26 PM] [ INFO] 1DF9080000000E00
[8/15/2021 7:41:26 PM] [ INFO] ')
[8/15/2021 7:41:33 PM] [ERROR] Error using loadmxf.exe to import new guide information. Exit code: -1
[8/15/2021 7:41:33 PM] Exiting ImportMxfFile(). FAILURE.
[8/15/2021 7:41:33 PM] [ERROR] Failed to import .mxf file. Exiting.
[8/15/2021 7:41:33 PM] [ INFO] MXF file was created on 8/15/2021 7:38:00 PM
[8/15/2021 7:43:28 PM] [ERROR] Unhandled exception caught from epg123Client.exe. message: Exception has been thrown by the target of an invocation.
   at System.RuntimeMethodHandle.InvokeMethod(Object target, Object[] arguments, Signature sig, Boolean constructor)
   at System.Reflection.RuntimeMethodInfo.UnsafeInvokeInternal(Object obj, Object[] parameters, Object[] arguments)
   at System.Delegate.DynamicInvokeImpl(Object[] args)
   at Microsoft.MediaCenter.Store.StoredObjectHandlers.RaiseEvent(StoredObjectEventArgs e)
   at Microsoft.MediaCenter.Store.StoredObjectEventHolder.RaiseEvent()
   at Microsoft.MediaCenter.Store.ObjectStoreEvents.EventDispatcherMain()
   at System.Threading.ExecutionContext.RunInternal(ExecutionContext executionContext, ContextCallback callback, Object state, Boolean preserveSyncCtx)
   at System.Threading.ExecutionContext.Run(ExecutionContext executionContext, ContextCallback callback, Object state, Boolean preserveSyncCtx)
   at System.Threading.ExecutionContext.Run(ExecutionContext executionContext, ContextCallback callback, Object state)
   at System.Threading.ThreadHelper.ThreadStart()
It is now using mcepg2-2.db (originally it was using mcepg2-0.db for a long time, then the last auto-rebuild mentioned in this thread went to mcepg2-1, and now we are on the third (-2)...)
Interesting to note that after the rebuild, there is no backup folder in the mcepg2-2 folder, seems like it should copy over the ones from the old mcepg2-1 backup folder, but maybe it is smart enough to look there if it needs to do another rebuild before a new backup is made...

Also, after this happened the guide was empty and I had to do a manual reload using EPG123. It would be good if this could be automatic after a rebuild, that way there is less of a chance of recordings being missed, perhaps something can be triggered by an event or something like that. If the rebuild happens during the EPG123 import, I would think it could at least detect it there and maybe retry the import. But I don't know how safe it is to do this...

I really hope that this isn't indicative of some problem with my system (hard disk or otherwise)...

EDIT:
Looking a little more at this I see that my maintenance task ran at 4pm ET earlier in the day, so I wonder if this triggered the later rebuild...

Here is the XML version of the rebuild event from Event Viewer:

Code: Select all

- <Event xmlns="http://schemas.microsoft.com/win/2004/08/events/event">
- <System>
  <Provider Name="mcstore" /> 
  <EventID Qualifiers="0">1</EventID> 
  <Level>3</Level> 
  <Task>0</Task> 
  <Keywords>0x80000000000000</Keywords> 
  <TimeCreated SystemTime="2021-08-15T23:41:26.000000000Z" /> 
  <EventRecordID>45502</EventRecordID> 
  <Channel>Media Center</Channel> 
  <Computer>HTPC</Computer> 
  <Security /> 
  </System>
- <EventData>
  <Data>Recovery of guide listings and recording schedule is complete.</Data> 
  <Binary>00002A0063003A005C00700072006F006700720061006D0064006100740061005C006D006900630072006F0073006F00660074005C00650068006F006D0065005C006D00630065007000670032002D0031002E00640062002A0063003A005C00700072006F006700720061006D0064006100740061005C006D006900630072006F0073006F00660074005C00650068006F006D0065005C006D00630065007000670032002D0032002E0064006200</Binary> 
  </EventData>
  </Event>
The time of the event was the same as the time of the error in the EPG123 log.

Post Reply