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

Finding the line number from compile listing of a C program.


IBM Mainframe Forums -> ABENDS & Debugging
Post new topic   Reply to topic
View previous topic :: View next topic  
Author Message
arnab

New User


Joined: 13 Mar 2006
Posts: 59
Location: UK

PostPosted: Tue Jul 29, 2008 1:51 pm
Reply with quote

Hello,

We have some C programs being called from PLI modules. These are used for some specific calculations. We received an abend yesterday wherein the PLI program failed in a C module at some specific offset. I have the compile listing of the C program but am unable to find the line number from the offset shown in the DUMP:

PU Offset Entry E Addr E Offset
+0000081C CEEKKMRA 06F63EA8 +0000081C
+000000C2 IBMRKDM 119E0E18 +000000C2
+000005FC #BELCH 003A24B8 +000005F4
+0000142C ERR ON-unit 000E4418 +000000B4
+0000065A IBMRERPL 00C769A0 +0000065A
+0000013A CEEEV010 119C7000 +0000013A
+000017D0 CEEHDSP 06F36180 +000017D0
+3FEE68A8 CBOXAA 00119758 +3FEE68A8
+00000278 QICGDD 0027CAD8 +00000270

In the above traceback information the offset for the failing instruction for the C module CBOXAA is +3FEE68A8.
I am not able to find the abending line number from the compile listing of the C program.

Is there any specific method of finding the line number from the offset provided in the traceback information ?
Many thanks in advance.

Please let me know if you would need any more information.

Thanks..!
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: Tue Jul 29, 2008 7:10 pm
Reply with quote

Hello,

Please post the diagnostic info presented when the abend occurred (the lines with message numbers describing the abend).

Depending on the abend you may not be executing "your code" when the abend occurred.
Back to top
View user's profile Send private message
arnab

New User


Joined: 13 Mar 2006
Posts: 59
Location: UK

PostPosted: Tue Jul 29, 2008 8:39 pm
Reply with quote

From JESMSGLG:

IEA995I SYMPTOM DUMP OUTPUT 640
USER COMPLETION CODE=4039 REASON CODE=00000000
TIME=22.14.45 SEQ=35866 CPU=0000 ASID=017D
PSW AT TIME OF ERROR 078D1E00 86F460D6 ILC 2 INTC 0D
NO ACTIVE MODULE FOUND
NAME=UNKNOWN
DATA AT PSW 06F460D0 - 00181610 0A0D58D0 D00498EC
AR/GR 0: 80D488D0/84000000 1: 00000000/84000FC7
2: 00000000/004837F8 3: 00000000/00000002
4: 00000000/06F3AD84 5: 00000000/0048335C
6: 00000000/00000000 7: 00000000/004802A8
8: 00000000/004837F8 9: 00000000/00484ED6
A: 00000000/0048335C B: 00000000/06F46000
C: 00000000/003FAB40 D: 00000000/00485FF8
E: 00000000/86F46032 F: 00000000/00000000
END OF SYMPTOM DUMP


From PLIDUMP:

Condition Information for (DSA address 004883C0)
CIB Address: 00488D98
Current Condition:
CEE3204S The system detected a protection exception (System Completion Code=0C4
Location:
Program Unit: Entry: CBOXAA Statement: Offset: +3FEE68A8
Machine State:
ILC..... 0000 Interruption Code..... 0004
PSW..... 078D2E00 C0000000
GPR0..... 00488478 GPR1..... 00488460 GPR2..... 40000000 GPR3..... 801197
GPR4..... 1270C028 GPR5..... 1270C028 GPR6..... 00483378 GPR7..... 004883
GPR8..... 004831BE GPR9..... 00483110 GPR10.... 00000001 GPR11.... 000000
GPR12.... 003FAB40 GPR13.... 004883C0 GPR14.... 801198C4 GPR15.... 400000

Is it this information ?
Back to top
View user's profile Send private message
arnab

New User


Joined: 13 Mar 2006
Posts: 59
Location: UK

PostPosted: Tue Jul 29, 2008 8:43 pm
Reply with quote

I Just noticed that the PU addr and offset are same as Entry Address/offset. Does this mean that it failed while trying to load the C module(i.e CBOXAA).
The linkcard has:
MODE AMODE(31),RMODE(24)

Do I need to change it to RMODE(ANY) ?
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: Tue Jul 29, 2008 11:12 pm
Reply with quote

Hello,

Quote:
Is it this information ?
Yes. The 0c4 (which was the kind of error i was looking for) may not be "your code" but an interface/link issue.

Quote:
Do I need to change it to RMODE(ANY) ?
I'd suggest you talk with the people who support the compiler/link editor. Your link should be the same as other similar links - there should be standard compile/link jcl that is used.

Have you checked the linkedit to make sure there are no errors/warnings?

Did this program previously call the C module successfully? If yes, what changed in the program or the link since when it worked?

If this is a new PLI program, i'd suggest you compare this to one that works and make sure they are done the same way.
Back to top
View user's profile Send private message
arnab

New User


Joined: 13 Mar 2006
Posts: 59
Location: UK

PostPosted: Wed Jul 30, 2008 1:23 pm
Reply with quote

Thanks ..!

This is not a PLI program and strangely it doesn't fail very often. This code failed only for a particular case , then ran fine for the remaining. There has not been any recent changes to the program. This problem seems to be existing for a long time and was not analyzed earlier as it only fails once/twice a month.
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: Wed Jul 30, 2008 4:57 pm
Reply with quote

Quote:
This is not a PLI program and strangely it doesn't fail very often. This code failed only for a particular case , then ran fine for the remaining. There has not been any recent changes to the program. This problem seems to be existing for a long time and was not analyzed earlier as it only fails once/twice a month.
What this is telling me is that the S0C4 is data-based, that is, there is a path through your code that is only exercised every now and then but when it does the program fails. Changing RMODE may or may not make a difference to the problem; it depends on what's causing the failure. If the problem is the data causes a reference to the 20000th element of a 5000 element array, no RMODE would ever help. I would expect more frequent failures if RMODE was involved.
Back to top
View user's profile Send private message
arnab

New User


Joined: 13 Mar 2006
Posts: 59
Location: UK

PostPosted: Wed Jul 30, 2008 5:10 pm
Reply with quote

Thanks Robert.
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 -> ABENDS & Debugging

 


Similar Topics
Topic Forum Replies
No new posts Finding and researching jobs All Other Mainframe Topics 0
No new posts Compile Several JCL JOB Through one r... CLIST & REXX 4
No new posts Using API Gateway from CICS program CICS 0
No new posts Write line by line from two files DFSORT/ICETOOL 7
No new posts Compile rexx code with jcl CLIST & REXX 6
Search our Forums:

Back to Top