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

CICS abend 4094 - EXEC CICS return error


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

New User


Joined: 02 Sep 2010
Posts: 3
Location: Chennai

PostPosted: Tue Oct 19, 2010 4:23 pm
Reply with quote

Hi,

This is my first post here.
I have coded a CICS module. My transaction fails and I get the following error:
DFHAC2206 06:19:10 MBCICM Transaction QTEN failed with abend 4094. Updates to local recoverable resources backed out.

This is the flow. The first time map is displayed correctly. Once I key in data to fetch values for display on the map I get the ABEND. The code works fine in COBOL2 load. When I stage it in endevor and test with endevor I get the above issue. After a day of beating my head on the wall I feel the program flows till CICS return statement. I put in a few displays. The last statement displayed in the CICS region batch job is one present before return.

This is my return statement.
EXEC CICS RETURN
TRANSID ('XXXX')
COMMAREA (WS-COMMAREA)
LENGTH (LENGTH OF WS-COMMAREA)
END-EXEC

This is most likely storage exception error from whatever little I'm able to make out from the CICS dump.

I feel it might be something silly but beats me. Please let me know if anyone has a solution.

Thank you very much
Back to top
View user's profile Send private message
Bill O'Boyle

CICS Moderator


Joined: 14 Jan 2008
Posts: 2501
Location: Atlanta, Georgia, USA

PostPosted: Tue Oct 19, 2010 4:38 pm
Reply with quote

This looks to be an LE (Language Environment) abend code, unless someone coded an XC ABEND('4094') API.

Search the forum for Language Environment or Google....

Bill
Back to top
View user's profile Send private message
rahulz5

New User


Joined: 02 Sep 2010
Posts: 3
Location: Chennai

PostPosted: Thu Oct 21, 2010 11:45 am
Reply with quote

I'm still stuck with the ABEND.

Bill. I searched forums but I came up with blanks. However, in a couple of other posts I checked. Someone mentioned to look up the information mentioned below.

The following are the error messages I found in the dump:
CEE1000S z/OS INTERNAL ABEND. ABCODE = 4094 REASON = 00000018
DFHSM0102 MBCICM A storage violation (code X'0F0C') has been detected by module DFHSMAR.
IEA794I SVC DUMP HAS CAPTURED: 004

I looked up the error description and this is what i found.
For ABEND 4094 and Reason code= 18
X'18' (24)
Storage management could not properly free stack and/or heap storage. This might be due to writing beyond storage.

The Abend either usually occurs after/while to a CALL issued in the module. Or the ABEND occurs when/before executing return statement. Rarely the module manages to work fine.

Can you anyone help me how to analyze the root cause further?
Back to top
View user's profile Send private message
enrico-sorichetti

Superior Member


Joined: 14 Mar 2007
Posts: 10873
Location: italy

PostPosted: Thu Oct 21, 2010 12:00 pm
Reply with quote

Quote:
DFHSM0102 MBCICM A storage violation (code X'0F0C') has been detected by module DFHSMAR.


the message is clear , somebody clobbered the SA ( storage accounting headers and trailers )
by moving somewhere more than it was supposed to do ( usually an out of range condition for an index )

the storage violations abends are the most difficult to diagnose,
quite often the abending transaction is the victim not the actor/culprit

the only way of properly debugging the issue is to look at the storage dump
to get an hint ( from the content of the overlayed storage ) about the culprit
Back to top
View user's profile Send private message
rahulz5

New User


Joined: 02 Sep 2010
Posts: 3
Location: Chennai

PostPosted: Thu Oct 21, 2010 2:14 pm
Reply with quote

thanks enrico..
The ABEND has been resolved.
The ABEND was occuring at a CALL to one program. I made a few changes to my code but I'm not sure which one resolved it.

1. Placed a period after all the variables of the call statement. There were multiple variables sent. Call WS-X USING X Y Z.
2. Changed the size of working storage used in the return transaction statement to be equal to DHFCOMMAREA size. Earlier DFHCOMMAREA size was greater.
3. Changed the size of working storage variable used in the LINK to another program to be equal to DHFCOMMAREA size declared in the linkage section of the LINK module. Earlier DFHCOMMAREA size was greater than the size of the working storage used in COMMAREA parameter of the LINK.

However, one thing is the code without the above changes runs fine in COBOL II compiler load.

My last question is for the following scenario.
A transaction ABCD invokes program A. Program A issues a CALL to program B, a LINK to program C and an XCTL to program D. Assuming the a combinations 3 events can occur what would be the ideal way to declare and pass commarea. Or what rule should not be violated?
For ex. EXEC CICS LINK PROGRAM (C)
COMMAREA (WS-ABCD-COMM)
LENGTH (X)
END-EXEC
Size of DFHCOMMAREA declared in A = P
Size of DFHCOMMAREA declared in C = Q
Size of DFHCOMMAREA declared in D = R
Size of all the variables used in calling B = S
Working storage variable size used in COMMAREA to invoke C= X
Working storage variable size used in COMMAREA to invoke D= Y
Working storage variable size used in COMMAREA to return to A= Z

An example of sample answer I'm looking for is," P should be equal Z. S does not impact in any way......".

The answer could help me figure out what went wrong here. I think this is a noob question but if someone could clarify it for me, I would greatful for their reply.
Back to top
View user's profile Send private message
Bill O'Boyle

CICS Moderator


Joined: 14 Jan 2008
Posts: 2501
Location: Atlanta, Georgia, USA

PostPosted: Thu Oct 21, 2010 3:33 pm
Reply with quote

Add this to your arsenal - "Debugging Storage Violations in CICS"

www-01.ibm.com/support/docview.wss?uid=swg27007891&aid=1

Note that it's downloadable as a PDF....

Bill
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 Error when install DB2 DB2 2
No new posts CLIST - Virtual storage allocation error CLIST & REXX 5
No new posts ISAM and abend S03B JCL & VSAM 10
Search our Forums:

Back to Top