DATMAN TECHNICAL BULLETIN #034
From: Kan Yabumoto tech@datman.com
To: DATMAN user
Subject: A Y2K bug bites DATMAN!!! Really? Yes.
Date: 1999-11-18
====================================================================
It was once unthinkable. No, not with DATMAN...
But, our recent discovery of a Y2K related problem humbled us.
[ Note: This is a follow up of our previous article TB #025 ]
Here is a possible problem:
The problem is caused by DATMAN-DOS's action when it puts a
time-stamp on various occasions. DATMAN invokes the low-level
(BIOS) system call to retrieve the current date and time which
is being kept by the BIOS firmware. Last month, one customer
called us and alerted us with a funny behavior of DATMAN-DOS
which shows a newly created directory with the year 2036!
After some extensive studies, we confirmed that on certain
systems, the date code DATMAN receives from BIOS has either a
non-standard (or just plain buggy) date value beyond 2000,
DATMAN may pass along invalid date stamp to various internal
data structure. We are not sure how wide spread this problem
will be.
What happens when the Y2K bug on BIOS hits DATMAN-DOS?
Since most date/time stamps kept by the DATMAN file system are
for its own bookkeeping purposes, the bug does not in any
way hinder the retrievability of DATMAN user files. Most of
the user files' date and time will not even be affected by
this problem. That is because all file-copy operations are
performed by copying the date and time of the source file rather
than the current time set by DATMAN. However, when a file
is freshly created directly on the tape rather than being copied
from the hard disk or when a new subdirectory is created on
the tape, the date of the new file or directory could be wrong,
because the current date value is given by the system BIOS.
Here is our solution:
Starting with Ver 1.22.0, we have added a filter mechanism to
the DATMAN-DOS program which will monitor the integrity of the
incoming date code which is received from the system BIOS.
If an invalid date is detected, it is fixed right on the spot
before any damage to the DATMAN file system is made. This
is a prevention. No cure is necessary. Quite simple.
But, we may need to deal with a bug-infested data structure.
For example, if you continue using the earlier version of
DATMAN-DOS with certain system BIOS, you may find tapes with
wrong dates inside the catalog data. Or, you receive a DATMAN
tape written by someone else. While invalid date values are
not self-replicating like a virus, the tape is a removable media
and can travel, after all. Therefore, we feel that a mere
prevention is not good enough.
So we added a more elaborate date-stamp repair routine inside
the DATMAN-99 program (ver 2.21.0 or higher). In addition to
the integrity check of all incoming date code, DATMAN-99 adds
an automated repair mechanism which checks the file and directory
time-related data inside the current catalog and makes necessary
corrections. Next time you modify the volume and DATMAN-99
flushes the catalog to the tape at the end of the session, the
repaired catalog will be saved on the tape. With this two-step
approach, the DATMAN-99 file system will automatically corrects
the problems caused by the Y2K-bug before the user ever see them.
Due to the program size limitation any DOS program has to
abide by, we just could not add the automatic catalog repair
feature in the DATMAN-DOS version.
How can you obtain the Y2K-bug-resistant DATMAN?
All DATMAN-DOS users will get the latest DATMAN ver 1.22.0
(or newer) version free of charge. Just download the
latest update from our web page.
For free update ... http://www.datman.com/dlform34.htm
If you already own a copy of DATMAN-99 (ver 2.20.0 or
higher), you are entitled to receive all free updates of
DATMAN-99. Just download the new version.
For free update ... http://www.datman.com/dlform21.htm
If you use DATMAN-98 (ver 2.1x.x or less) and have not updated
to DATMAN-99 yet, you have to update your current version with
an update fee. The DATMAN-98 update pricing is based on when
you made your last purchase. You will get anywhere from 25%
to 100% credit for your previous payment towards your DATMAN-99
update/upgrade (you may order a version with a larger capacity
limit). You can visit the following site to get an automated
quotation (you need your DATMAN serial number).
For paid update ... https://aquilla.serversecured.net/~datman/dlform43.htm
Is this the end of the Y2K-related story?
No. Unfortunately, no. Before we saw this relatively harmless
bug, we never imagined that DATMAN is affected by any Y2K issue.
That's because DATMAN never abbreviates the year value like old
COBOL programmers allegedly did. So far, we have identified just
one problem which came from a system BIOS. Fortunately, this time,
we handled this one proactively. But now, we would not be
surprised by a few incidents like this in January, 2000, after
some damage has occurred.
The good thing is that as far as we can tell, there is no
imminent danger to the user files which are kept by the DATMAN
file system.
One way or another, we feel DATMAN is partially responsible to
keep the integrity of the file system data regardless of how the
bad data gets there. We may add one more anti-Y2K feature
before the end of the year to strengthen DATMAN's defense mechanism
against suspicious date values.
In conclusion:
It's nothing like the Doomsday as some pundits have been predicting.
It would be more like an occasional glitches here and there if you
look very closely....
Whatever it is, we have seen an authentic Y2K bug!!!
(Note: This article was written 42 days before the millennium was over.)