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

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


On Sat, 29 Oct 2005, Kevin Atkinson wrote:

> 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.

Well, after rebooting my computer it managed to correct itself as it is 
now displaying the grid correctly without doing anything special for at 
2:00.

Expect another update Sunday.

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



More information about the mythtv-users mailing list