× The internal search function is temporarily non-functional. The current search engine is no longer viable and we are researching alternatives.
As a stop gap measure, we are using Google's custom search engine service.
If you know of an easy to use, open source, search engine ... please contact support@midrange.com.



On Wed, Apr 22, 2015 at 12:04 PM, Dan <dan27649@xxxxxxxxx> wrote:
So, I was handed a project the other day to fix a problem with a program
that gets a "hard halt" (their terminology) when the program encounters a
date with a year > 2039. Since it's been over 15 years since I've last had
to think about this type of problem, I *think* this has to do with the
1940-2039 window for 2-digit years. The fix is to change the edit (TEST
opcode, I'm guessing) so that it doesn't dump on a year > 2039.

Well, odds are good that it has to do with a 1940-2039 window for
2-digit years. Without more information, I wouldn't be as confident
of the fix, though. (Granted, you don't have that information
yourself, yet.)

The thing is, there's the possibility that the existing validation
does what it does because there isn't any place to store the century.
It could be that year 2040 is indistinguishable from (or always gets
interpreted as) year 1940, and so refusing to accept 2040 may actually
be the most prudent action for the system to take. This "hard halt"
could be the signal that you've come upon the can that was kicked down
the road a little over 15 years ago.

The immediate concern is to identify where this error is taking place.

Completely agreed.

My initial search is to look for TEST opcodes using the 'dtz-formats'
*YMD, *DMY, *MDY, & *JUL. The program has many different 6-digit
date fields, and even the term "next payment date" is ambiguous in
this large 20+ year old program.

Should the above search cover all of the bases? If not, can anyone suggest
what else to look for?

If the situation is as I fear, then the above search is almost
completely useless. Is there any chance you can get the error
reproduced? But AFTER folks have been instructed how to grab the
relevant messages/dumps?

The fact that the problem is already narrowed down to one program
means you're not starting from the worst position possible. Just some
crazy shots in the dark: Does the program uses halt indicators (H1,
etc.)? Does the literal "2039" or "39" appear anywhere in the source
code?

John Y.

As an Amazon Associate we earn from qualifying purchases.

This thread ...

Follow-Ups:
Replies:

Follow On AppleNews
Return to Archive home page | Return to MIDRANGE.COM home page

This mailing list archive is Copyright 1997-2024 by midrange.com and David Gibbs as a compilation work. Use of the archive is restricted to research of a business or technical nature. Any other uses are prohibited. Full details are available on our policy page. If you have questions about this, please contact [javascript protected email address].

Operating expenses for this site are earned using the Amazon Associate program and Google Adsense.