Trailing-Edge
-
PDP-10 Archives
-
BB-L014E-BM
-
autopatch/dbsi20.f04
There are no other files named dbsi20.f04 in the archive.
;******************** 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 THE FOLLOWING INTO FILE 373.FIX *********************
.EDIT 373
.NAME WTK
.DATE 20-NOV-81
.MODULE DBMLOK
.INSERT SETLOK+7,AFTER,<MOVE BHDR,@HDRBUF(AP)>
TRNE LKTYP,LK%CBH
SETZM BH.PAG(BHDR)
.ENDI
.INSERT SL.ACC+^D11,REPLACE:2,<TRNE LKTYP,LK%CBH>
;REPLACE WITH NOTHING, I.E., DELETE!
.ENDI
.ENDE
;***************************** CAUTION *************************************
;
; TO AVOID LOSING ANY PREVIOUS PATCHES BE
; SURE TO USE THE LATEST PATCHED REL FILES
; AS A BASE FOR THIS EDIT.
;
; THIS PATCH AFFECTS THE FOLLOWING DBMS COMPONENTS:
;
; DBINFO
; DBMEND
; LIBOL
; FORLIB
;
;
; ------------------ TO INSTALL THIS EDIT ------------------
;
; @RUN MAKLIB
; *DBS20.REL=DBS20.REL,373.FIX/F
; *DBSI20.REL=DBSI20.REL,373.FIX/F
; *DBMEN2.REL=DBMEN2.REL,373.FIX/F
; *^C
; @SUBMIT DBMS20/TAG:DBALL ;DBMS20.CTL FROM DISTRIBUTION TAPE
;
;************************** END OF EDIT 373 *******************************
;******************** 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 THE FOLLOWING INTO FILE 407.FIX *********************
.EDIT 407
.NAME JEF
.DATE 08-FEB-82
.MODULE DBMLOK
;;;; THE NEXT LINE MAY BE COMMENTED OUT IF EDIT 373 WAS NOT INSTALLED
.REMOVE 373
.INSERT SL.ALP+4,BEFORE,<JRST LOKLIT>
TRNE LKTYP,LK%CBH
SETZM BH.PAG(BHDR)
.ENDI
.INSERT SL.ALP+20,BEFORE,<JRST LOKLIT+6>
TRNE LKTYP,LK%CBH
SETZM BH.PAG(BHDR)
.ENDI
.INSERT SL.ACC+6,BEFORE,<JRST SL.EX>
TRNE LKTYP,LK%CBH
SETZM BH.PAG(BHDR)
.ENDI
.ENDE
;***************************** CAUTION *************************************
;
; TO AVOID LOSING ANY PREVIOUS PATCHES BE
; SURE TO USE THE LATEST PATCHED REL FILES
; AS A BASE FOR THIS EDIT.
;
; THIS PATCH AFFECTS THE FOLLOWING DBMS COMPONENTS:
;
; DBINFO
; DBMEND
; LIBOL
; FORLIB
; DBCS2F
;
;
; ------------------ TO INSTALL THIS EDIT ------------------
;
; @RUN MAKLIB
; *DBS20.REL=DBS20.REL,407.FIX/F
; *DBSI20.REL=DBSI20.REL,407.FIX/F
; *DBMEN2.REL=DBMEN2.REL,407.FIX/F
; *^C
; @SUBMIT DBMS20/TAG:DBALL ;DBMS20.CTL FROM DISTRIBUTION TAPE
;
;************************** END OF EDIT 407 *******************************
;******************** 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 THE FOLLOWING INTO FILE 410.FIX *********************
.EDIT 410
.NAME JEF
.DATE 08-FEB-82
.MODULE DBMLOK
.INSERT LKA.S2+5,BEFORE,<SKIPGE 4(10)>
HRRZ R0,1(LKBLK) ; GET SIZE OF LOCK BLOCK
ADD R0,LKBLK ; POINT TO TAIL END + 1
CAML AREALK,R0 ; STILL ON LOCK PAGE?
JRST LKA.EX ; NO - MUST BE DONE
.ENDI
.ENDE
;***************************** CAUTION *************************************
;
; TO AVOID LOSING ANY PREVIOUS PATCHES BE
; SURE TO USE THE LATEST PATCHED REL FILES
; AS A BASE FOR THIS EDIT.
;
; THIS PATCH AFFECTS THE FOLLOWING DBMS COMPONENTS:
;
; DBINFO
; DBMEND
; LIBOL
; FORLIB
; DBCS2F
;
;
; ------------------ TO INSTALL THIS EDIT ------------------
;
; @RUN MAKLIB
; *DBS20.REL=DBS20.REL,410.FIX/F
; *DBSI20.REL=DBSI20.REL,410.FIX/F
; *DBMEN2.REL=DBMEN2.REL,410.FIX/F
; *^C
; @SUBMIT DBMS20/TAG:DBALL ;DBMS20.CTL FROM DISTRIBUTION TAPE
;
;************************** END OF EDIT 410 *******************************
;******************** 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.
;
;
;*************** EDIT THE FOLLOWING INTO FILE 411.FIX *********************
.EDIT 411
.NAME JEF
.DATE 08-FEB-82
.MODULE DBMIO
.INSERT ABT.PA,REPLACE:2,<SKIPA 0(1)>
; REPLACE WITH NOTHING, I.E. DELETE
.ENDI
.ENDE
;***************************** CAUTION *************************************
;
; TO AVOID LOSING ANY PREVIOUS PATCHES BE
; SURE TO USE THE LATEST PATCHED REL FILES
; AS A BASE FOR THIS EDIT.
;
; THIS PATCH AFFECTS THE FOLLOWING DBMS COMPONENTS:
;
; DBINFO
; DBMEND
; LIBOL
; FORLIB
; DBCS2F
;
;
; ------------------ TO INSTALL THIS EDIT ------------------
;
; @RUN MAKLIB
; *DBS20.REL=DBS20.REL,411.FIX/F
; *DBSI20.REL=DBSI20.REL,411.FIX/F
; *DBMEN2.REL=DBMEN2.REL,411.FIX/F
; *^C
; @SUBMIT DBMS20/TAG:DBALL ;DBMS20.CTL FROM DISTRIBUTION TAPE
;
;************************** END OF EDIT 411 *******************************