I have no idea whether it is THE problem or not but I see a small logic flaw in your code. You should clear STIMECB *before* issuing the STIMER. There is a possibility that STIMERX gets driven before the XC.
What sort of intervals are we talking about here? Any possibility that the interval was very short? I'm sure you also know that the AL3 makes your code incapable of RMODE 31? WAIT ECB=STIMECB would make your code a little simpler. Charles -----Original Message----- From: IBM Mainframe Discussion List [mailto:[email protected]] On Behalf Of Donald Likens Sent: Saturday, June 20, 2015 6:32 AM To: [email protected] Subject: Wait forever 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. ---------------------------------------------------------------------- For IBM-MAIN subscribe / signoff / archive access instructions, send email to [email protected] with the message: INFO IBM-MAIN
