On Wed, 18 Jun 2025 23:23:12 -0400, Joseph Reichman <[email protected]> 
wrote:

I see coding errors that can cause problems, I can't say for sure they are 
causing this problem. Rant: I realize this mostly is not your code but the 
original author failed to comment the code with important information and the 
concept behind the design. This shows the importance of comments even when it's 
a tiny program.

>          LOAD  EP=TPUT                                                        
>                           
>          LR    R10,R0
>          --- code omitted ---
>          LR    R14,R10                                                  
>          MVCL  R4,R14      

Never copy a load module because LOAD has prepared the load module for that 
specific location. E.g. A(xxx) is not relative to the new location. When the 
original load module is deleted, you will be using corrupted storage.

The correct method is to LOAD ADDR=(R4)

>          DELETE EP=TPUTT      

This is actually a good error. By misspelling TPUT, it was not deleted until 
the TCB goes away. 

>         STORAGE OBTAIN,LENGTH=(0),ADDR=(R5),BNDRY=DBLWD,SP=253,TCBADDRX
>               =(R2)                                                    
>         ST    R5,SP253                                                 
>*                                                                       
>         STORAGE OBTAIN,LENGTH=(R9),ADDR=(R5),BNDRY=DBLWD,SP=253,LOC=24X
>               ,TCBADDR=(R2)                                            
>         ST    R5,BELOW                                                 

Your problem most likely has something to do with these 2 areas which are 
referenced outside your IKJEFLD3. You need to figure how these areas are being 
used and verify they are correctly used outside of IKJEFLD3. E.g. Is a pointer 
not being set leaving it x'0' causing PSA to be referenced thus passing a 
random address to storage release. We can only guess about the code outside 
IKJEFLD3.

>TSOID    DS    XL5   

This may cause a future problem. TSO user ids are 8 bytes (not 5).

----------------------------------------------------------------------
For IBM-MAIN subscribe / signoff / archive access instructions,
send email to [email protected] with the message: INFO IBM-MAIN

Reply via email to