Maybe not the only error, but it's processing the PLIST wrong. See Writing a logon post-prompt exit (IKJEFLD3) starting at p. 125. There is no need for the loop and it's looping over the wrong data. 40(R11) points to the JCL parameter, with a key of 2. PARMADDR points to the 800 byte JCL buffer.
-- Shmuel (Seymour J.) Metz http://mason.gmu.edu/~smetz3 עַם יִשְׂרָאֵל חַי נֵ֣צַח יִשְׂרָאֵ֔ל לֹ֥א יְשַׁקֵּ֖ר ________________________________________ From: IBM Mainframe Discussion List <[email protected]> on behalf of Steve Beaver <[email protected]> Sent: Thursday, June 19, 2025 3:36 PM To: [email protected] <[email protected]> Subject: Re: error in post logon exit IKJEFD3 878-18 from MSTJCL External Message: Use Caution LA R1,256 INITLOOP DS 0H MVI 0(R8),X'80' INITIALIZE TO DO NOT INTERCEPT LA R8,1(,R8) NEXT BYTE BCT R1,INITLOOP LOOP BACK First lets clean this above mess up to the following (this is much faster) * MVI 0(R8),X'80' INITIALIZE TO DO NOT INTERCEPT MVC 1(255,R8),0(R8) Steve -----Original Message----- From: IBM Mainframe Discussion List [mailto:[email protected]] On Behalf Of Joseph Reichman Sent: Wednesday, June 18, 2025 10:23 PM To: [email protected] Subject: Re: error in post logon exit IKJEFD3 878-18 from MSTJCL Ok Jon tell me where I made an error thanks IKJEFLD3 CSECT IKJEFLD3 AMODE 31 IKJEFLD3 RMODE ANY YREGS XLNK EQU R14 AR0 EQU 0 AR1 EQU 1 AR2 EQU 2 AR3 EQU 3 AR4 EQU 4 AR5 EQU 5 AR6 EQU 6 AR7 EQU 7 AR8 EQU 8 AR9 EQU 9 AR10 EQU 10 AR11 EQU 11 AR12 EQU 12 AR13 EQU 13 AR14 EQU 14 AR15 EQU 15 STM R14,R12,12(R13) LR R3,R15 USING IKJEFLD3,R3 LA R0,WS_LEN LR R11,R1 USING PARMLIST,R11 STORAGE OBTAIN,LENGTH=(0),ADDR=(R12),SP=0 LR R14,R13 LR R13,R12 ST R14,4(R13) d ===> Scroll ===> CSR USING WS_DSECT,R13g ICM R7,B'0011',0(R2) POINT TO TSO ID LA R7,0(R7,R2) MVC TSOID,0(R7) * * IPK , GET PSW PROTECT KEY ST R2,STORKEY SAVE PK IN R11 SPKA 0 LOAD EP=TPUT ICM R1,B'1000',=X'00' LR R10,R0 * SLL R1,3 LENGTH OF MODULE LR R9,R1 USING PSA,0 L R2,PSATOLD USING TCB,R2 L R2,TCBJSTCB * L R2,TCBBACK * LA R0,264 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 L R4,SP253 LA R5,264 XR R14,R14 LA R14,=X'00' XR R15,R15 MVCL R4,R14 * * * MOVE CODE * L R4,BELOW LR R5,R9 LR R14,R10 LR R15,R5 MVCL R4,R14 * L R5,SP253 * DELETE EP=TPUTT * L R4,BELOW ST R4,0(R5) * MVI 4(R5),X'C0' * LA R8,8(R5) * LA R1,256 INITLOOP DS 0H MVI 0(R8),X'80' INITIALIZE TO DO NOT INTERCEPT LA R8,1(,R8) NEXT BYTE BCT R1,INITLOOP LOOP BACK * LA R8,8(R5) MVI 93(R8),X'00' * * ST R5,TCBSVCA2 STORE SCREEN TABLE ADDRESS INTO TCB OI TCBFLGS7,TCBSVCS+TCBSVCSP * L R10,STORKEY SPKA 0(R10) * LA R0,WS_LEN LR R12,R13 L R13,4(,R13) STORAGE RELEASE,LENGTH=(0),ADDR=(R12),SP=0 LM R14,R12,12(R13) XR R15,R15 BR R14 PARMENT DSECT PARMKEY DS F * PARAMETER KEY PARMLEN DS F * PARAMETER LENGTH PARMADR DS A * PARAMETER ADDRESS COPY DBGRLIT WS_DSECT DSECT DS 18F TSOID DS XL5 SP253 DS F BELOW DS F STORKEY DS F DBGRBUF DS XL(DIE_LEN) WS_LEN EQU *-WS_DSECT DBGRPY IKJPTP IKJTCB DSECT=YES,LIST=NO IHARB IHAPSA CVT LIST=YES,DSECT=YES END -----Original Message----- From: IBM Mainframe Discussion List <[email protected]> On Behalf Of Jon Perryman Sent: Wednesday, June 18, 2025 9:33 PM To: [email protected] Subject: Re: error in post logon exit IKJEFD3 878-18 from MSTJCL On Wed, 18 Jun 2025 18:27:59 -0400, Joseph Reichman <[email protected]> wrote: >I copied the basic code from xephon > >In that code there was a storage obtain and release sp=0 local storage When you say "release sp=0", then you are saying free the entire subpool and ADDR= & LENGTH= were not specified on the STORAGE RELEASE. Because it was XEPHON, that ADDR= was specified. If you don't believe me about S0C4 suppression, then issue SLIP SET,ID=S0C4TEST,COMP=0C4,MATCHLIM=5,ACTION=NONE,END and it should only take a couple of minutes on an active system to trip 5 times but without a visible S0C4 abend. I'm telling you the STORAGE RELEASE has a bad address. Without more information, we can't be helpful. My recommendation is to set a SLIP COMP=878,ACTION=SVCD and look at the dump. Your code changed something incorrectly. IKJEFLD3 is an exit that is called by TSO and TSO did not like something your code changed. For us to help, providing source code is the only option left. ---------------------------------------------------------------------- For IBM-MAIN subscribe / signoff / archive access instructions, send email to [email protected] with the message: INFO IBM-MAIN ---------------------------------------------------------------------- For IBM-MAIN subscribe / signoff / archive access instructions, send email to [email protected] with the message: INFO IBM-MAIN ---------------------------------------------------------------------- For IBM-MAIN subscribe / signoff / archive access instructions, send email to [email protected] with the message: INFO IBM-MAIN ---------------------------------------------------------------------- For IBM-MAIN subscribe / signoff / archive access instructions, send email to [email protected] with the message: INFO IBM-MAIN
