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

Upgrading to PL/I enterprise compiler - S0C4


IBM Mainframe Forums -> PL/I & Assembler
Post new topic   Reply to topic
View previous topic :: View next topic  
Author Message
fahir83

New User


Joined: 27 Jan 2006
Posts: 22

PostPosted: Tue Aug 04, 2009 2:18 am
Reply with quote

We are in the process of upgrading to PL/I enterprise compiler. We compiled the programs we didnt have any issues, but when try to run the program, we got the error 8094.

In our program we are calling DSNTIAR for DB2 errros.

+IDI0081I IEWBIND unusual condition INCLUDE GGHADP87 rc=83000526
+IDI0002I Module GGHADP87, program GGHADP0, offset X'1842': Abend S0C4-X'4' (Protection Exception)
IBM0534S ONCODE=8094 Protection exception


the following is the call for DSNTIAR:

DCL DSNTIAR ENTRY OPTIONS(ASM,INTER,RETCODE);
0/* SQLCODE ERROR HANDLING AREA */
DCL 01 DB2_SQLR,
05 DB2_SQLR_TEXT_LEN FIXED BIN(31) INIT(120),
05 DB2_SQLR_MESSAGE,
10 DB2_SQLR_LEN FIXED BIN(15) INIT(960),
10 DB2_MSGS(08),
15 DB2_SQLR_TEXT CHAR(120) INIT((*)' ');
PUT SKIP LIST('SEVERE ERROR OR WARNING ENCOUNTERED');
PUT SKIP LIST('SQLCODE ====> ',SQLCODE);
PUT SKIP LIST('SQLERRM ====> ',SQLERRM);
PUT SKIP LIST('SQLERRD(3) ====> ',SQLERRD(3));
PUT SKIP LIST('SQLWARN0 ====> ',SQLWARN0);
PUT SKIP LIST('SQLWARN1 ====> ',SQLWARN1);
PUT SKIP LIST('SQLWARN2 ====> ',SQLWARN2);
PUT SKIP LIST('SQLWARN3 ====> ',SQLWARN3);
PUT SKIP LIST('SQLWARN4 ====> ',SQLWARN4);
PUT SKIP LIST('SQLWARN5 ====> ',SQLWARN5);
PUT SKIP LIST('SQLWARN6 ====> ',SQLWARN6);
PUT SKIP LIST('SQLWARN7 ====> ',SQLWARN7);
CALL DSNTIAR(SQLCA,DB2_SQLR_MESSAGE,DB2_SQLR_TEXT_LEN);
IF PLIRETV = 0
THEN
DO;
DO J = 1 TO DIM(DB2_SQLR_TEXT,1);
IF DB2_SQLR_TEXT(J) ¬= '' THEN
PUT SKIP LIST(DB2_SQLR_TEXT(J));
END;
END;
EXEC SQL
ROLLBACK;
SIGNAL ERROR;
END; /* P9999_DB2_ABEND */

Can anyone knows how can we resolve that?
Back to top
View user's profile Send private message
dejunzhu

Active User


Joined: 08 May 2008
Posts: 390
Location: China

PostPosted: Tue Aug 04, 2009 9:48 am
Reply with quote

I used to encounter a problem just like you mentioned.

This kind of issue is always due to link error.

My solution was :
1.change the link parameter of SCLM definition;
2.specify "NORENT" in the compile option.

You can have a try, although I cannot assure you it will work.
Back to top
View user's profile Send private message
enrico-sorichetti

Superior Member


Joined: 14 Mar 2007
Posts: 10873
Location: italy

PostPosted: Tue Aug 04, 2009 2:07 pm
Reply with quote

what is the program doing at...
program GGHADP0, offset X'1842' ??
exactly, please
Back to top
View user's profile Send private message
fahir83

New User


Joined: 27 Jan 2006
Posts: 22

PostPosted: Tue Aug 04, 2009 9:05 pm
Reply with quote

This is the error i am getting.Inside the procedure P9999_DB2_ABEND ,the above mentioned code is present.

IBM0534S ONCODE=8094 Protection exception
From compile unit GGHADP0 at entry point P9999_DB2_ABEND at compile unit offset -10E50350 at entry offset -10E51980 at address 20C05070.
Possible Bad Branch: Statement: Offset: -FFFFFE9E

dump for similar program:
================================================================================
<H2> EVENT 7 OF 14: CALL (DSA ADDRESS 000803A0)

********************************************************************************
*********************** P O I N T O F F A I L U R E **********************
********************************************************************************

This is the point where control left program GGHADP0 prior to the S0C4 abend.

NOTE: Source code information for program GGHADP0 could not be presented because
no compiler listing or side-file data sets were provided. The source file
is SYS09213.T070105.RA000.SGHSXG0F.ELMOUT.H01, line # from the GONUMBER
option is 674 for offset X'1842'.

Load Module Name. . . . . . : PGC01.GPDCM.TEST.LOAD(GGHADP87)
</RTline>
At Address. . . . . . . . : 31A55AA8
<XMline>
At Address. . . . . . . . : <a href="ADDR: 31A55AA8">31A55AA8</a>
</XMline>
<RTline>
Load Module Length. . . . : X'24558'
Link-Edit Date and Time . : 2009/08/01 07:01:16

