IBM Mainframe Forum Index
 
Log In
 
IBM Mainframe Forum Index Mainframe: Search IBM Mainframe Forum: FAQ Register
 

How to read 0C4/AKEA abend in CICS


IBM Mainframe Forums -> CICS
Post new topic   Reply to topic
View previous topic :: View next topic  
Author Message
vishabus

New User


Joined: 25 Oct 2006
Posts: 24
Location: India

PostPosted: Wed Feb 21, 2007 3:51 am
Reply with quote

Hi,

I am getting an 0C4/AKEA abend in CICS. The dump file is showing the LEL (LIOAEM0) in which I am getting an abend:

________________________________________________________________________________
=== DUMP SUMMARY
DUMPID: 1/0015
DUMPCODE: AP0001
DATE/TIME: 20/02/07 14:12:51 (LOCAL)
MESSAGE: DFHAP0001 CICSMC An abend (code 0C4/AKEA) has occurred at offset X'000361FA' in module LIOAEM0.
SYMPTOMS: PIDS/5697E9300 LVLS/620 MS/DFHAP0001 RIDS/DFHSRP PTFS/ESA620 AB/00C4 AB/UAKEA RIDS/LIOAEM0 ADRS/000361FA
TITLE: (None)
CALLER: (None)
ASID: X'00DD'
CICS DUMP: SYSTEM=CICSMC CODE=AP0001 ID=1/0015
________________________________________________________________________________

I am struggling really hard to find the cobol module in which I am getting the 0C4 abend.

I have never had any programming experience in CICS so I dont know about any debugging technique. Also there is not tool installed at my place which can help me map this file to some compiler listing etc.

Can someone please provide a direction to my analysis which is wandering here and there.

Really need some tips out here.

Thanks
Back to top
View user's profile Send private message
William Thompson

Global Moderator


Joined: 18 Nov 2006
Posts: 3156
Location: Tucson AZ

PostPosted: Wed Feb 21, 2007 4:09 am
Reply with quote

I don't recognize LIOAEM0 as a CICS module, is it one of yours?
The 0C4 is probably a protection exception.
Is this reproduceable?
The AKEA suggests: User Response: Look at the kernel domain section of the system dump to determine where the program check has occurred.
When I've been faced with this kind of problem, I'd start aux trace (with switching) and just keep it up until I managed to catch one....with that you will have a good sequence to what was going on just prior to the failure.
I wish you luck.
Back to top
View user's profile Send private message
dick scherrer

Moderator Emeritus


Joined: 23 Nov 2006
Posts: 19244
Location: Inside the Matrix

PostPosted: Wed Feb 21, 2007 5:03 am
Reply with quote

Hello,

You might want to talk with your CICS system programmer(s). You may or may not have authority to run a transaction called CEDF. CEDF is a builtin diagnostic facility. You can try it by entering CEDF as the transaction id and pressing enter. If you have permission, it should respond with a message saying THIS TERMINAL: EDF MODE ON
When that message is diaplayed, clear the screen and enter the problem transaction id.

Speaking of the system programmer(s) - has someone defined the CICS table entries for your transaction(s)?

Here's a link to IBM doc for CEDF.
http://publib.boulder.ibm.com/infocenter/cicsts22/index.jsp?topic=/com.ibm.cics.ts.doc/dfha7/dfha7p0046.htm

This may not exactly tell you what is wrong, but it will help determine where in the code the problem is.

Speaking fo which - does your first screen get displayed or does the abend happen before a screen is displayed?

As Bill said - good luck - we're out here . . . . icon_smile.gif
Back to top
View user's profile Send private message
William Thompson

Global Moderator


Joined: 18 Nov 2006
Posts: 3156
Location: Tucson AZ

PostPosted: Wed Feb 21, 2007 5:15 am
Reply with quote

Ya know Dick, I didn't see his problem as you did, I just saw myself out there maintaining the CICSs with a sporadic AP00001....You see it as his transaction. If so, absolutely, CEDF is where I'd be....Good call! icon_lol.gif
Geez, the more information they can relate initially, the better we all can help.... icon_confused.gif
Back to top
View user's profile Send private message
dick scherrer

Moderator Emeritus


Joined: 23 Nov 2006
Posts: 19244
Location: Inside the Matrix

PostPosted: Wed Feb 21, 2007 7:08 am
Reply with quote

Yup, better to sin on the side of too much info.

It would be nice to know what happens if the transaction is run multiple times - same abend or different symptoms?. My take was that the abend is repeatable. Also would help to know what all happens after hitting enter for the problem transaction - does the screen stay blank until the abend or is anything displayed before the abend.

Might also be interesting to know if this is a new program/transaction, is an update to an old one or is a complete replacement of an old one. If something is "there" but is out of sync, that can generate rather "entertaining" results.

