View previous topic :: View next topic
|
Author |
Message |
rgupta71
Active User
Joined: 21 Jun 2009 Posts: 160 Location: Indore
|
|
|
|
Thanks Bharath.
One more question.
Where I can see the name of the array's that are having overflow in it. |
|
Back to top |
|
|
CICS Guy
Senior Member
Joined: 18 Jul 2007 Posts: 2146 Location: At my coffee table
|
|
|
|
Bharath Bhat wrote: |
Generally adding 1 would not give SOC-7 if the destination field does not have garbage. |
rgupta71 wrote: |
...when one is added to a variable which contains X'000000'. Its PIC clause is S9(5) COMP-3. |
Looks like garbage to me..... |
|
Back to top |
|
|
rgupta71
Active User
Joined: 21 Jun 2009 Posts: 160 Location: Indore
|
|
|
|
CICS Guy ,You are right .I also found this statement to be incorrect.
Thanks. |
|
Back to top |
|
|
Robert Sample
Global Moderator
Joined: 06 Jun 2008 Posts: 8696 Location: Dubuque, Iowa, USA
|
|
|
|
Using a variable with a value of X'000000' that is defined as PIC S9(05) COMP-3 for arithmetic will automatically generate a S0C7 abend. X'000000' is not a valid numeric value for COMP-3 data. |
|
Back to top |
|
|
rgupta71
Active User
Joined: 21 Jun 2009 Posts: 160 Location: Indore
|
|
|
|
Yes,this what the problem is.Due to some memory overlapping it is having some junk data.
Thanks |
|
Back to top |
|
|
Anuj Dhawan
Superior Member
Joined: 22 Apr 2006 Posts: 6250 Location: Mumbai, India
|
|
|
|
rgupta71 wrote: |
Yes,this what the problem is.Due to some memory overlapping it is having some junk data. |
Sorry, i did not get this - what kind of concept is this? And what process populates the data in the varaible of type "PIC S9(05) COMP-3" ? |
|
Back to top |
|
|
Robert Sample
Global Moderator
Joined: 06 Jun 2008 Posts: 8696 Location: Dubuque, Iowa, USA
|
|
|
|
I do not understand your terminology. Memory does not "overlap". It cannot overlap. There are N bytes of memory (where N depends upon the site and the configuration of the LPAR) and none of them can overlap -- ever. They each stand alone and unique. There is a concept in assembler of overlapping moves, which is often used to clear print lines and other data fields, but the move is overlapping -- not the memory.
Memory can be overlaid, certainly, but that is not overlapping. Overlaid memory can be caused by tables exceeding defined limits, subroutines that use more memory than is passed, and so forth. If you think your memory is overlapping, we cannot help you since it is not possible for this to occur. If you think there is an overlay problem, then your program needs a complete code review to determine which table or subroutine call (or whatever) is causing the memory overlay and then you can fix it. This is best accomplished by your peers or seniors at your site, not by a public forum. |
|
Back to top |
|
|
rgupta71
Active User
Joined: 21 Jun 2009 Posts: 160 Location: Indore
|
|
|
|
@ANuj Dhawan
We cannot have X'000000' in a variable that is defined as PIC S9(05) COMP-3.But when the job abends the variable is having X'000000' value.So, I am assuming that there must be some kind of memory overlapping in this case.
Thanks. |
|
Back to top |
|
|
dbzTHEdinosauer
Global Moderator
Joined: 20 Oct 2006 Posts: 6966 Location: porcelain throne
|
|
|
|
Quote: |
some kind of memory overlapping in this case. |
|
|
Back to top |
|
|
rgupta71
Active User
Joined: 21 Jun 2009 Posts: 160 Location: Indore
|
|
|
|
@dbzTHEdinosauer
What is wrong in this? |
|
Back to top |
|
|
dbzTHEdinosauer
Global Moderator
Joined: 20 Oct 2006 Posts: 6966 Location: porcelain throne
|
|
|
|
rgupta71 wrote: |
@dbzTHEdinosauer
What is wrong in this? |
Robert Sample wrote: |
I do not understand your terminology. Memory does not "overlap". It cannot overlap. There are N bytes of memory (where N depends upon the site and the configuration of the LPAR) and none of them can overlap -- ever. They each stand alone and unique. There is a concept in assembler of overlapping moves, which is often used to clear print lines and other data fields, but the move is overlapping -- not the memory.
Memory can be overlaid, certainly, but that is not overlapping. Overlaid memory can be caused by tables exceeding defined limits, subroutines that use more memory than is passed, and so forth. If you think your memory is overlapping, we cannot help you since it is not possible for this to occur. If you think there is an overlay problem, then your program needs a complete code review to determine which table or subroutine call (or whatever) is causing the memory overlay and then you can fix it. This is best accomplished by your peers or seniors at your site, not by a public forum. |
|
|
Back to top |
|
|
CICS Guy
Senior Member
Joined: 18 Jul 2007 Posts: 2146 Location: At my coffee table
|
|
|
|
rgupta71 wrote: |
So, I am assuming that there must be some kind of memory overlapping in this case. |
Why, it could be just uninitialized data or data initialized at the group level. |
|
Back to top |
|
|
Anuj Dhawan
Superior Member
Joined: 22 Apr 2006 Posts: 6250 Location: Mumbai, India
|
|
|
|
Well, have you read the response from Robert. Before we start with, I'd like to state the classical sentecne from Robert - Terminology is absolutely critical to get right in IT since there are similar terms that may mean very different things.
And to make it worse, Memory is part of the processor where programs are loaded in order to run; you are talking about data of some file, which has to be on a disk -- files are stored on disk drives that are not part of the processor and hence, for sure not of memory. |
|
Back to top |
|
|
enrico-sorichetti
Superior Member
Joined: 14 Mar 2007 Posts: 10873 Location: italy
|
|
|
|
Quote: |
What is wrong in this? |
Rober gave a very good explanation why memory overlapping is a wrong term,
You did not care to read/understand his reply
and used the same wrong term again
and... the memory overlay concept is logical one ...
from my point of view I would call it memory/storage corruption
memory/storage contained something good, somebody overlayed/corrupted it with garbage
or the memory/storage contained garbage to start with |
|
Back to top |
|
|
rgupta71
Active User
Joined: 21 Jun 2009 Posts: 160 Location: Indore
|
|
|
|
Thanks a lot dbzTHEdinosauer.
So this means that values of the variables are getting Overlaid.How can we resolve this kind of issue. |
|
Back to top |
|
|
Terry Heinze
JCL Moderator
Joined: 14 Jul 2008 Posts: 1249 Location: Richfield, MN, USA
|
|
|
|
rgupta71,
You might be intending to say that definitions overlap (as in redefines). As Robert states, memory does not overlap. |
|
Back to top |
|
|
enrico-sorichetti
Superior Member
Joined: 14 Mar 2007 Posts: 10873 Location: italy
|
|
|
|
another alternative would be a uninitialized variable.
but without looking at the program and at the dump very difficult to tell ! |
|
Back to top |
|
|
Anuj Dhawan
Superior Member
Joined: 22 Apr 2006 Posts: 6250 Location: Mumbai, India
|
|
|
|
Well, please answer this too:
Anuj Dhawan wrote: |
And what process populates the data in the varaible of type "PIC S9(05) COMP-3" ? |
Peter - i'm ignored again, amen! |
|
Back to top |
|
|
dbzTHEdinosauer
Global Moderator
Joined: 20 Oct 2006 Posts: 6966 Location: porcelain throne
|
|
|
|
well, you could stop watching this thread for answers,
we can not provide you with a solution - we don't have your code
we can only provide you with methodologies -
you have an internal-cobol-table-item-field that contains an invalid value.
you can either use your site's debugger (xpeditor, intertest - whatever)
or just start putting DISPLAYs in your code to verify that contents of your
table.
if the program abends each time at the same place (same field occurance)
then you have a start.
also, and important, I was not laughing at you.
I was laughing at this situation which occurs often in this forum.
in fact, there is another thread today, where the discussion lead to
whether or not seniors should make attempts to correct the terminology of posters. |
|
Back to top |
|
|
Robert Sample
Global Moderator
Joined: 06 Jun 2008 Posts: 8696 Location: Dubuque, Iowa, USA
|
|
|
|
Quote: |
So this means that values of the variables are getting Overlaid.How can we resolve this kind of issue. |
rgupta71, you have been told -- multiple times -- how to fix the problem. You can review the code yourself to look for potential overlays, you can have a code walk through with your peers to look for potential overlays, you can add display statements to check for memory overlays, you can recompile your program with SSRANGE compiler option and run the program with CHECK(ON), or you can analyze the dump (generate one if you didn't get it already) to find the memory overlay and fix it.
You have plenty of options -- you need to pick one and go with it. There is no reason to repeatedly ask as we cannot debug your code for you (especially since you haven't posted any code). Only someone at your site could fix this problem since access to the source is required. |
|
Back to top |
|
|
rgupta71
Active User
Joined: 21 Jun 2009 Posts: 160 Location: Indore
|
|
|
|
Sorry everyone.
I think it is some synchronization issue.When I was posting reply for the last post meanwhile some other person posted his reply.
Sorry once again. |
|
Back to top |
|
|
Anuj Dhawan
Superior Member
Joined: 22 Apr 2006 Posts: 6250 Location: Mumbai, India
|
|
|
|
Ok, not a problem - this thread had been drifted a lot, but could you get a way to go now? |
|
Back to top |
|
|
rgupta71
Active User
Joined: 21 Jun 2009 Posts: 160 Location: Indore
|
|
|
|
I have done modification in the source CBL SSRANGE (1st Line of the Program) in program and changed JCL to EXEC PGM=BATCH to EXEC PGM=BATCH,PARM='/CHECK(ON)'.The job abended as ususal but I am still looking for overflowing array's list.Where I can find the list.
Thanks |
|
Back to top |
|
|
dbzTHEdinosauer
Global Moderator
Joined: 20 Oct 2006 Posts: 6966 Location: porcelain throne
|
|
|
|
What is that I hear?
the scrapping of chairs as everyone madly clears the building!! |
|
Back to top |
|
|
dneufarth
Active User
Joined: 27 Apr 2005 Posts: 420 Location: Inside the SPEW (Southwest Ohio, USA)
|
|
|
|
I think it's in core! (for you old guys) |
|
Back to top |
|
|
|