Program Name. . . . . . . . : GGHADP0
</RTline>
At Address. . . . . . . . : 31A55D40 (Module GGHADP87 offset X'298')
<XMline>
At Address. . . . . . . . : <a href="ADDR: 31A55D40">31A55D40</a> (Module
GGHADP87 offset X'298')
</XMline>
<RTline>
Program Length. . . . . . : X'10FC8'
Program Language. . . . . : PL/I (Compiled using IBM Enterprise PL/I for z/OS
V3 R6 M0 on 2009/08/01 at 07:01:09)
Entry Point Name. . . . . : GGHADP0
At Address. . . . . . . : 31A55D90 (Program GGHADP0 offset X'50')

Machine Instruction . . . . : 05EF BALR R14,R15
At Address. . . . . . . . : 31A57582 (Program GGHADP0 offset X'1842')
AMODE . . . . . . . . . . : 31

Instructions around point of failure:

Offset Hex Instruction
------ -------------- --------------------------------------------------------
-2C 5820 600C L R2,12(,R6)
-28 5020 109C ST R2,156(,R1)
-24 5000 1098 ST R0,152(,R1)
-20 4100 1098 LA R0,152(,R1)
-1C 58F0 3F78 L R15,3960(,R3)
-18 4110 D098 LA R1,152(,R13)
-14 5000 D098 ST R0,152(,R13)
-10 05EF BALR R14,R15
-E 4400 C1AC EX 0,428(,R12)
-A 185D LR R5,R13
-8 58F0 3F80 L R15,3968(,R3)
-4 4400 C1C0 EX 0,448(,R12)
***** 05EF BALR R14,R15
+2 4400 C1C4 EX 0,452(,R12)
+6 4400 C1AC EX 0,428(,R12)
+A 185D LR R5,R13
+C 58F0 3F84 L R15,3972(,R3)
+10 4400 C1C0 EX 0,448(,R12)
+14 05EF BALR R14,R15
+16 4400 C1C4 EX 0,452(,R12)



<H2> EVENT 8 OF 14: ABEND S0C4

Abend Code. . . . . . . . . : S0C4-X'4'
Program-Interruption Code . : 0004 (Protection Exception)
An attempt was made to access a protected storage
location using an incorrect storage access key.

Machine Instruction . . . . : n/a
At Address. . . . . . . . : 008D15FE
AMODE . . . . . . . . . . : 24
Failure Description . . . : Instruction address is invalid

Additional instructions around event offset:

Offset Hex Instruction
------ -------------- --------------------------------------------------------
No instructions available.

Program Status Word (PSW) . : 00000000 078D1600
General Purpose Registers:
</RTline>
R0: 31A55C30 (115848144 bytes of storage addressable)
<XMline>
R0: <a href="ADDR: 31A55C30">31A55C30</a> (115848144 bytes of storage
addressable)
</XMline>
R1: 0000CE2C (643540 bytes of storage addressable)
<XMline>
R1: <a href="ADDR: 0000CE2C">0000CE2C</a> (643540 bytes of storage
addressable)
</XMline>
R2: 00002DF0 (Storage invalid)
<XMline>
R2: <a href="ADDR: 00002DF0">00002DF0</a> (Storage invalid)
</XMline>
R3: 31A5F002 (115810302 bytes of storage addressable)

My bad i am not sure how can i check what the exact statement in offset X'1842'.
Back to top
View user's profile Send private message
Terry Heinze

JCL Moderator


Joined: 14 Jul 2008
Posts: 1249
Location: Richfield, MN, USA

PostPosted: Tue Aug 04, 2009 9:22 pm
Reply with quote

According to what you posted it's:
Quote:
Machine Instruction . . . . : 05EF BALR R14,R15
At Address. . . . . . . . : 31A57582 (Program GGHADP0 offset X'1842')
AMODE . . . . . . . . . . : 31
Back to top
View user's profile Send private message
Robert Sample

Global Moderator


Joined: 06 Jun 2008
Posts: 8696
Location: Dubuque, Iowa, USA

PostPosted: Tue Aug 04, 2009 9:26 pm
Reply with quote

Quote:
My bad i am not sure how can i check what the exact statement in offset X'1842'.
The Enterprise PL/I Programming Guide manual (link at the top of the page) says you can get this by compiling with the LIST, OFFSET, or MAP options.
Back to top
View user's profile Send private message
fahir83

New User


Joined: 27 Jan 2006
Posts: 22

PostPosted: Fri Aug 07, 2009 7:40 am
Reply with quote

Here we go.

I found the place where it throws the error. It is a open cursor statement.

EXEC SQL
OPEN BRANCH_CUR;

When i look into the DB2 Logs, it says

08/06 18.07.20 D2T2MSTR DSN3201I -D2T2 ABNORMAL EOT IN PROGRESS FOR USER=SGMYKG0 CONNECTION-ID=BATCH CORRELATION-ID=
D2T2MSTR JOBNAME=MRLBSC35 ASID=0225 TCB=008A2E88

