Re: Where's my dump?
I'm not sure what I'm looking for, so I did a 'D CEE,ALL' and got a 'No members specified' for CEEDOPT, CEECOPT, CELQDOPT, CEEROPT and CELQROPT. This is a very vanilla system. But I think the answer to your question is 'Yes, I can change parms'. At least, when I specify a new parm in the CEEOPTS SYSIN, the parm does take affect. The really good news is that I went back thru my COBOL program line by line and found the typo that was causing the abend, but I'm still puzzled as to why I'm not getting the dump. Greg MainframeCrypto www.mainframecrypto.com On Tue, 14 Feb 2017 22:06:51 -0700, Lizette Koehler <stars...@mindspring.com> wrote: >Could you tell if the CEEPARMS are used and the whether or not the parms allow >OVERRIDE? > >Some shops code LE so that parms (or some parms) are not able to be over >ridden by the user. > >If you have access, do a D CEE command (look up syntax) to display what is >available. > >Lizette > > >> -Original Message- >> From: IBM Mainframe Discussion List [mailto:IBM-MAIN@LISTSERV.UA.EDU] On >> Behalf Of Greg Boyd >> Sent: Tuesday, February 14, 2017 8:48 PM >> To: IBM-MAIN@LISTSERV.UA.EDU >> Subject: Re: Where's my dump? >> >> I've tried specifying lots of different parms in the CEEOPTS DD without >> success. >> >> Today I tried something completely different. My code is very simple, I >> define a bunch of variables in working storage and then invoke an ICSF API. >> I >> do a couple of displays before and after the call, but the call is abending >> with the S0C4. >> >> I added 4 instructions to the code. The first three simply define 3 new >> variables, one of which is initialized to 0. Immediately before the ICSF API >> call, I perfrom a DIVIDE by 0, which results in a S0C9 AND THE DUMP BEING >> GENERATED in the CEEDUMP DD. >> >> Commenting out the DIVIDE by 0 instruction, the job abends with the S0C4 and >> no dump. The only difference between the two runs is the DIVIDE by 0 >> instruction. >> >> Interestingly, with the Abend0C9, the joblog includes IEA995I, which displays >> 'USER COMPLETION CODE=4039'. I believe the U4039 is a result of LE >> percolating the S0C9. With the S0C4, the job log shows only IEF450I, which >> simply displays 'ABEND=S0C4'. >> >> So, I'm guessing that LE is getting control after the S0C9 and generating the >> dump with the U4039, but with the S0C4, LE is being bypassed and no dump is >> created. >> >> I also tried specifying the ABTERMENC option in the CEEOPTS input. >> Specifying >> ABEND did not generate a dump. Specifying ABTERMENC(RETCODE) did change the >> Abend S0C4 to return code=3000, but there still was no dump. >> >> Does this provide any more clues to why the dump is not being generated? Is >> there another option to tell LE to process the abend and generate the dump >> for >> the S0C4? >> >> Thanks! >> Greg Boyd >> www.mainframecrypto.com >> >> On Mon, 13 Feb 2017 13:29:28 +0100, Peter Hunkeler <p...@gmx.ch> wrote: >> >> >Have you tried >> >//CEEOPTS DD * TERMTHDACT(UAIMM,,96)/* >> > >> >The system will use the *last* dump dd statement out of //SYSABEND, >> //SYSUDUMP and //SYSMDUMP found in the step to decide how to format (or not) >> and where to write the dump. With the above option, you should get s system >> dump but not a CEEDUMP. >> > >> >Note that the system might suppress a dump to //SYSMDUMP if DAE thinks this >> is a dulicate. You should have a corresponding message in the jobs log it >> this >> is the case. >> > >> > >> >-- >> >Peter Hunkeler > >-- >For IBM-MAIN subscribe / signoff / archive access instructions, >send email to lists...@listserv.ua.edu with the message: INFO IBM-MAIN -- For IBM-MAIN subscribe / signoff / archive access instructions, send email to lists...@listserv.ua.edu with the message: INFO IBM-MAIN
Re: Where's my dump?
Could you tell if the CEEPARMS are used and the whether or not the parms allow OVERRIDE? Some shops code LE so that parms (or some parms) are not able to be over ridden by the user. If you have access, do a D CEE command (look up syntax) to display what is available. Lizette > -Original Message- > From: IBM Mainframe Discussion List [mailto:IBM-MAIN@LISTSERV.UA.EDU] On > Behalf Of Greg Boyd > Sent: Tuesday, February 14, 2017 8:48 PM > To: IBM-MAIN@LISTSERV.UA.EDU > Subject: Re: Where's my dump? > > I've tried specifying lots of different parms in the CEEOPTS DD without > success. > > Today I tried something completely different. My code is very simple, I > define a bunch of variables in working storage and then invoke an ICSF API. I > do a couple of displays before and after the call, but the call is abending > with the S0C4. > > I added 4 instructions to the code. The first three simply define 3 new > variables, one of which is initialized to 0. Immediately before the ICSF API > call, I perfrom a DIVIDE by 0, which results in a S0C9 AND THE DUMP BEING > GENERATED in the CEEDUMP DD. > > Commenting out the DIVIDE by 0 instruction, the job abends with the S0C4 and > no dump. The only difference between the two runs is the DIVIDE by 0 > instruction. > > Interestingly, with the Abend0C9, the joblog includes IEA995I, which displays > 'USER COMPLETION CODE=4039'. I believe the U4039 is a result of LE > percolating the S0C9. With the S0C4, the job log shows only IEF450I, which > simply displays 'ABEND=S0C4'. > > So, I'm guessing that LE is getting control after the S0C9 and generating the > dump with the U4039, but with the S0C4, LE is being bypassed and no dump is > created. > > I also tried specifying the ABTERMENC option in the CEEOPTS input. Specifying > ABEND did not generate a dump. Specifying ABTERMENC(RETCODE) did change the > Abend S0C4 to return code=3000, but there still was no dump. > > Does this provide any more clues to why the dump is not being generated? Is > there another option to tell LE to process the abend and generate the dump for > the S0C4? > > Thanks! > Greg Boyd > www.mainframecrypto.com > > On Mon, 13 Feb 2017 13:29:28 +0100, Peter Hunkeler <p...@gmx.ch> wrote: > > >Have you tried > >//CEEOPTS DD * TERMTHDACT(UAIMM,,96)/* > > > >The system will use the *last* dump dd statement out of //SYSABEND, > //SYSUDUMP and //SYSMDUMP found in the step to decide how to format (or not) > and where to write the dump. With the above option, you should get s system > dump but not a CEEDUMP. > > > >Note that the system might suppress a dump to //SYSMDUMP if DAE thinks this > is a dulicate. You should have a corresponding message in the jobs log it this > is the case. > > > > > >-- > >Peter Hunkeler -- For IBM-MAIN subscribe / signoff / archive access instructions, send email to lists...@listserv.ua.edu with the message: INFO IBM-MAIN
Re: Where's my dump?
I've tried specifying lots of different parms in the CEEOPTS DD without success. Today I tried something completely different. My code is very simple, I define a bunch of variables in working storage and then invoke an ICSF API. I do a couple of displays before and after the call, but the call is abending with the S0C4. I added 4 instructions to the code. The first three simply define 3 new variables, one of which is initialized to 0. Immediately before the ICSF API call, I perfrom a DIVIDE by 0, which results in a S0C9 AND THE DUMP BEING GENERATED in the CEEDUMP DD. Commenting out the DIVIDE by 0 instruction, the job abends with the S0C4 and no dump. The only difference between the two runs is the DIVIDE by 0 instruction. Interestingly, with the Abend0C9, the joblog includes IEA995I, which displays 'USER COMPLETION CODE=4039'. I believe the U4039 is a result of LE percolating the S0C9. With the S0C4, the job log shows only IEF450I, which simply displays 'ABEND=S0C4'. So, I'm guessing that LE is getting control after the S0C9 and generating the dump with the U4039, but with the S0C4, LE is being bypassed and no dump is created. I also tried specifying the ABTERMENC option in the CEEOPTS input. Specifying ABEND did not generate a dump. Specifying ABTERMENC(RETCODE) did change the Abend S0C4 to return code=3000, but there still was no dump. Does this provide any more clues to why the dump is not being generated? Is there another option to tell LE to process the abend and generate the dump for the S0C4? Thanks! Greg Boyd www.mainframecrypto.com On Mon, 13 Feb 2017 13:29:28 +0100, Peter Hunkelerwrote: >Have you tried >//CEEOPTS DD * TERMTHDACT(UAIMM,,96)/* > >The system will use the *last* dump dd statement out of //SYSABEND, //SYSUDUMP >and //SYSMDUMP found in the step to decide how to format (or not) and where to >write the dump. With the above option, you should get s system dump but not a >CEEDUMP. > >Note that the system might suppress a dump to //SYSMDUMP if DAE thinks this is >a dulicate. You should have a corresponding message in the jobs log it this is >the case. > > >-- >Peter Hunkeler > >-- >For IBM-MAIN subscribe / signoff / archive access instructions, >send email to lists...@listserv.ua.edu with the message: INFO IBM-MAIN -- For IBM-MAIN subscribe / signoff / archive access instructions, send email to lists...@listserv.ua.edu with the message: INFO IBM-MAIN
Re: Where's my dump?
Have you tried //CEEOPTS DD * TERMTHDACT(UAIMM,,96)/* The system will use the *last* dump dd statement out of //SYSABEND, //SYSUDUMP and //SYSMDUMP found in the step to decide how to format (or not) and where to write the dump. With the above option, you should get s system dump but not a CEEDUMP. Note that the system might suppress a dump to //SYSMDUMP if DAE thinks this is a dulicate. You should have a corresponding message in the jobs log it this is the case. -- Peter Hunkeler -- For IBM-MAIN subscribe / signoff / archive access instructions, send email to lists...@listserv.ua.edu with the message: INFO IBM-MAIN
Re: Where's my dump?
Greg, Occasionally I have to test something using a COBOL program. This is what I have in my JCL to obtain a SYSMDUMP and I seem to get one every time I need one. //ABNLIGNR DD DUMMY DO NOT TAKE ABEND-AID DUMP //CAOESTOP DD DUMMY/* BYPASS CA-SYMDUMP */ //SYSABEND DD DUMMY //SYSUDUMP DD DUMMY //CEEDUMP DD DUMMY //CEEOPTS DD * TRAP(OFF,NOSPIE) RPTSTG(ON) RPTOPTS(ON) //SYSMDUMP DD DISP=SHR,DSN=S01CH.ASSEMTST.SYSMDUMP In fact, many times I want to see the results of the program I am testing and I define a field like this: 05 make-a-dump. 10 dump-maker pic 9(05) usage display. Then I code: Move spaces to make-a-dump. Add 1 to dump-maker. I don't know if this will help, but it works for me. Chuck Charles (Chuck) Hardee Senior Systems Engineer/Database Administration EAS Information Technology Thermo Fisher Scientific 300 Industry Drive | Pittsburgh, PA 15275 Phone +1 (724) 517-2633 | Mobile +1 (412) 877-2809 | FAX: +1 (412) 490-9230 chuck.har...@thermofisher.com | www.thermofisher.com WORLDWIDE CONFIDENTIALITY NOTE: Dissemination, distribution or copying of this e-mail or the information herein by anyone other than the intended recipient, or an employee or agent of a system responsible for delivering the message to the intended recipient, is prohibited. If you are not the intended recipient, please inform the sender and delete all copies. -Original Message- From: IBM Mainframe Discussion List [mailto:IBM-MAIN@LISTSERV.UA.EDU] On Behalf Of Greg Boyd Sent: Monday, February 13, 2017 6:55 AM To: IBM-MAIN@LISTSERV.UA.EDU Subject: Re: Where's my dump? I added a CEEOPTS DD * to the job. And I tried several variations of TRAP ON and OFF with SPIE and NOSPIE, and both DUMP and UADUMP, but still not getting the S0C4 dump. I also specified some invalid parms in the CEEOPTS input to make sure the DD statement was being processed, and I got CEE3792I and CEE3616I, saying the parms were invalid. I tried added a SYSMDUMP as well, but I presume the dump should be written to CEEDUMP? Binyamin: CEEDUMP, SYSUDUMP, SYSABEND and SYSMDUMP DD all specify SYSOUT=*. I see 'IEF237I JES2 ALLOCATED TO' for all four, but no output for any of them. Do I need to specify any compile parms that will enable the dump to be created? or Binder parms that will include the appropriate modules to generate the dump. I'm sure this is something simple, I just don't do enough COBOL coding. Greg Mainframe Crypto www.mainframecrypto.com -- For IBM-MAIN subscribe / signoff / archive access instructions, send email to lists...@listserv.ua.edu with the message: INFO IBM-MAIN -- For IBM-MAIN subscribe / signoff / archive access instructions, send email to lists...@listserv.ua.edu with the message: INFO IBM-MAIN
Re: Where's my dump?
I added a CEEOPTS DD * to the job. And I tried several variations of TRAP ON and OFF with SPIE and NOSPIE, and both DUMP and UADUMP, but still not getting the S0C4 dump. I also specified some invalid parms in the CEEOPTS input to make sure the DD statement was being processed, and I got CEE3792I and CEE3616I, saying the parms were invalid. I tried added a SYSMDUMP as well, but I presume the dump should be written to CEEDUMP? Binyamin: CEEDUMP, SYSUDUMP, SYSABEND and SYSMDUMP DD all specify SYSOUT=*. I see 'IEF237I JES2 ALLOCATED TO' for all four, but no output for any of them. Do I need to specify any compile parms that will enable the dump to be created? or Binder parms that will include the appropriate modules to generate the dump. I'm sure this is something simple, I just don't do enough COBOL coding. Greg Mainframe Crypto www.mainframecrypto.com -- For IBM-MAIN subscribe / signoff / archive access instructions, send email to lists...@listserv.ua.edu with the message: INFO IBM-MAIN
Re: Where's my dump?
Sometimes the dump is written to disk. Look at your job messages. On Fri, 10 Feb 2017 15:34:30 -0600 Greg Boydwrote: :>I'm trying to debug a COBOL program that is getting a S0C4, but I'm not getting a dump when it abends. :> :>I'm pretty sure this is a simple issue. I'm not a COBOL programmer, but I can copy and paste from samples. I've put together some code to make an ICSF API call and it compiles and binds just fine. When it executes it displays some variables and then gets the abend on the API call: :> :>CEE3204S The system detected a protection exception (System Completion Code=0C4). :> From compile unit HMACPANP at entry point HMACPANP at compile unit offset +051E at entry offset +051E :> at address 33D0051E. :> :>I'm using Enteprise COBOL for z/OS V6.1 and the vanilla IGYWCLG PROC. So the JCL has DD cards for CEEDUMP, SYSUDUMP and SYSABEND, but I don't get a dump of the abend. I'm guessing this is related to LE, because of the CEE3204S message. (The last time I wrote a COBOL program was well before LE was introduced and I was getting dumps back then.) :> :>I also added a "CALL 'CEE3DMP' USING ..." to the code and I do get that dump, but not the dump for the abend. :> :>I have another ICSF API call before this one that executes cleanly, so it's not a problem accessing ICSF. :> :>I'm guessing that I need to provide some additional parms, probably at compile time? Or maybe provide another library/module to the binder via SYSLIB? How do capture the dump? Pointers to doc, greatly appreciated. :>Thanks! :>Greg :>Mainframe Crypto :>www.mainframecrypto.com -- Binyamin Dissen http://www.dissensoftware.com Director, Dissen Software, Bar & Grill - Israel Should you use the mailblocks package and expect a response from me, you should preauthorize the dissensoftware.com domain. I very rarely bother responding to challenge/response systems, especially those from irresponsible companies. -- For IBM-MAIN subscribe / signoff / archive access instructions, send email to lists...@listserv.ua.edu with the message: INFO IBM-MAIN
AW: Re: Where's my dump?
>//CEEOPTS DD * >TRAP(OFF,NOSPIE),TRMTHDCT(UADUMP,,96) >//* With TRAP(OFF,NOSPIE), you disable all Language Environment error trapping. z/OS will write a dump, but LE will not write any informtion such as LE messages, trace, of CEEDUMP. If you would like to have a system as well as the LE dump (CEEDUMP), the leave (or set) TRAP(ON,SPIE), and specify TERMTHDACT(xxx,,9o6) with xxx as either UADUMP or UAIMM. The former option will give you all the LE debug information (messages, trace, CEEDUMP, ..) plus a U4039 system dump. Use the latter if you need the dump to have information as near to the error as possible. -- Peter Hunkeler -- For IBM-MAIN subscribe / signoff / archive access instructions, send email to lists...@listserv.ua.edu with the message: INFO IBM-MAIN
Re: Where's my dump?
For the PARM, the setting of Language Environment option CBLOPTS determines whether parm information on the left or the right of the / goes to the COBOL program. The CEEOPTS DD is a very convenient way to do it. Having said that, if it is a simple exercise program, you may be able to bust it just by looking at the line of COBOL the offset relates to. If it wasn't Friday, you'd have had a string of guesses already (perhaps). -- For IBM-MAIN subscribe / signoff / archive access instructions, send email to lists...@listserv.ua.edu with the message: INFO IBM-MAIN
Re: Where's my dump?
//CEEOPTS DD * TRAP(OFF,NOSPIE),TRMTHDCT(UADUMP,,96) //* Or on the EXEC statement use PARM='CobolPgmParm/TRAP(OFF,NOSPIE),etc.' Check the spelling of the TRMTH... parameter in the LE Programmer's Guide under Runtime Options, not sure I remembered that one accurately or not. HTH Peter -Original Message- From: IBM Mainframe Discussion List [mailto:IBM-MAIN@LISTSERV.UA.EDU] On Behalf Of Greg Boyd Sent: Friday, February 10, 2017 4:35 PM To: IBM-MAIN@LISTSERV.UA.EDU Subject: Where's my dump? I'm trying to debug a COBOL program that is getting a S0C4, but I'm not getting a dump when it abends. I'm pretty sure this is a simple issue. I'm not a COBOL programmer, but I can copy and paste from samples. I've put together some code to make an ICSF API call and it compiles and binds just fine. When it executes it displays some variables and then gets the abend on the API call: CEE3204S The system detected a protection exception (System Completion Code=0C4). From compile unit HMACPANP at entry point HMACPANP at compile unit offset +051E at entry offset +051E at address 33D0051E. I'm using Enteprise COBOL for z/OS V6.1 and the vanilla IGYWCLG PROC. So the JCL has DD cards for CEEDUMP, SYSUDUMP and SYSABEND, but I don't get a dump of the abend. I'm guessing this is related to LE, because of the CEE3204S message. (The last time I wrote a COBOL program was well before LE was introduced and I was getting dumps back then.) I also added a "CALL 'CEE3DMP' USING ..." to the code and I do get that dump, but not the dump for the abend. I have another ICSF API call before this one that executes cleanly, so it's not a problem accessing ICSF. I'm guessing that I need to provide some additional parms, probably at compile time? Or maybe provide another library/module to the binder via SYSLIB? How do capture the dump? Pointers to doc, greatly appreciated. Thanks! Greg Mainframe Crypto www.mainframecrypto.com -- For IBM-MAIN subscribe / signoff / archive access instructions, send email to lists...@listserv.ua.edu with the message: INFO IBM-MAIN This message and any attachments are intended only for the use of the addressee and may contain information that is privileged and confidential. If the reader of the message is not the intended recipient or an authorized representative of the intended recipient, you are hereby notified that any dissemination of this communication is strictly prohibited. If you have received this communication in error, please notify us immediately by e-mail and delete the message and any attachments from your system. -- For IBM-MAIN subscribe / signoff / archive access instructions, send email to lists...@listserv.ua.edu with the message: INFO IBM-MAIN
Where's my dump?
I'm trying to debug a COBOL program that is getting a S0C4, but I'm not getting a dump when it abends. I'm pretty sure this is a simple issue. I'm not a COBOL programmer, but I can copy and paste from samples. I've put together some code to make an ICSF API call and it compiles and binds just fine. When it executes it displays some variables and then gets the abend on the API call: CEE3204S The system detected a protection exception (System Completion Code=0C4). From compile unit HMACPANP at entry point HMACPANP at compile unit offset +051E at entry offset +051E at address 33D0051E. I'm using Enteprise COBOL for z/OS V6.1 and the vanilla IGYWCLG PROC. So the JCL has DD cards for CEEDUMP, SYSUDUMP and SYSABEND, but I don't get a dump of the abend. I'm guessing this is related to LE, because of the CEE3204S message. (The last time I wrote a COBOL program was well before LE was introduced and I was getting dumps back then.) I also added a "CALL 'CEE3DMP' USING ..." to the code and I do get that dump, but not the dump for the abend. I have another ICSF API call before this one that executes cleanly, so it's not a problem accessing ICSF. I'm guessing that I need to provide some additional parms, probably at compile time? Or maybe provide another library/module to the binder via SYSLIB? How do capture the dump? Pointers to doc, greatly appreciated. Thanks! Greg Mainframe Crypto www.mainframecrypto.com -- For IBM-MAIN subscribe / signoff / archive access instructions, send email to lists...@listserv.ua.edu with the message: INFO IBM-MAIN