[Info-vax] hung program location

Tom Adams w.tom.adams at gmail.com
Tue Feb 19 08:26:44 EST 2013


On Feb 18, 6:32 pm, koeh... at eisner.nospam.encompasserve.org (Bob
Koehler) wrote:
> In article <f0482c25-2864-43f1-9590-96dba35d3... at ia3g2000vbb.googlegroups.com>, Tom Adams <w.tom.ad... at gmail.com> writes:
>
> > I can see the PC and SP where a program is hung using SHOW PROC/CONT.
>
> > How can I relate that to a link map to figure out where the process is
> > hung in the program that it is running?
>
> > The process is running an installed shared image
>
> > This is VMS 7.3-2 on an alpha
>
> > Thanks.
>
>    If you posted the value, it would already give us a hint at how to
>    help you.
>
>    The link map from building the program will contain something near the
>    PC if it is part of your code.  If the address is in system space, then
>    the OS link map will contain it, but you probably don't have a copy.
>    There are other ways to find it.
>
>    If the address is in a library, the library boundaries could show
>    up on the link map.  Depends on whether you did a full map, IIRC.
>
>    Most likely, the PC is in system space, since system routines actually
>    implement program waits.  System space values would most likely be
>    between FFFFFFFF80000000 and FFFFFFFFFFFFFFFF, and certainly above
>    8000000000000000.
>
>    If the program state is COM, or is changing, then some of the time
>    the PC may be pointing to your code.  Look for an address below
>    000000007FFFFFFF.
>
>    VMS programs are broken into program sections, and you want to look
>    for your PC in the code program section.  Look for $CODE$ on an Alpha
>    link map.
>
>    Most likely the exact value won't be there.  If it's your code, there
>    will be a slightly smaller value, and the difference is the offset
>    into the routine that starts at that smaller value.
>
>    If you compile with a listing file and include the machine code, you
>    can find that offset in your code and relate it to a line of code.
>
>    If you did not generate compiler listings and full maps when you
>    built the code, you can generate them now, if you have exactly the
>    same source, are using the same versions of compilers, and use exactly
>    the same qualifiers that you did when the program was built, except
>    adding the listing, machine code, map, and full qualifiers.

The PC is 80141918 (as shown on show proc/cont)  The process
is in HIB when it's at that address.

The code is well controlled in CMS so it's easy produce link maps.

I restarted the hung processes.  This hanging is a rare event that I
don't know how to reproduce.  But the process does pause at that PC
in HIB during a normal operation mode.




More information about the Info-vax mailing list