View previous topic :: View next topic
|
Author |
Message |
chowdhrykapildev
New User
Joined: 05 Aug 2009 Posts: 44 Location: Hyderabad
|
|
|
|
Hi All,
I had compiled my application pgms using Enterprise PL1 compiler. But when I login into IMS online(into the first application option), I get the below abend:
RWB350 PL/I DETECTED ERROR, ONCODE = 8091.
We have many reasons for this. Not sure what might be the exact reason. Surely, the abend has started when I use Enterprise PL1 compiled modules. I didnt face any online problem using LE compiler. Below is the dump info in the IMS region.
Condition Information for Active Routines
Condition Information for (DSA address 000EF910)
CIB Address: 00102910
Current Condition:
CEE3201S The system detected an operation exception (System Completion Code=0C1).
Location:
Program Unit: Entry: MCDSEAI Statement: Offset: -000F5650
Possible Bad Branch: Statement: Offset: +000000A6
By looking the above dump, I see a negative offset (-000f5650). Till now, I have seen positive offset and also aware how to proceed with it to the location of the problem, but iam not sure how to proceed with negative offset.
Can any one pls help me what does the negative offset signify and also what might be the reason for SOC1. |
|
Back to top |
|
|
Akatsukami
Global Moderator
Joined: 03 Oct 2009 Posts: 1788 Location: Bloomington, IL
|
|
|
|
Has your entire unit of execution been re-compiled with Enterprise PL/I? If not, re-compile the whole thing, including any fetched modules.
A S0C1 is, as you know, an operation exception. Combined with the negative offset, the odds are good that data has overlaid your code, causing it to take a wild branch into the blue. Check for bad subscripts, inappropriate pointer values, and the like. |
|
Back to top |
|
|
chowdhrykapildev
New User
Joined: 05 Aug 2009 Posts: 44 Location: Hyderabad
|
|
|
|
Hi Akatsukami,
Thanks for your reply. I confirm that all the called modules including calling modules are compiled with Enterprise PL/1.
Can you please throw some light on this one:
"Check for bad subscripts, inappropriate pointer values, and the like." and also what exactly is the difference between positive and negative offset for ex: location of the error in the pgm.
Many Thanks in Advance. |
|
Back to top |
|
|
Akatsukami
Global Moderator
Joined: 03 Oct 2009 Posts: 1788 Location: Bloomington, IL
|
|
|
|
As I said, a S0C1 abend is an operation exception; i.e., an attempt to execute an invalid machine instruction (op-code).
Now, it is unlikely in the extreme that the Enterprise PL/I compiler is generating an invalid instruction. As is said, extraordinary claims require extraordinary evidence, and to say this would be an extraordinary claim is an understatement. Therefore, we should look for causes of program corruption by data overlay. Likely causes are "wild" subscripts (outside the bounds of the array) and invalid pointers (to code rather than data). At one time, attempts to manipulate an unopened file would result in an S0C1 abend, but I do not believe that this happens under PL/I (although if I am wrong, I will gladly accept correction).
Note that, unfortunately, the location of the abend is not necessarily the location of the corruption; the corrupt code may have included, e.g., a BALR machine instruction (or, more strictly speaking, data that looks like a BALR machine instruction). Indeed, that the offset from the entry point is negative makes me think that this may have happened; as you know, the entry point is at the beginning (lowest address) of the module, so an offset to a still lower address strongly suggests (although it does not absolutely prove) that such has happened. |
|
Back to top |
|
|
pramod.raghuwanshi
New User
Joined: 09 Apr 2013 Posts: 4 Location: India
|
|
|
|
Now I am working on this application and still I am facing same issue..
After initial analysis I found that transaction job for this online screen need to me modify,
because this transaction job is referring to LE compiler and all TPload are generated using ZPLI compiler. So this is creating mismatch for load.
So any one can tell me what are the changes I need to do in transaction job to make it compatible with ZPLI.
I am not able to find out what are the all changes I have to do in this job because most of the inlcudes are in IMS.GLOBAL.PLINCL lib and I don't have access for this lib. |
|
Back to top |
|
|
dick scherrer
Moderator Emeritus
Joined: 23 Nov 2006 Posts: 19244 Location: Inside the Matrix
|
|
|
|
Hello and welcome to the foum,
Suggest you work with your IMS support people and possibly whoever supports the compiler you are trying to use.
Also, it is better to start a new topic for a new question. If a dormant topic has info that applies to your situation, please include a link to the original topic for reference. |
|
Back to top |
|
|
|