If this is an early bit of code (as opposed to the "n"th time thru with CICS code), it might be good to check this program's compile/link jcl/parameters against one that works in the same CICS region. Until the kinks are worked out, it happens that a compile "works" but the generated module(s) are flawed.

We'll wait and watch and keep our fingers crossed. . . icon_smile.gif
Back to top
View user's profile Send private message
William Thompson

Global Moderator


Joined: 18 Nov 2006
Posts: 3156
Location: Tucson AZ

PostPosted: Wed Feb 21, 2007 7:19 am
Reply with quote

Yea... icon_biggrin.gif
Back to top
View user's profile Send private message
vishabus

New User


Joined: 25 Oct 2006
Posts: 24
Location: India

PostPosted: Wed Feb 21, 2007 7:53 am
Reply with quote

Well. The case is a bit different out here. I am supporting a product out here and LIOAEM0 happens to be one of the LEL of the system.
The interesting part is that not always this transaction is getting an abend. It is only for some cases where this abend is received. As you would have guessed it there is nothing common in the cases where this error is not received, neither there is any apparent similarity in the cases where it is not received.
The abends are such that it is handled by the system and I get a message at the bottom of the screen telling me that the transaction was not processed and whatever processing has been done is backed out. I didn't get a message telling me that it was an 0C4 abend. When I go into the CICS job which is running at that time, I am able to find a message like this:

DFHAP0001 CICSMC An abend (code 0C4/AKEA) has occurred at offset X'0003409E' in module LIOAEM0.
+DFHME0116 CICSMC 234
(Module:DFHMEME) CICS symptom string for message DFHAP0001 is
PIDS/5697E9300 LVLS/620 MS/DFHAP0001 RIDS/DFHSRP PTFS/ESA620 AB/S00C4
AB/UAKEA RIDS/LIOAEM0 ADRS/000361FA
+DMC872I CICSMC DUMPMASTER V5.310N DMCDUREQ continuing with dump-taking for program LIOAEM0
+DFHDU0201 CICSMC ABOUT TO TAKE SDUMP. DUMPCODE: AP0001 , DUMPID: 1/0015
+DFHDU0202 CICSMC SDUMPX COMPLETE. SDUMPX RETURN CODE X'00'
IEA794I SVC DUMP HAS CAPTURED: 239
DUMPID=009 REQUESTED BY JOB (CICSMC )
DUMP TITLE=CICS DUMP: SYSTEM=CICSMC CODE=AP0001 ID=1/0015

By asking our online administrator I was able to ask for a dump file for CODE=AP0001 ID=1/0015. But I wasn't surprised to see that the CICS dump is unlike the MVS dump which gives call chain etc. etc.
Now looking at this dump file I am unable to find out the exact COBOL code which is causing 0C4/AKEA. Everywhere it is referring to the LEL.

As I am pretty new to CICS i dont know what aux trace is. I tried using the CEDF command but it is taking me forever to reach the first screen. The abending transaction takes place after host of inquiry screens are processed.

It is all dark in here
Back to top
View user's profile Send private message
William Thompson

Global Moderator


Joined: 18 Nov 2006
Posts: 3156
Location: Tucson AZ

PostPosted: Wed Feb 21, 2007 8:12 am
Reply with quote

Batch and CICS transaction dumps I am good at. CICS system dumps and operating system dumps, I'm not so good.
When I'm out of my level, I use "cheats". I can't help you directly, but you absolutely NEED more information. Like I mentioned earlier, AUX trace can be your friend, sometimes it takes several of them.....
Lay some traps, lie in wait, get the information, keep us informed.
Back to top
View user's profile Send private message
dick scherrer

Moderator Emeritus


Joined: 23 Nov 2006
Posts: 19244
Location: Inside the Matrix

PostPosted: Wed Feb 21, 2007 8:38 am
Reply with quote

Hello,

Do you have the source code for this "product"? If not, do you know who the vendor is? They may have info on a web site about known problems and causes of same. What is the name of the product? If it is running in production, i do hope that the organization is under maintenance with the vendor. . .

Did this work last week? Or differently, when did the first of these abends occur? Is there history available to track when this started? Does it run without fail on another CICS region?

Has any kind of upgrade or other change been made to this product? Has the CICS environment been upgraded or the configuratoin changed?

When you ran the problem transaction via CEDF what kind of CICS activity did you see? It may take a while, but slugging through CEDF may help identify the last successful action before the abend. It is likely that something "walked on storage" - we'll just hope it wasn't gradual and the first time the "bad" code was exercised, the abend occured.

Keep us posted. . . .
Back to top
View user's profile Send private message
vishabus

New User


Joined: 25 Oct 2006
Posts: 24
Location: India

PostPosted: Wed Feb 21, 2007 9:31 am
Reply with quote

I have the source code of the product as I am supposed to support it icon_evil.gif

