- Community Home
- >
- Servers and Operating Systems
- >
- Operating Systems
- >
- Operating System - OpenVMS
- >
- Delpen macro
Categories
Company
Local Language
Forums
Discussions
Forums
- Data Protection and Retention
- Entry Storage Systems
- Legacy
- Midrange and Enterprise Storage
- Storage Networking
- HPE Nimble Storage
Discussions
Discussions
Discussions
Discussions
Forums
Forums
Discussions
Discussion Boards
Discussion Boards
Discussion Boards
Discussion Boards
- BladeSystem Infrastructure and Application Solutions
- Appliance Servers
- Alpha Servers
- BackOffice Products
- Internet Products
- HPE 9000 and HPE e3000 Servers
- Networking
- Netservers
- Secure OS Software for Linux
- Server Management (Insight Manager 7)
- Windows Server 2003
- Operating System - Tru64 Unix
- ProLiant Deployment and Provisioning
- Linux-Based Community / Regional
- Microsoft System Center Integration
Discussion Boards
Discussion Boards
Discussion Boards
Discussion Boards
Discussion Boards
Discussion Boards
Discussion Boards
Discussion Boards
Discussion Boards
Discussion Boards
Discussion Boards
Discussion Boards
Discussion Boards
Discussion Boards
Discussion Boards
Discussion Boards
Discussion Boards
Discussion Boards
Discussion Boards
Discussion Boards
Discussion Boards
Discussion Boards
Community
Resources
Forums
Blogs
- Subscribe to RSS Feed
- Mark Topic as New
- Mark Topic as Read
- Float this Topic for Current User
- Bookmark
- Subscribe
- Printer Friendly Page
- Mark as New
- Bookmark
- Subscribe
- Mute
- Subscribe to RSS Feed
- Permalink
- Report Inappropriate Content
тАО05-09-2006 07:04 AM
тАО05-09-2006 07:04 AM
Delpen macro
- Mark as New
- Bookmark
- Subscribe
- Mute
- Subscribe to RSS Feed
- Permalink
- Report Inappropriate Content
тАО05-09-2006 09:08 AM
тАО05-09-2006 09:08 AM
Re: Delpen macro
Simply clearing pcb$v_delpen is NOT sufficient to solve the problem I'm guessing you're faced with.
-- Rob (VMS Engineering)
- Mark as New
- Bookmark
- Subscribe
- Mute
- Subscribe to RSS Feed
- Permalink
- Report Inappropriate Content
тАО05-09-2006 10:48 AM
тАО05-09-2006 10:48 AM
Re: Delpen macro
Interesting concept, I suppose the theory is the $DELPRC code path sees the DELPEN bit set and exits. By clearing the bit, you give $DELPRC a second chance to delete the process and hope it manages to work the second time.
Somewhat Microsoftian logic - keep repeating the same behaviour and hope for a different outcome (I think that's someone's definition of insanity ;-).
I've searched archives which should include all of what used to be in DSN and not found anything that looks like a match.
If you really want to try it (WARNING, one false step will crash your system), you want bit PCB$V_DELPEN in field PCB$L_STS. If you want to bypass all the proper operating system to find and synchronize access to the PCB, you can use SDA to determine the address of PCB$L_STS:
SDA> SET PROCESS/INDEX=process-index
SDA> READ SYSDEF
SDA> EVAL PDB+PCB$L_STS
Check if DELPEN is set (mask value is %X20), then write some MACRO code to dive into CMKRNL and clear it.
I'm deliberately NOT giving you actual code, because if you don't understand how to do it from that description, you really shouldn't be attempting it! Sorry.
Just a reminder - there are an infinite number of ways to crash your system while trying to do this kind of thing, and very small number of ways to get it right.
I agree with Bob that it's extremely unlikely that this method will succeed - if it worked, every support engineer on the planet would know about it, and there would be a SET PROCESS/NODELPEN command in DCL.
- Mark as New
- Bookmark
- Subscribe
- Mute
- Subscribe to RSS Feed
- Permalink
- Report Inappropriate Content
тАО05-09-2006 05:50 PM
тАО05-09-2006 05:50 PM
Re: Delpen macro
welcome to the OpenVMS ITRC forum.
The process might not actually be in SUSP state (check with $ SHOW SYSTEM), but might be in process deletion/rundown, preventing certain utilities to obtain information from that process.
The process is most likely hung due to some un-finished IO-operation or resource problem. The 'OpenVMS way' would be to try to diagnose the situation to find what's preventing the process from being deleted. SDA is your friend. There is also the PWAIT$SDA SDA extension (see OpenVMS Freeware), which can help diagnose hung processes.
Once the situation is understood, it may be possible to clean up the process by satisfying the condition, it may be waiting for.
Volker.
- Mark as New
- Bookmark
- Subscribe
- Mute
- Subscribe to RSS Feed
- Permalink
- Report Inappropriate Content
тАО05-10-2006 04:42 AM
тАО05-10-2006 04:42 AM
Re: Delpen macro
- Mark as New
- Bookmark
- Subscribe
- Mute
- Subscribe to RSS Feed
- Permalink
- Report Inappropriate Content
тАО05-10-2006 05:19 AM
тАО05-10-2006 05:19 AM
Re: Delpen macro
It would be interesting to see this program.
It is best to investigate the current state of the process before doing STOP/ID. Parhaps you can post the result of
SDA> SHOW PROCESS/ID=x
Purely Personal Opinion
- Mark as New
- Bookmark
- Subscribe
- Mute
- Subscribe to RSS Feed
- Permalink
- Report Inappropriate Content
тАО05-10-2006 05:47 AM
тАО05-10-2006 05:47 AM
Re: Delpen macro
You need the IPID (Internal PID) of the process:
SDA> SET PROC/IND=
SDA> SHOW PROC
and the S0 address of PCB+PCB$L_STS
SDA> READ SYSDEF
SDA> EVAL PCB+PCB$L_STS
and - of course - CMKRNL privilege
and good nerves, if you want to try this on a running system ;-)
WARNING: THIS CAN CRASH YOUR SYSTEM, if you make any mistakes while in DELTA in kernel mode. Try it on a test system first, to get used to the way DELTA behaves. DELTA is documented in the OpenVMS Delta/XDelta Debugger Manual.
$ RUN SYS$SHARE:DELTA
ipid;1M
pcb_sts_va/nnnnnnnn nnnnnnnx
exit
$
ipid is the 8-digit HEX IPID of the process
pcb_sts_va is the S0 address obtained with the above EVAL
nnnnnnnx is nnnnnnnn minus 2 (= PCB$L_STS with PCB$M_DELPEN = 2 cleared). Do NOT try this, if the DELPEN bit (=bit 1) is NOT set.
Volker.
- Mark as New
- Bookmark
- Subscribe
- Mute
- Subscribe to RSS Feed
- Permalink
- Report Inappropriate Content
тАО05-10-2006 04:24 PM
тАО05-10-2006 04:24 PM
Re: Delpen macro
following...
http://vmsone.com/~decuslib/vmssig/vms94a/dsj/mnowat.dsj
which seems to do what you describe.
You don't mention platform...
Dave
- Mark as New
- Bookmark
- Subscribe
- Mute
- Subscribe to RSS Feed
- Permalink
- Report Inappropriate Content
тАО05-11-2006 12:08 AM
тАО05-11-2006 12:08 AM
Re: Delpen macro
Purely Personal Opinion
- Mark as New
- Bookmark
- Subscribe
- Mute
- Subscribe to RSS Feed
- Permalink
- Report Inappropriate Content
тАО05-11-2006 12:55 AM
тАО05-11-2006 12:55 AM
Re: Delpen macro
>It does say in the program that it can >causes crashes.
and you feel the need to repeat that because?
I'm sure your sheriff's badge has already been shown, just wondering where the added value is?
Regards Richard Maher
- Mark as New
- Bookmark
- Subscribe
- Mute
- Subscribe to RSS Feed
- Permalink
- Report Inappropriate Content
тАО05-11-2006 06:44 AM
тАО05-11-2006 06:44 AM
Re: Delpen macro
The one difference is that again the mission critical macro you had to go into SDA and get the pcb;100 value and plug into the macro. But again they probably used this one as a base and tweaked it specifically for DTR users.
thanks
- Mark as New
- Bookmark
- Subscribe
- Mute
- Subscribe to RSS Feed
- Permalink
- Report Inappropriate Content
тАО05-11-2006 05:28 PM
тАО05-11-2006 05:28 PM
Re: Delpen macro
The one difference is that again the mission critical macro you had to go into SDA and get the pcb;100 value and plug into the macro
SDA> SET PROC/IND=
SDA> EXA pcb;100
will just dump the first 64. longword of the PCB. Maybe this was just used to obtain the PCB address (the last quadword on the first line displayed).
The macro program MNOWAIT referenced above obtains this address with the EXE$NAMPID internal system routine from the PID.
Volker.
- Mark as New
- Bookmark
- Subscribe
- Mute
- Subscribe to RSS Feed
- Permalink
- Report Inappropriate Content
тАО05-12-2006 06:30 AM
тАО05-12-2006 06:30 AM
Re: Delpen macro
Jthoma01, Volker:
THANKS a lot for adding another tool to my box!
Like you, we sometimes have processes that hang on to locks they should no longer hold, and refuse to be deleted bacause they wait for something that we know will never happen.
Reboot was the ultimate solution, but this tool slices another bit from that ugly lump.
And yes, I know the disclaimers about DELTA.
In a former life on ICL DME we also had a memory inspection-and-manipulation program. As a permanent warning, that program was named DYNAMITE and had to be LOADed from the BWAMM library. Talk about descriptive names!
Again:
MANY thanks. I hope to have little need for it, but WHEN, then I 'll remember you!
Proost.
Have one on me (maybe at the Bootcamp in Nashua?)
jpe