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

SOC4 X'4' abend in PLI-IMS program


IBM Mainframe Forums -> IMS DB/DC
Post new topic   Reply to topic
View previous topic :: View next topic  
Author Message
Kunal Surpurkar

New User


Joined: 15 Nov 2012
Posts: 47
Location: India

PostPosted: Tue Jan 07, 2014 3:48 pm
Reply with quote

Dear Team,

I have coded a PLI-IMS program. For this, I created a new PSBLIB too. This program worked well in both Development and UAT environments. But, when I moved the code to production and ran it, it is failing due to the below reasons:

Code:
A program-interruption code 0004 (Protection Exception) is associated with this
abend and indicates that:                                                       
                                                                               
  A protection exception occurred due to one of the following:                 
                                                                               
  - An attempt to access a protected storage location using an incorrect storage
    access key.                                                                 
                                                                               
  - An attempt to store, in the access-register mode, by means of an access-list
    entry which has the fetch only bit set to one.                             
                                                                               
  - An attempt to store into the range 0-511 or 4096-4607 with low-address     
    protection enabled.                                                         
                                                                               
  - An attempt to store into a protected page with DAT on.                     
                                                                               
The abend was caused by machine instruction 505021F0 (STORE).                   
                                                                               
NOTE: Source code information for program EPFIV204 could not be presented       
      because no compiler listing or side-file data sets were provided. The     
      source line # from the GONUMBER option is 5 for offset X'120'.     




I have googled it and searched in all the forums for a clear response, but i didn't find any. Hence, I am writing it here.


Based on the job log information that I pasted above, It seems that there's a problem in the 5th line of the source. And, the 5th line in the code is as below.

*****
Code:
* ***************************** Top of Data ******************************
000100 *PROCESS LIMITS(FIXEDDEC(15,31) FIXEDBIN(31,63));                       
000200  /*------------------------------------------------------------------*/
000300  /* COPYRIGHT (C) 2012, 2013 IBM CORPORATION, ALL RIGHTS RESERVED    */
000400  /*------------------------------------------------------------------*/
000500  EPFIV204: PROC (IVAMOD_PCB_PTR1,                                       
000600                 IVAMOD_PCB_PTR) OPTIONS (MAIN) REORDER;                                                                             


which points to the PCB pointer...I have checked for it. But, it looks fine to me.

I had a thought that it might be due to the wrong data in production. I got the data from production and tested it in UAT...it went fine.

Could anyone help me resolve this issue?

Thanks a lot in advance.
Back to top
View user's profile Send private message
Nic Clouston

Global Moderator


Joined: 10 May 2007
Posts: 2455
Location: Hampshire, UK

PostPosted: Tue Jan 07, 2014 4:15 pm
Reply with quote

Quote:
machine instruction 505021F0 (STORE

Have you looked in the compiler listings for this string and found the relevant line of code.
How did you determine that it was the 5th line of code? Note that compiler directives and comment lines probably do not count as lines of code in this instance. You may be talking about executable code - a PROC statement is really a compiler directive saying program xyz starts from here.
Back to top
View user's profile Send private message
Kunal Surpurkar

New User


Joined: 15 Nov 2012
Posts: 47
Location: India

PostPosted: Tue Jan 07, 2014 4:35 pm
Reply with quote

Hi Nic,

Thanks for the reply

I tried to look for 505021F0 in the compiler listings. But, I could not find it.

Please find the screenshot of the compiler listing below.

Quote:
Compiler Source
Line.File LV NT
2.0 /*--------------------------------------------------------
3.0 /* COPYRIGHT (C) 2012, 2013 IBM CORPORATION, ALL RIGHTS RE
4.0 /*--------------------------------------------------------
5.0 EPFIV204: PROC (IVAMOD_PCB_PTR1,
6.0 IVAMOD_PCB_PTR) OPTIONS (MAIN) REORDER;
7.0 /*--------------------------------------------------------
8.0 /* PROGRAM NAME : UNIVAMOD
9.0 /*--------------------------------------------------------
10.0 /* DESCRIPTION : EXTRACT SEGMENTS SEGPADR AND SEGHIJO
11.0 /* : IVMOD DATABSE TO 6 FLAT FILES
12.0 /*--------------------------------------------------------
13.0 /* FUNCTIONS :
14.0 /*
15.0 /* 1.RETRIEVE ALL OCCURANCES OF SEGMENT, SEGPADR,SEGMES,
16.0 /* AILES USING DLI GN CALLS
17.0 /* 2.WRITE 2 FLAT FILES - ONE FOR CUSTOMER AND VENDOR IN
18.0 /* AND ANOTHER FOR INVOICE AND CREDIT LETTER INFORMATI
19.0 /*--------------------------------------------------------
20.0 /* PROGRAM TYPE : LANGUAGE = PL1 , IMS DLI MO
21.0 /* DATABASE = IMS
22.0 /*--------------------------------------------------------
23.0 /*--------------------------------------------------------
24.0 /*********************************************************
25.0 /* IMS DECLARATIONS
Back to top
View user's profile Send private message
Nic Clouston

Global Moderator


Joined: 10 May 2007
Posts: 2455
Location: Hampshire, UK

PostPosted: Tue Jan 07, 2014 6:53 pm
Reply with quote

Quote:
I tried to look for 505021F0 in the compiler listings. But, I could not find it.

In that case you probably do not have the compiler option set that gives the assembler representation of your code. I am not sure what it is - maybe LIST - but you should check the compiler documentation.
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 -> IMS DB/DC

 


Similar Topics
Topic Forum Replies
No new posts Using API Gateway from CICS program CICS 0
No new posts ISAM and abend S03B JCL & VSAM 9
No new posts DB2 Event passed to the Application P... DB2 1
No new posts How to pass the PARM value to my targ... COBOL Programming 8
No new posts REXX code to expand copybook in a cob... CLIST & REXX 2
Search our Forums:

Back to Top