XXCOPY

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

[ More Technical Bulletins ] [ DATMAN Table of Contents ]