|
>> Anyone got any "way out there in left field" message stories from wrong parm lengths? That they want to share so others may be looking out for them. The hardest one to diagnose I ever saw was in a COBOL program (although there is nothing unique about COBOL in this respect). Customer complained that he did a simple re-compile and now the program didn't work. All he had changed was an interest rate - nothing else. The strange thing was that in an A calls B calls C situation it blew up on the second program call from A to B with an invalid parameter pointer error. This was some 10+ minutes into the run (the corruption it turned out happened in the first minute or so). Turned out the corruption had been going on for 7 years (moving blanks to a field defined as 10 long in the A, 10 long in B, but 80 long in the utility routine C ). Previously the errant spaces had always landed in a print buffer, which was overlaid immediately afterwards with the next print line. However, in the 7 years since this program was last compiled, the compiler had changed. In order to improve efficiency it now pre-resolved addresses for any fields being used as parms, and stored the pointer after the DS in which the field resided. It was this pointer that was being nuked since the 10 char field was at the end of the DS and the extra 70 blanks had to go somewhere!! Jon Paris Partner400
As an Amazon Associate we earn from qualifying purchases.
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.