Google
 

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 *******************************