[mythtv-users] Potential Problem With Switch Back to Standard Time

Kevin Atkinson kevin at atkinson.dhs.org
Sat Oct 29 14:48:21 EDT 2005


On Sat, 29 Oct 2005, Kevin Atkinson wrote:

> [List should probably also go to the dev list also, if I don't get a
    ^^^^ = This
> response from any developers I will likely post it there also...]
> 
> I am not a developer but I just spent the last 3+ hours investigation the 
> situation.
> 
> The switch back to Standard Time this Sunday is likely to mess MythTV
> up.  If you are getting your data from the Data Direct service form 
> zap2it labs the most likely behavior is that everything will be off by an 
> hour.  However, rereading the program data back in should to fix the 
> problem.  If you get your data from a web page than your schedule may or 
> may not be correct.
> 
> The reason for the anomaly when using the Data Direct service is 
> because the times are given in UTC and MythTV converts them to local time 
> without accounting for the switch.  There is a slight possibility that 
> MythTV may correct for the problem and update the program guide when it 
> detects the switchover.  However I do not think MythTV will do this.
> 
> For users who get there data from a web page this anomaly in unlikely
> because the times are probably already in local time.
> 
> However, in both case, if you try to record something between 1:00-2:00,
> MythTV may act in strange ways as at 2:00 the time gets reset back to
> 1:00.  MythTV could record a show twice or it could do any number of other
> things, hopefully it won't wipe your hard drive ;).  From that point on
> the guide will than be off by an hour until it gets reread from the
> server.
> 
> However, there will be problem even if MythTV correctly detected the
> switch back to standard time due to the fact that programs times are
> stored in the database in in _local_ time.  This means that it is
> _impossible_ to store program information for the extra hour AND also keep
> the listing accurate across the switch back to standard time.  Thus there
> is the choice to ignore the switch and just lets things be off by an hour
> until the user notices and corrects for the problem (or until the program
> data expires and new data is read in with the correct adjustment) or make
> it impossible to to record a program during this extra hour By just
> ignoring the the switch the user has some hope of recording something
> during the extra hour AND keeping the schedule consistent by tricking the
> computer into NOT adjusting the clock for the switch.
> 
> The real solution to this problem is to store all times in the database in
> _UTC_ and only convert it back to local time when displaying it to the
> user.  All program times entered in my the user should thus be converted
> to UTC.  This way there are no anomalies during the switch.  MythTV may
> also need to be aware of when the switch happens in order to correctly
> display the Grid and program times before and after the switch.  The only
> major problem is that manually recording a program during the extra hour
> will be impossible without some sort of special feature of the GUI to
> indicate _which_ 1:00 the user meant.
> 
> Thus, I _*STRONGLY*_ suggest that MythTV be modified to store the Program
> Times in UTC rather than local time.  Of course this will create a
> migration problem.  The easiest solution is to automatically convert all
> the exiting program times to UTC in the database when a user first uses a
> newer version of MythTV.  Once the data is converted a extra flag can be
> stored somewhere that the program times are now in UTC and they should not
> be converted again.  This switch should be well documented so that the
> user us aware of the change in case he downgrades to an version of MythTV
> that still uses local time.  In this case there should be a way to convert
> the program data from UTC back to Local Time.
> 
> Since I am recording stuff during the extra hour I set my time zone to 
> "GMT+6" which is the same as MDT but hopefully won't change during the 
> switch back to standard time.  I did this by using "tzconfig" and then 
> selecting "11" for "None of the Above" and then selected "GMT+6".  This
              ^^ = 12
> should work for most Debian based systems.  Other distributions likely have a 
> different way of setting the timezone.  I will still be watching MythTV 
> closely to make sure it doesn't do anything funny (I don't normally go to 
> bead before 3:00 anyway).

I also disabled the automatic downloading of program just to be safe.

Sunday morning, I will change the timezone back to what it should be and 
correct the program data by redownloading it.

> BTW: I noticed this problem because mythweb is somehow accounting for the
> switch when displaying the grid, but it is not doing it correctly since
> there is a gap in the schedule during the extra hour when nothing is
> shown, and the times are all wrong after words.  So thank you mythweb
> developers for incorrectly hading the switch, otherwise I would have not
> noticed this problem until it was too late :-|

I should also mention that it accounts for the switch even when the 
current timezone is set to something that doesn't switch for Daylight 
saving time.

-- 
http://kevin.atkinson.dhs.org



More information about the mythtv-users mailing list