How to read Stack Trace

Progress: 10.2B
Backend: Linux
Frontend: Windows client

Appserver reported table lock, with stack trace similar to the following,

Code:
** ABL Stack Trace **
--> ORDLCal5.P (/abase/clientx/order/ORDLCal5.r) at line 1121
    ORDHCAL1.P (/abase/clientx/order/ORDHCAL1.r) at line 2054
    ORDCAL00.P (/abase/clientx/order/ORDCAL00.r) at line 3068

But the line numbers don't seem to match the original program (am I mistaken about this?). So how will I be able to locate the extract line causing the table lock?
 

GregTomkins

Active Member
By "original program" I assume you mean "source code", and of course, yes, they match the source code. The compiled .R code has no notion of line numbers, other than being able to cross-reference back to the source file line numbers.

Basically, unless you have access to source, the line #'s are meaningless and you have no realistic way of figuring out lock problems in detail.

One other complication is how line numbers account for include files. I am fuzzy about this because it seems like sometimes they account for them and other times they don't; in this example, I would expect them to, which makes the task harder. Someone more clever can probably explain this.

Finally, I am curious that P4GL code would ever take a table lock, and, I am wondering how exactly those messages were generated? (But if you don't have source, you won't know either).
 
By "original program" I assume you mean "source code", and of course, yes, they match the source code. The compiled .R code has no notion of line numbers, other than being able to cross-reference back to the source file line numbers.

Basically, unless you have access to source, the line #'s are meaningless and you have no realistic way of figuring out lock problems in detail.

One other complication is how line numbers account for include files. I am fuzzy about this because it seems like sometimes they account for them and other times they don't; in this example, I would expect them to, which makes the task harder. Someone more clever can probably explain this.

Finally, I am curious that P4GL code would ever take a table lock, and, I am wondering how exactly those messages were generated? (But if you don't have source, you won't know either).

Yes, I guess the line should be some where in an include file.
 
Top