Portal | Manuals | References | Downloads | Info | Programs | JCLs | Master the Mainframes
IBM Mainframe Computers Forums Index
 
Register
 
IBM Mainframe Computers Forums Index Mainframe: Search IBM Mainframe Forum: FAQ Memberlist Usergroups Profile Log in to check your private messages Log in
 

 

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

 
Post new topic   Reply to topic    IBMMAINFRAMES.com Support Forums -> ABENDS & Debugging
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    Post subject: Finding the line number from compile listing of a C program.
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

Site Director


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

PostPosted: Tue Jul 29, 2008 7:10 pm    Post subject:
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    Post subject:
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    Post subject:
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

Site Director


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

PostPosted: Tue Jul 29, 2008 11:12 pm    Post subject:
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    Post subject:
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: 8055
Location: East Dubuque, Illinois, USA

PostPosted: Wed Jul 30, 2008 4:57 pm    Post subject:
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    Post subject:
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    IBMMAINFRAMES.com Support Forums -> ABENDS & Debugging All times are GMT + 6 Hours
Page 1 of 1

 

Search our Forum:

Similar Topics
Topic Author Forum Replies Posted
No new posts IMS T-Pipe queue counts in a COBOL Pr... Siva NKK Kothamasu IMS DB/DC 0 Tue May 09, 2017 6:31 pm
No new posts SMTP the current generation number of... Jyothi Kulunde JCL & VSAM 4 Thu May 04, 2017 4:08 pm
No new posts Need help in REXX CALL program Raje1002 CLIST & REXX 5 Wed Apr 19, 2017 11:18 pm
No new posts Edit large number of datasets (QSAM) zh_lad TSO/ISPF 3 Tue Apr 04, 2017 6:08 pm
No new posts how to mask the phone number kumarinfy DB2 4 Mon Apr 03, 2017 5:23 pm


Facebook
Back to Top
 
Mainframe Wiki | Forum Rules | Bookmarks | Subscriptions | FAQ | Tutorials | Contact Us