Lingering Bug May Cause April Fools Problems

greenspun.com : LUSENET : Grassroots Information Coordination Center (GICC) : One Thread

Remember the Y2K bug? Well another time-related
bug could cause problems between April 1 and
April 8 for applications and Web sites built
with certain versions of Microsoft Corp.'s Visual
C++. Richard Smith, chief technology officer with
The Privacy Foundation, calls it the April Fools
2001 bug.

Web Developers News

-- spider (spider0@usa.net), March 29, 2001

Answers

Information from hyperlink above: (Fair Use for education only)

Lingering Bug May Cause April Fools Problems By Thor Olavsrud

Remember the Y2K bug? Well another time-related bug could cause problems between April 1 and April 8 for applications and Web sites built with certain versions of Microsoft Corp.'s Visual C++. Richard Smith, chief technology officer with The Privacy Foundation, calls it the April Fools 2001 bug. Smith discovered the bug in 1999, and Microsoft released a patch soon after. But while many computers were updated with a fix, applications also needed to be updated, and it is unclear how many applications with the bug are currently deployed.

"This bug will most likely be present in embedded computers that are dedicated to doing particular jobs," Smith told the bugtraq mailing list Wednesday. "These systems typically don't get software updates as often as desktop computers."

Affected systems may include airport arrival and departure time monitors, building access control systems, scheduling systems for transportation and hotel wake-up systems. Web sites, too, could be vulnerable.

"IIS itself is probably written with VC++," Smith said. "Ditto for many ActiveX controls which are used on ASP pages. ASP pages that use JavaScript could have the bug." Smith said he was uncertain about VBScript.

The bug is a time/date problem caused by the code's failure to calculate the change in time for daylight savings (the first Sunday of April) on years when it occurs on April 1. The bug corrects itself on April 8.

The bug causes applications that use CRT time functions to give times which are off by one hour -- even though the Windows clock shows the correct time. When Microsoft first reported the bug, it said it believed the scope of the issue was limited.

To test applications, Microsoft suggested setting the system date to 2 April 2001 and making sure the times reported or stored by the applications agree with the system time.

March 29, 2001

Copyright 2001 internet.com Corp. All Rights Reserved.

------------------------------------------------------------------ Microsoft Web Site problem disclosure and analysis: Hyperlink: http://msdn.microsoft.com/visualc/headlines/2001.asp (Fair use for education and research purposes only)

April 2001 Issue Overview

The recently discovered April 2001 issue is a simple time/date problem. The affected code fails to calculate the change in time for daylight savings on years where daylight savings (first Sunday of every April) occurs on April first and then corrects itself after one weeks time. The issue is not a year 2000 problem and will next occur on April 1, 2001. The code with this issue is contained in a low level helper function in the Visual C++ Runtime (CRT) called cvtdate (). This issue, which may affect applications that use the CRT time functions (and helper functions), is believed to be limited because the affected code is not present in the Win32 API.

Q: Who may be affected? A: This issue may affect applications that use the CRT time functions. Some of the CRT functions that resolve down to cvtdate() are: localtime(), mktime() and ctime(). In addition, the CTime class in MFC calls both mktime() and localtime(). This is not intended to be a complete list of calls that resolve to cvtdate().

Q: What is the impact of the bug? A: Microsoft believes that the scope of this issue is limited. Developers can access the CRT time functions in their applications through frameworks like the MFC library, or by calling the CRT time functions themselves. Only applications which call the affected MFC or CRT functions and require time, with hour precision, may be affected.

Q: How can developers test for the problem? A: It is important to understand how this issue can impact your application. In order to test your application for this issue:

Set the system date to 2 April 2001. Make sure the times reported or stored by the application agree with the system time. In addition, you can search your application's source code for calls to functions that resolve down to cvtdate() to identify code that may be problematic. Because Microsoft will issue an update for this issue, applications that encounter problems will need to make sure they are using updated library components.

Q: When will an update be made available? A: An update for this issue will be rolled into the next release of Windows Update early this spring. Microsoft will also be releasing a Service Pack for Visual Studio at this time.

Q: How will you notify people when the update is ready? A: As with all Service Packs and Windows Updates, Microsoft will make posts to several of the Microsoft web pages to announce the final availability of the update. Microsoft will use the normal channels for the distribution of software updates that are already in place, namely, Windows Update under Windows 98, MSDN Universal, web downloads for prior versions of windows and orderable CDs and/or floppy disks to enable the broadest distribution for all users. Last Updated: 8/05/99 © 2001 Microsoft Corporation. All rights reserved.



-- Robert Riggs (rxr.999@worldnet.att.net), March 30, 2001.


The April Fools 2001 bug in Windows

Some systems that might be affected by the bug include:
- Airport arrival and departure time monitors
- Building access control systems
- Scheduling systems for transportation
- Hotel wake-up systems

. . .

APRIL1.C -- Simple test program for the "April's Fools 2001" bug

. . .

Microsoft has created a Web page for news about the April Fools 2001 bug.
The URL of the page is:
Microsoft

Google

-- spider (spider0@usa.net), March 30, 2001.


April Fool’s bug may change time

Since the bug was discovered so long ago,
most systems have since been patched. But
there is the possibility that so-called
embedded systems, which are not networked
and have no way to receive updates, might
encounter the problem this weekend.

. . .

 “Ninety-eight percent of all computers —
maybe 99 percent — that have monitors or
keyboards won’t be affected,” he said.
2% failure! ::::-§

MSNBC

-- spider (spider0@usa.net), March 30, 2001.


Moderation questions? read the FAQ