Trailing-Edge
-
PDP-10 Archives
-
bb-bt99g-bb
-
cbl12b.d13
There are no other files named cbl12b.d13 in the archive.
EDIT DESCRIPTIONS FOR COBOL-10-V12B
EDIT 1613 FOR COBOL
[SYMPTOM]
Very large COBOL compiles of programs with many data items
or large report writer sections may crash due to bad table
links or produce bad code. These programs may get a "?Not
enough memory to continue compilation" error if a few more
lines are added to the largest section. This is most likely
to happen with large report writer programs (~2000+ lines of
reports).
[DIAGNOSIS]
Information derived from the source is stored in internal
dynamic compiler tables. The tables have a limit of 2**16-1
words. Large programs may overflow one or more of the
tables and cause the pointers into them to wrap-around.
Data in the low end of the table gets overwritten. The
table expanding routine does not check for table overflow.
[CURE]
Add a routine to the dynamic table expander to check that
the table has not overflowed. If a table overflows the
routine will produce and error and abort the compile. The
routine will expand the table by a smaller amount if the
requested expansion would overflow the table. This will
keep the edit from breaking large programs that just squeak
through now. No effort was made to find a way to make the
tables larger since the problem only occurs if the source
program is close to compile-time and runtime core limits
anyway. The edit goes into XPAND.MAC for version 12B and
into COBCOM.MAC for version 13.
********************************************************************************
EDIT 213 FOR ISAM
[SYMPTOM]
When ISAM is run on a file that cannot be opened because it
is being modified or has protection failure ect. ISAM
reports:
?Lookup failure on input file -- (0) file not found
When file does exist the error is erroneous.
[DIAGNOSIS]
The LOOKUP error processor assumes that the short lookup
block was used and that it resides at TA-TC. It expects to
find the error code in TB. The lookup block that failed is
at IF1LB and is an extened lookup block. The error code is
therefore in the right half of IF1LB+3 not in TB. The "file
not found" error was reported because there happed to be a
zero in the right half of TB.
[CURE]
Make a new entry point into the LOOKUP failure routine that
will move the error code from IF1LB+3 to TB so that the
routine can report it.
********************************************************************************
EDIT 1150 FOR LIBOL
[SYMPTOM]
When writing and the subsequently reading a sixbit file, the
following error message result: Maximum Record count cannot
be exceeded.
[DIAGNOSIS]
Forgot to check the buffer for being full in all cases
before writing.
[CURE]
Check the buffer to see if it is full before writing.
********************************************************************************
EDIT 1151 FOR LIBOL
[SYMPTOM]
If a program has both a sequential and a relative file open
for output, and a relative write that causes the buffer to
output to disk takes the invalid key path, the next
sequential write will fail with an "? illegal address in
UUO" error for the write.
[DIAGNOSIS]
The WRITE. code puts a dump mode IOWD in the right half of
UOUT. The normal key path later clears the right half of
this word before returning to the user program. The invalid
key path leaves the IOWD pointer in place.
[CURE]
Edit 1151 clears the right half of UOUT. before returning
via the invalid key path.
********************************************************************************
END OF COBOL-10-V12B