We have a situation we do not understand. The code I am sharing was developed 
on a z/OS 1.3 system and has been executed millions of times but from what I 
can tell it simply did not work once on a z/OS 2.1 system. This code has not 
been changed for over a year. This execution ran for a day before it went into 
a wait state and never came out of the wait state (waited a day before taking 
any action). In the dump I see:

1 PRB with an interrupt code of 0001 (wait).
1 SVRB with an interrupt code 0f 0033 (dump) and then one with an interrupt 
code of 0009 (delete in estae)
No IRBs (I think this means no active timers)
The OPSW in the PRB points to the next instruction following the following 
code: 

                                    523 *C     WAIT FOR WKWAITI SECONDS
                                    524          STIMER 
REAL,STIMERX,DINTVL=WKWAITI                                    
526+*        MACDATE = 08/19/88    
000524 4110 B55B            0055B   527+         LA    1,WKWAITI       
000528 41F0 CC7C            00C7C   528+         LA    15,STIMERX      
00052C 4100 00B3            000B3   529+         LA    0,179(0,0)      
000530 8900 0018            00018   530+         SLL   0,24(0)         
000534 0A2F                         531+         SVC   47              
000536 D703 CC90 CC90 00C90 00C90   532          XC   STIMECB,STIMECB  
                                    533          WAIT 1,ECBLIST=WAITLIS
                                    534+*        MACDATE  10/20/88     
00053C 4100 0001            00001   536+         LA    0,1(0,0)        
                                    538+*                              
                                    539+*                              
000540 4110 CC88            00C88   541+         LA    1,WAITLIST      
000544 1311                         542+         LCR   1,1             
000546 0A01                         543+         SVC   1 
===> PSW points here. <===

WAITLIST= C+C88 = 7C88 = 00007C80 4110F014 0A0207FE 153A9FE4 80007C90 
000C88                             1270 WAITLIST DS    0F          
000C88                             1271 ASMNSTOP DS    A           
000C8C 80                          1272          DC    X'80'       
000C8D 000C90                      1273          DC    AL3(STIMECB)
000C90                             1274 STIMECB  DS    F 
STIMECB = 308FF040       I am assuming un-waited by ABTERM
153A9FE4 = 308FF040      I am assuming un-waited by ABTERM

The STIMER exit follows:
000C7C                             1254 STIMERX  DS    0H           
                                   1255 * TIMER EXPIRED             
                                   1256          DROP  R12          
                 R:F  00C7C        1257          USING *,R15        
                                   1258 *C   POST STIMECB           
                                   1259          POST  STIMECB,X'40'
                                   1260+*        MACDATE  03/11/11  
000C7C 4100 0040            00040  1262+         LA    0,X'40'(0,0) 
000C80 4110 F014            00C90  1263+         LA    1,STIMECB    
000C84 0A02                        1264+         SVC   2            
                                   1265          DROP  R15          
                                   1266 *C   RETURN                 
000C86 07FE                        1267          BR    R14          

I did not see the need to save and restore the registers for this code.

Does anyone have any ideas or recommendations to help fix this problem?

Thank you for even looking at this.

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

Reply via email to