View previous topic :: View next topic
|
Author |
Message |
Gopalakrishnan V
Active User
Joined: 28 Jun 2010 Posts: 102 Location: chennai
|
|
|
|
Hi,
I am getting storage violation in and from the few dump got the module name in freemain step. due to this the region became unstable and fluctuating. After removing the code the region is stable.But i can't able to debug why this is happening. The same code working fine in testing environment, only getting SV in production environment due to multiple transaction at same time.
I need some help from CICS expert those who know very well about this SV debugging. I read the manual which is sharing in this forum for the same topic, but they are using some VERBXIT command using IPCS tool. Here we doesn't have that tool.
We are using abendaid, I know its a compuware tool and we should not share the manual directly. So atleast i just want some guidelines like from which option or area we can get the address details exactly causing storage violation and need to confirm because of which modules.
Please help me on this. here i am facing some difficulty to get a CICS expert guidance.
Code: |
The CICS message associated is: DFHSM0102 NCICSTEA A storage violation
(code X'030B') has been detected by module DFHSMGF.
|
Thanks in advance. |
|
Back to top |
|
|
dick scherrer
Moderator Emeritus
Joined: 23 Nov 2006 Posts: 19244 Location: Inside the Matrix
|
|
|
|
Hello,
If you are using abendaid and have a license to use it, the material is available for free from Compuware Support.
You could also open an issue with Compuware Support. . . |
|
Back to top |
|
|
Robert Sample
Global Moderator
Joined: 06 Jun 2008 Posts: 8696 Location: Dubuque, Iowa, USA
|
|
|
|
Actually, I believe IPCS is available at your site -- you just don't have access to it.
Your best bet would be to talk to your site support group and get a CICS trace run to analyze. Storage violations can be difficult to debug since the perpetrator may be located a long way from where the storage violation appeared. Abend Aid may -- or may not -- be much use in debugging the problem. |
|
Back to top |
|
|
enrico-sorichetti
Superior Member
Joined: 14 Mar 2007 Posts: 10873 Location: italy
|
|
|
|
the usual advice when dealing with storage violation ...
the abending program might be an innocent victim |
|
Back to top |
|
|
Garry Carroll
Senior Member
Joined: 08 May 2006 Posts: 1193 Location: Dublin, Ireland
|
|
|
|
I would agree with Enrico's comment.
Many years ago, I debugged a storage violation which caused other transactions to abend and made the CICS region unstable (sometimes locking-up, sometimes abending). This only happened when we hit production volumes. In that case, the problem was caused by a mismatch in COMMAREA sizes where one program was overwriting an area which was beyond the actual end of the allocated COMMAREA. All was OK until that overlay acess corrupted an adjoining TCA in memory causing the 'victim' TCA-owning transaction to abend.
Garry. |
|
Back to top |
|
|
Gopalakrishnan V
Active User
Joined: 28 Jun 2010 Posts: 102 Location: chennai
|
|
|
|
Thanks everyone..
Hi Garry,
Here also the prob due to COMMAREA it seems..it having nearly 300k bytes. Can you please just elaborate how you resolved your SV issue. |
|
Back to top |
|
|
enrico-sorichetti
Superior Member
Joined: 14 Mar 2007 Posts: 10873 Location: italy
|
|
|
|
Quote: |
Here also the prob due to COMMAREA it seems..it having nearly 300k bytes. Can you please just elaborate how you resolved your SV issue. |
You will have to follow TWO path
1) hope that the SV was caused and discovered in the same program call chain
check that all the storage areas being passed around are used properly
(E.G. passing 100 bytes using 200 , array bounds usage )
after 1 fails
2) the SV is caused by random bytes sprinkles
look at the storage found corrupted and from its content try to find out the offending program chain |
|
Back to top |
|
|
Bill Woodger
Moderator Emeritus
Joined: 09 Mar 2011 Posts: 7309 Location: Inside the Matrix
|
|
|
|
And since COMMAREA has a maximum length of around 32k, what exactly are you talking about when you say it is 300k? |
|
Back to top |
|
|
prino
Senior Member
Joined: 07 Feb 2009 Posts: 1306 Location: Vilnius, Lithuania
|
|
|
|
At a former client the decision was made to compile all programs with SUBSCRIPTRANGE condition enabled, even for the production environment. Yes, there is some overhead, although in recent versions from PL/I this has apparently been reduced, but the overhead was considered well worth it. |
|
Back to top |
|
|
Garry Carroll
Senior Member
Joined: 08 May 2006 Posts: 1193 Location: Dublin, Ireland
|
|
|
|
In our case the diagnosis was in-depth and required IBM assistance. Essentially, knowing the corruption in the TCA, we modified trace so that, every time an EXEC CICS was executed in ANY task, we checked for the corruption in the TCA chains and abended CICS with a dump once the corruption was found. Since everything was OK at one trace point, we know which task had caused the corruption and could home in on the program location.
Not an easy task and with considerable CPU overhead - a method that should be avoided unless all else fails.
Garry. |
|
Back to top |
|
|
Gopalakrishnan V
Active User
Joined: 28 Jun 2010 Posts: 102 Location: chennai
|
|
|
|
Quote: |
And since COMMAREA has a maximum length of around 32k, what exactly are you talking about when you say it is 300k?
|
Bill,
Sorry that is total linkage section size. i hope COMMAREA is differnt from normal linkage values passing method.
Here we are not using the COMMAREA word, instead directly using Linkage section to pass the values to other moduels by coding few copy books. that total size of the linkage section is around 300k bytes. |
|
Back to top |
|
|
enrico-sorichetti
Superior Member
Joined: 14 Mar 2007 Posts: 10873 Location: italy
|
|
|
|
nobody around here cares about the size You are using ....
the important thing is that You should ensure that ALL the copy books are included in ALL the programs involved
in order not to have any length mismatches !!!
what is that is not clear in the above concept ? |
|
Back to top |
|
|
|