I did some changes in some of the source code. These changes include changes in linkage section of quite a few modules. My initial apprehension (which is still there) is/was that I have missed out making change in one of the pgm which is calling this pgm whose linkage section has been changed as part of my changes. I have searched the whole library and I am not able to find any program other than the ones I have already taken care of which have explicit call statement for these changed programs.

One question - Is it a gurantee that the above abend has occurred in one of the program contained in the LEL listed in dump? At my level of experience the answer is an emphatic YES.
Back to top
View user's profile Send private message
dick scherrer

Moderator Emeritus


Joined: 23 Nov 2006
Posts: 19244
Location: Inside the Matrix

PostPosted: Wed Feb 21, 2007 9:56 am
Reply with quote

Hi Vishabus,

Quote:
I have the source code of the product as I am supposed to support it icon_evil.gif

Just lucky, i guess. . . icon_neutral.gif

Quote:
I have searched the whole library and I am not able to find any program other than the ones I have already taken care of which have explicit call statement for these changed programs.


You searched the source lib that you are working in? What if some of these modules are called from some kind of external interface whose source is maintained in a different library than you are working in? Or might one of these make an external call to some "common" function and the linkages are out of sync?

Is there any way you can "save where you are" and put the previous executables back in the execution libr(s)? If you can back out all of your modifications and reload the originals and everything works you can be fairly certain it is the recent change. Has anything other than your modifications been changed in that CICS region?

As there do not seem to be any tools available, you might go back into your code and put in some "eyecatchers". As your code progresses, move info to the area behind the eyecatchers that will "tell" you where your code has processed. When the abend occurs look in the dump for your eyecatchers and see what can be learned.

Quote:
Is it a gurantee that the above abend has occurred in one of the program contained in the LEL listed in dump?


Maybe not a guarantee, but surely a good place to start. If something got "walked on" that causes the execution to "branch" where no code should go (like in the middle of some other executable code) it may be valid storage for your transaction and so the abend might be in "that" code.

When this happens, the entire CICS region is not dropped is it? If the region is intact, there is likely a transaction dump available.

Good luck and i'll check back in the a.m.
Back to top
View user's profile Send private message
vishabus

New User


Joined: 25 Oct 2006
Posts: 24
Location: India

PostPosted: Thu Feb 22, 2007 2:10 am
Reply with quote

I got it finally .......... icon_biggrin.gif

Well as suspected the problem was in one of the Linkage Section of one of my programs.

The product is designed in such a way that a chain of programs is called by both batch and online transactions. I was getting error when trying online but not while batch. I did some displays in the programs (inside the link which was giving me error)and did the online transaction. I found those displays in the CICS job running on the system. With the help of these display messages I was able to zero down on the program and the statement causing the error. As this program and that very statement was working fine in batch I looked at the online architechture which was calling this leg. And there I found my mistake. I missed out on passing one variable while calling one of the program. It gave me error in a program lying 4th in a call chain.

Well it took 24 hours ... but finally it is over. But with extensive testing going on I am sure to keep the forum busy icon_smile.gif

Thanks for your inputs William and Dick. At least I got some exposure of CICS debugging
Back to top
View user's profile Send private message
dick scherrer

Moderator Emeritus


Joined: 23 Nov 2006
Posts: 19244
Location: Inside the Matrix

PostPosted: Thu Feb 22, 2007 2:43 am
Reply with quote

Congrats!
and
You're welcome icon_smile.gif

Come back any time - someone is usually "here" icon_biggrin.gif
Back to top
View user's profile Send private message
William Thompson

Global Moderator


Joined: 18 Nov 2006
Posts: 3156
Location: Tucson AZ

PostPosted: Thu Feb 22, 2007 3:10 am
Reply with quote

GREAT!
Oh, it feels sooo good..... icon_lol.gif
And, vishabus, thank you for posting a closing resolution..... icon_cool.gif
Back to top
View user's profile Send private message
William Thompson

Global Moderator


Joined: 18 Nov 2006
Posts: 3156
Location: Tucson AZ

PostPosted: Thu Feb 22, 2007 3:13 am
Reply with quote

GREAT!
Oh, it feels sooo good..... icon_lol.gif
And, vishabus, thank you for posting a closing resolution..... icon_cool.gif
Back to top
View user's profile Send private message
View previous topic :: :: View next topic  
Post new topic   Reply to topic View Bookmarks
All times are GMT + 6 Hours
Forum Index -> CICS

 


Similar Topics
Topic Forum Replies
No new posts Using API Gateway from CICS program CICS 0
No new posts Error to read log with rexx CLIST & REXX 11
No new posts ISAM and abend S03B JCL & VSAM 9
No new posts Calling an Open C library function in... CICS 1
No new posts How to 'Ping' a CICS region in JCL CICS 2
Search our Forums:

Back to Top