and if we look at my first post, the first line of the error messge is

IDI0081I IEWBIND unusual condition INCLUDE GGHADP87 rc=83000526

When i serached for DSN3201I, it says
Explanation:During converting load module format, IEWBIND
function had return code greater than 0.

And i found in compiler messages, eventhough return code of BIND is 0, i found BINDKTSO...... RC=0005. i dont understand what it is

Can you please help me in getting this resolved. Whether i need to rebind it with some options changed.FYI we are using endevor.

The one parameter which has been changed in BIND option from old compiler to new compiler is CURRENTDATA which was previously set to YES, now we have set to NO to comply with default.

Another thought: Whether it is because of some PLAN AUTHORIZATION error, in prev compiler, it will clearly shows PLAN AUTHORIZATION error, but i dont know whether it will be the case. i seriously dont think so.
Back to top
View user's profile Send private message
dick scherrer

Moderator Emeritus


Joined: 23 Nov 2006
Posts: 19244
Location: Inside the Matrix

PostPosted: Fri Aug 07, 2009 7:51 am
Reply with quote

Hello,

Suggest you look in the output of the pre-compiler/compiler steps for some innocent appearing warning and the output from the bind.

Quote:
And i found in compiler messages, eventhough return code of BIND is 0, i found BINDKTSO...... RC=0005.
Which step issued the rc=05?
Back to top
View user's profile Send private message
fahir83

New User


Joined: 27 Jan 2006
Posts: 22

PostPosted: Fri Aug 07, 2009 8:02 am
Reply with quote

processor.

PROCESSOR....... P4PXD2GE
CLEANUP....... RC=0000
....
SCAN1......... RC=0001
SCAN2......... RC=0001
COMPILE....... RC=0004
LINK.......... RC=0000
DBRMCOPY...... RC=0000
BINDALW1...... RC=0000
......
......
BINDKTSO...... RC=0005
EXPLMODB...... RC=0000
EXPL.......... RC=0000
BINDMODB...... RC=0000
BIND.......... RC=0000
Back to top
View user's profile Send private message
dick scherrer

Moderator Emeritus


Joined: 23 Nov 2006
Posts: 19244
Location: Inside the Matrix

PostPosted: Fri Aug 07, 2009 8:09 am
Reply with quote

Hello,

I'm not familiar with BINDKTSO icon_confused.gif It sounds like something site-specific.

If it issued an rc other than zero, there is probably some diagnostic/informational info created by the process.

Suggest you talk with the people who support the compile/bind processes.
Back to top
View user's profile Send private message
fahir83

New User


Joined: 27 Jan 2006
Posts: 22

PostPosted: Fri Aug 07, 2009 9:36 am
Reply with quote

i got the following code in SYSTSPRT. I know that it will be thrown in many cases. But any thought what could be the issue if combine this error message with the ones i have mentioned above?

READY
DSN SYSTEM(D2T2)
DSN
RUN PROG(GGHADP87) PLAN(PTHADP87)
IKJ56641I DSN ENDED DUE TO ERROR+
IKJ56641I SYSTEM ABEND CODE 0C4 REASON CODE 00000004
Back to top
View user's profile Send private message
dick scherrer

Moderator Emeritus


Joined: 23 Nov 2006
Posts: 19244
Location: Inside the Matrix

PostPosted: Fri Aug 07, 2009 9:43 am
Reply with quote

Hello,

Quote:
KJ56641I DSN ENDED DUE TO ERROR+
IKJ56641I SYSTEM ABEND CODE 0C4 REASON CODE 00000004

Quote:
I know that it will be thrown in many cases.
I surely hope not. . .

An 0C4 should basically never happen. . .

Suggest you make sure there are no unresolved references in any of the linkedits for any of the modules used in this run.
Back to top
View user's profile Send private message
fahir83

New User


Joined: 27 Jan 2006
Posts: 22

PostPosted: Wed Aug 12, 2009 8:12 pm
Reply with quote

Issue Resolved.

In Old compiler, the programs were linked using DSNELI for running under TSO (IKJEFT01). But in new compiler, the programs are linking using DSNHLI which is for running using the CAF facility. Endevor team has corrected the issue by setting the LDB2LNG symbolic to DSNELI.
Back to top
View user's profile Send private message
dick scherrer

Moderator Emeritus


Joined: 23 Nov 2006
Posts: 19244
Location: Inside the Matrix

PostPosted: Wed Aug 12, 2009 11:59 pm
Reply with quote

Good to hear it is working - thanks for posting the resolution icon_smile.gif

d
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 -> PL/I & Assembler

 


Similar Topics
Topic Forum Replies
No new posts How I Found a Bug in a FORTRAN Compiler All Other Mainframe Topics 4
No new posts Abend S0C4 11 (Page Translation Excep... PL/I & Assembler 16
No new posts Compiler and run JCL for basic PL/I p... PL/I & Assembler 10
No new posts JSON PARSE in Enterprise COBOL COBOL Programming 2
This topic is locked: you cannot edit posts or make replies. Upgrade to Enterprise COBOL 6 COBOL Programming 4
Search our Forums:

Back to Top