Operating System - OpenVMS
1828362 Members
3602 Online
109976 Solutions
New Discussion

Using GETPROCLOCKS to identofy blockers

 
SOLVED
Go to solution
Michael C Cook
New Member

Using GETPROCLOCKS to identofy blockers

Hello,

Is anyone using, or have heard of a routine for identifying locks called GETPROCLOCKS. It is something I have "inherited" and don't know where it came from (Google seach on the names gives just 1 entry).
The problem is that the Alpha version worked fine for years, but we have now upgraded to Itanium and I can't get it to work. I have tried using AEST to convert the .EXE file but get :-
%AEST-W-PRIVSS, Image calls system service SYS$CMEXEC. Execution of privileged
code in a translated context is not supported
%AEST-W-TRANSWARN, Translation completed with warnings -- review them before usi
ng the output image

I have also tried to recompile the macro and re-link, but getting :-

RX66$ link/sysexe/nosyslib getproclocks

%ILINK-W-NUDFSYMS, 6 undefined symbols:
%ILINK-I-UDFSYM, LIB$GET_FOREIGN
%ILINK-I-UDFSYM, LIB$SET_SYMBOL
%ILINK-I-UDFSYM, OTS$CVT_L_TI
%ILINK-I-UDFSYM, OTS$CVT_L_TZ
%ILINK-I-UDFSYM, OTS$CVT_TZ_L
%ILINK-I-UDFSYM, SYS$CMEXEC
%ILINK-W-USEUNDEF, undefined symbol SYS$CMEXEC referenced

etc...

Cheers,
Mike

8 REPLIES 8
Volker Halle
Honored Contributor

Re: Using GETPROCLOCKS to identofy blockers

Mike,

before trying to debug some unknown code, why don't you try to use the HP Availabilty Manager tool ?

This tool can also identify blocking locks in a cluster.

http://h71000.www7.hp.com/openvms/products/availman/index.html

Look at the Lock Contention Display.

Volker.
Hein van den Heuvel
Honored Contributor

Re: Using GETPROCLOCKS to identofy blockers


Sounds like that program is similar to one I wrote in C years ago.
Check for 'blocking' in my OpenVMS Freeware submission:
http://h71000.www7.hp.com/freeware/freeware60/rms_tools

It's a little ugly to use, but should do the job.

If you want to get this GETPROCLOCKS going, then I would focus on fixing the (Macro) source or maybe just the LINK command.

Why does the program need /NOSYSLIB

Try just linking with only /SYSEXE
It moight not really need that at all either.
It might just need some offset defintions which could better come from LIB.MLB modules

Maybe if you attach the source to a future reply some reader is willing to give it a whirl?

I'm sure plenty of readers here (me) who are interested, and able, to port this tool for fee.

btw... what problem are you really trying to solve? Maybe there are better tools !?!

Hope this helps some,
Hein van den Heuvel (at gmail dot com)
HvdH Performance Consulting
Hein van den Heuvel
Honored Contributor

Re: Using GETPROCLOCKS to identofy blockers

Google found one potentially useful reference to GETPROCLOCK:

http://h71000.www7.hp.com/wizard/wiz_8723.html

Looks like is is walking the lock structures itself, unlike my tool which just calls SYS$GETLKI in a loop.


Have you considers DECAmds for this purpose?

Also... for occastional (locking) problems is may be good enough to just use ANAL/SYSTEM... SET PROC ... SHOW PROC/LOCK --> most interesting lock waiting on top!

Hope this helps some,
Hein van den Heuvel (at gmail dot com)
HvdH Performance Consulting

Michael C Cook
New Member

Re: Using GETPROCLOCKS to identofy blockers

Hello Volker, Hein,

Thank you for replies and interest.
My predecessor implemented this tool, specifically for our 1st-line Helpdesk to identify blockers. Our locks come from Rdb and our more technical people would use rmu/show to debug locks. Getproclocks was a simple non-technical tool for Helpdesk use.

I will certainly take your advise and look into your suggestions (still a bit hectic here after recent upgrade from Alpha to Itanium!).

I will attach all the code for your leisure time.
The .OLD file is the original .COM, and the new one has been customised for us.

Cheers,
Mike
Volker Halle
Honored Contributor
Solution

Re: Using GETPROCLOCKS to identofy blockers

Mike,

just use $ LINK/SYSEXE GETPROCLOCKS

The image then runs without an error message when given a PID. It even correctly reports a lock when run against QUEUE_MANAGER !

I did not test the .COM procedure.

Volker.
Hein van den Heuvel
Honored Contributor

Re: Using GETPROCLOCKS to identofy blockers

Mike,

Just a heads up... the zip file you attached send my Windows XP explorer in a spin. Had to kill and re-run explorer. Pushing (ftp bin) the zip to an OpenVMS box did work though. Tiny program!

Compiled and linked /sysexe seems to work for me!

Did you try to just drop the /NOSYSLIB from the LINK command? Seems to work: it complains with no CMEXEC, it prompts adn is defines a symbol.
Dunno whether it really really works though.

Hein.

http://forums1.itrc.hp.com/service/forums/helptips.do?#28
Volker Halle
Honored Contributor

Re: Using GETPROCLOCKS to identofy blockers

Mike,

BTW, I did test this on an OpenVMS I64 V8.3 system...

Volker.
Michael C Cook
New Member

Re: Using GETPROCLOCKS to identofy blockers

Hello Volker, Hein,

I have it working now.
Thank you both so much for your help.
(My first visit to the HP Forums was a great success!!)
Removing the flag on the Link as you both suggested fixed the problem.
(There was also a bug in the .COM file which was misleading me)

Cheers,
Mike