Trailing-Edge
-
PDP-10 Archives
-
BB-L014E-BM
-
autopatch/db20v6.d04
There are no other files named db20v6.d04 in the archive.
EDIT DESCRIPTIONS FOR DBMS-20-V6
EDIT 364 FOR DBMS
;******************** START OF DBMS20-V6 EDIT 364 *************************
;
;SYMPTOM
; ERROR 357 SHOWS UP WHILE RUNNING 8 COPIES OF DECU SIMULTANEOUSLY.
;
;DIAGNOSIS
; NEX.BUOY ATTEMPTS TO LOAD THE OWNER POINTER INTO THE NEW BUOY FROM
; OB.COWN(SETBLK). IT DOES NOT ALWAYS HAVE THE OWNER POINTER.
;
;CURE
; GET THE OWNER POINTER FROM OWNDBK(X).
;
;
********************************************************************************
EDIT 365 FOR DBMS
;******************** START OF DBMS20-V6 EDIT 365 *************************
;
;SYMPTOM
; DBMEND GETS "INVALID BLOCK DESCRIPTOR..." ON /MERGE BEFORE
;
;DIAGNOSIS
; TYPO IN JRFEOJ IN DBJOUR (DBMEND ONLY CODE)
;
;CURE
; CHANGE COPY JP.NEED(JP),JB.PREV(JP)
; TO COPY JP.NEED(JP),JB.PREV(R1)
;
;
********************************************************************************
EDIT 366 FOR DBMS
;******************** START OF DBMS20-V6 EDIT 366 *************************
;
;SYMPTOM
; COBOL DBMS-20 V6 PROGRAMS MAY GET "ILL MEM REF" FROM COBFUN (FREE-PG)
; OR DBMEND MAY GET "?CORBOV. FREE BLOCKS OVERLAP" DOING A /CLOSE ALL
; AFTER A /MERGE BEFORE.
;
;DIAGNOSIS
; IF THE DBCS PAGE IS FULL, THE BEFORE IMAGE IS A FULL PAGE PLUS ROOM
; FOR THE LOGICAL BLOCK (IMAGE) HEADER (IN THIS INSTANCE 1003 WORDS
; LONG). DBOPEN ONLY ALLOCATES ONE PAGE FOR THE IMAGE; JR.SPLIT USES
; ONE PAGE PLUS SPACE FOR THE LOGICAL BLOCK HEADER. THIS RESULTS IN
; THE FREE LIST GETTING ZAPPED (A DBMEND CORBOV) OR IN THE CASE WHERE
; THE SPACE WAS ALLOCATED AN "ILL MEM REF".
;
;CURE
; HAVE DBOPEN ALLOCATE 3 EXTRA WORDS.
;
;
********************************************************************************
EDIT 367 FOR DBMS
;******************** START OF DBMS20-V6 EDIT 367 *************************
;
;SYMPTOM
; DBMEND GETS "INVALID BLOCK DESCRIPTOR ON JOURNAL PAGE 2" AFTER A
; /MERGE BEFORE COMMAND.
;
;DIAGNOSIS
; DBCS WHEN WRITING A BEFORE IMAGE (JR.BEF) WILL GARBAGE THE JOURNAL IF
; 1. THE JOURNAL BUFFERS ARE FLUSHED BECAUSE THE JRN BUFFERS ARE FULL
; 2. THERE IS A REMANENT OF THE LAST IMAGE IN THE "FIRST" JRNL BUFFER
; 3. THE TRANSACTION IS TERMINATED WITH A JBTRAN BEFORE ANYTHING ELSE
; IS PLACED IN THE JRNL BUFFERS.
; JBTRAN DOES NOT RECOGNIZE THAT THERE IS DATA IN THE JRNL BUFFERS AND
; DOES NOT FLUSH THE PARTIAL IMAGE; DOES NOT WRITE OUT BEFORE IMAGES
; AND DOES NOT WRITE OUT A TRANSACTION TRAILER.
;
;CURE
; ENSURE THAT JRCOPY FLAGS THE JRNL BUFFER AS MODIFIED (JR.BFM) AND
; DONT LET JREFILL DESTROY JR.BIX AFTER FLUSHING THE JRNL BUFFERS.
;
;
********************************************************************************
EDIT 373 FOR DBMS
;******************** START OF DBMS20-V6 EDIT 373 *************************
;
;SYMPTOM
; Consecutive CALC FINDs to the same nonexistent database page
; generate "MEMORY PROTECTION VIOLATION".
;
;DIAGNOSIS
; The page number is put into the buffer header block as an argument
; for the SETLOK routine, which should then delete the number if the
; page is not valid. In some situations, SETLOK is not clearing the
; page number, so for a subsequent FIND, DBCS thinks that the page is
; in the buffer, and tries to access it.
;
;CURE
; Move the code that clears the page number to an earlier section
; of the SETLOK routine, where it will be in a common stream and
; not sensitive to exception trapping.
;
;
********************************************************************************
EDIT 401 FOR DBMS
;******************** START OF DBMS20-V6 EDIT 401 *************************
;
;SYMPTOM
; Error status 1559 during SBIND, code 15001, when trying to
; open many data base areas.
;
;DIAGNOSIS
; Bad argument sent to ACM.M during transaction walk. Area walk
; refilled the buffer because of large number of areas, but
; transaction walk thinks correct schema page is in the buffer.
;
;CURE
; Use FINDR% to get correct page back in buffer before doing
; transaction walk.
;
;
********************************************************************************
EDIT 405 FOR DBMS
;******************** START OF DBMS20-V6 EDIT 405 *************************
;
;SYMPTOM
; During a DELETE TRANSACTION, DBMEND is clobbering areas that are
; sharing buffers.
;
;DIAGNOSIS
; After the shared buffer information is set up (DBBIND), MNDIDB
; should modify the area block for each area, so
; that in reality all areas get their own buffers. However, the
; routine to do this, SBI.LP, is trashing LISTPT, an AOBJN pointer
; to all area blocks. As a result, only the first area in the list
; is getting its shared buffer information cleared.
;
;CURE
; Move the area list pointer to a safe AC, so that it doesn't get
; trashed. This will allow the shared buffer information to be
; cleared from all areas.
;
;
********************************************************************************
EDIT 407 FOR DBMS
;******************** START OF DBMS20-V6 EDIT 407 *************************
;
;SYMPTOM
; Consecutive CALC FINDs to the same nonexistent database page
; generate "MEMORY PROTECTION VIOLATION".
;
;DIAGNOSIS
; The page number is put into the buffer header block as an argument
; for the SETLOK routine, which should then delete the number if the
; page is not valid. In some situations, SETLOK is not clearing the
; page number, so for a subsequent FIND, DBCS thinks that the page is
; in the buffer, and tries to access it.
;
;CURE
; Remove previous edit 373, which attempted to fix the problem by
; moving the code that clears the page number to an earlier section
; of the SETLOK routine, where it would be in a common stream and
; not sensitive to exception trapping. Edit 373 caused the page
; number to be cleared before it could be used as an argument
; in setting a page lock. Instead, replicate the code that
; clears the page number at all possible exit points in SETLOK.
;
;
********************************************************************************
EDIT 410 FOR DBMS
;******************** START OF DBMS20-V6 EDIT 410 *************************
;
;SYMPTOM
; Possible ILLEGAL MEMORY REFERENCE when lock routine checks
; lock page for shared locks.
;
;DIAGNOSIS
; The checking code can step off the end of the lock page, if the
; particular lock entry was one part and occurred at the end of the
; page.
;
;CURE
; Add code to verify that there is more space in the lock page
; before trying to access the second part of a two part entry.
;
;
********************************************************************************
EDIT 411 FOR DBMS
;******************** START OF DBMS20-V6 EDIT 411 *************************
;
;SYMPTOM
; When trying to close a data base area after referencing a
; nonexistent page, exception 0157 occurs with error data
; 601151 21009.
;
;DIAGNOSIS
; The routine ABT.PAG makes a check to see if a page was nonexistent,
; and if it was, the routine does not unmap it. However, the page
; is still mapped as far as the monitor is concerned, and so when
; closing the area, the CLOSF JSYS fails.
;
;CURE
; Unmap all pages, even if they were nonexistent.
;
;
********************************************************************************
END OF DBMS-20-V6