[ANN] Major Windows DST Bug

Jim Ault JimAultWins at yahoo.com
Mon Mar 12 17:39:36 EDT 2007


On 3/12/07 2:06 PM, "Ken Ray" <kray at sonsothunder.com> wrote:

> I have uncovered a Major (BLOCKER) Windows bug related to the most
> recent change in Daylight Savings Time for the United States.
> Revolution will overcompensate for the DST by adding and additional
> hour to the time whenever you execute 'convert'.
(full text below)

Yes, Ken, we have already discovered the Windows XP bug but weren't sure
what was going on until your email.  My networking apps (9 of them) are
clobbered.  That means our business is dead in the water until I can do a
rewrite, but that is not a simple task for us.  Fortunately,  most of our
computers are OSX and don't have to be fixed... at this time.

For us, timing is critical to-the-second, so I am going to build a
time-stamp-message system so we don't have to rely on a Rev function, or one
of the operating systems/platforms in any of the countries we operate.

Very expensive so far, since the core engine has to run on WinXP.  Looks
like a compatibility switch needs to be added to apps to test DST+WinXP+
greater than 2006+(?)+(?).  And what about virtual machines?  Does XP
running in Parallels send the "2:05" rather than "3:05"?

Jim Ault


On 3/12/07 2:06 PM, "Ken Ray" <kray at sonsothunder.com> wrote:

> I have uncovered a Major (BLOCKER) Windows bug related to the most
> recent change in Daylight Savings Time for the United States.
> Revolution will overcompensate for the DST by adding and additional
> hour to the time whenever you execute 'convert'. To see what I mean,
> make sure you have "Automatically adjust clock for Daylight Savings
> Time" turned on in your Date/Time prefs, launch Rev (or MC) under at
> least XP Pro or Vista Home Premium (the two systems I tested), and type:
> 
>   put the time into x;convert x to long time;put x
> 
> You should see that the time you get back is one more hour ahead of
> your current time. So if it is currently 2:05 PM without the DST
> adjustment, and you have the checkbox checked, Windows will show that
> it is 3:05 PM (correct). But if you run the code above, x will be
> "4:05:00 PM".
> 
> I can only assume that when Rev asks the OS for the time it gets two
> factors the non-adjusted time, and a flag whether DST is currently
> applied. In the past, Windows would have handed over "2:05" and "True"
> (in the example above), and Rev would have adjusted the time
> accordingly. But the latest Windows XP/Vista DST patch seems to be
> handing over the ADJUSTED time, and the flag, so it would hand over
> "3:05" and "True", so Rev is over-adjusting by another hour.
> 
> There is no easy scripted fix other than finding every location where
> 'convert' is used and parsing strings into chunks.... yechh!
> 
> I have logged this into Bugzilla as bug #4526.
> 
> This is a MAJOR BLOCKER problem and is going to hit a LOT of people, so
> forwarned is forearmed...
> 
> Ken Ray
> Sons of Thunder Software, Inc.
> Email: kray at sonsothunder.com
> Web Site: http://www.sonsothunder.com/
> _______________________________________________
> use-revolution mailing list
> use-revolution at lists.runrev.com
> Please visit this url to subscribe, unsubscribe and manage your subscription
> preferences:
> http://lists.runrev.com/mailman/listinfo/use-revolution





More information about the use-livecode mailing list