|
The Dump Call Stack (DMPCLLSTK) command is available for download to use with Domino releases prior to 7.0.2. Starting in Domino 7.0.2 and Domino 8.0, the DMPCLLSTK command is replaced with Dump Job Call Stacks (DMPJOBCLLS) and Dump Domino Server Call Stacks (DMPDOMSVRC) commands that are included with Domino for i5/OS. For more information on the commands, see Implementing Domino 7 on i5/OS (Redbook: SG24-7311)
Table of Contents
Purpose
The DMPCLLSTK command is a tool that can be used to dump the call stack of a particular job. The DMPSVRSTKS command is a tool that can be used to dump the call stacks of all of the jobs running in a Domino subsystem. It is for i5/OS use only.
The tools can be useful in problem determination for hangs and other types of situations. One spool file per job is created with the call stacks of all the threads for that job in that spool file.
These utilities are provided as is. Read the information below under "License, disclaimer and copyright" for more information regarding the usage.
DMPCLLSTK and DMPSVRSTKS runs on i5/OS version V5R1 or later.
Caution:
These programs use i5/OS APIs to retrieve the call stack of a job. It is possible that the APIs will not return any data for the call stack information and thus no call stacks will be printed.
License, disclaimer, and copyright
This example contains programming source code (sample code) for your consideration to use to print the call stack of a particular job or the call stacks for every job running under a Domino subsystem. IBM grants you a nonexclusive copyright license to use this sample code internally within your organization. This sample code has not been thoroughly tested under all conditions. IBM, therefore, cannot guarantee or imply reliability, serviceability or function of this sample code. IBM does not provide program services for this sample code. All sample code contained herein is provided to you "AS IS" without any warranties of any kind. The implied warranties of merchantability, fitness for a particular purpose and non-infringement are expressly disclaimers. Some jurisdictions do not allow the excluding of implied warranties, so the above exclusions may not apply to you. In no event will IBM be liable to any party for any direct, indirect special or other consequential damages for any use of this sample code including, without limitation, any lost profits, business interruption, loss of programs or other data on your information handling system or otherwise, even if we are expressly advised of the possibility of such damages.
(C) COPYRIGHT IBM CORP. 2003
ALL RIGHTS RESERVED.
US GOVERNMENT USERS RESTRICTED RIGHTS -
USE, DUPLICATION, OR DISCLOSURE RESTRICTED
BY GSA ADP SCHEDULE CONTRACT WITH IBM CORP.
LICENSED MATERIALS - PROPERTY OF IBM
Support
The DMPCLLSTK and DMPSVRSTKS commands and programs are provided "AS IS".
Download and Installation Instructions
-
Sign on to the system with a profile that has command line capabilities and go to an System i command line.
Enter the command:
DLTF FILE(QGPL/DMPSVRSTKS)
This command will delete a save file if it exists in library QGPL.
Enter the command:
CRTSAVF FILE(QGPL/DMPSVRSTKS) TEXT('Dump call stacks')
This command creates a save file in library QGPL
-
Download the dmpsvrstks.bin save file to your PC. "dmpsvrstks.bin" is a binary file that you will be copying to the target System i via FTP or other file transfer method. Keep track of the file and path name where you store the file on your PC, for use in subsequent steps.
NOTE: The file dmpsvrstks.bin is a SAVE FILE (type *SAVF) and is NOT a self-extracting executable. The dmpsvrstks.bin contains both the DMPCLLSTK and DMPSVRSTKS commands and programs.
-
Use the following instructions to place the file on your System i, in the save file created in Step 1. You must have an System i user profile in order to transfer the file to the System i.
NOTE: These instructions assume you named the file c:\dmpsvrstks.bin on your PC and you created a save file on the System i named QGPL/DMPSVRSTKS - You may change these names to match the names you used above in Steps 1 and 2:
ftp [your System i system name or IP address]
Enter your System i user ID, press Enter
When you are prompted for your password, enter your System i password and press Enter
Type "binary" to set the file type to binary
Type "put c:\dmpsvrstks.bin qgpl/dmpsvrstks"
quit
-
At this point you now have the DMPSVRSTKS savefile on the AS400 system, and you must now restore the programs from the savefile.
Sign on to the System i with a user profile that has command line capabilities.
Enter following command:
RSTOBJ OBJ(*ALL) SAVLIB(QGPL) DEV(*SAVF) SAVF(QGPL/DMPSVRSTKS)
This will restore the commands DMPCLLSTK and DMPSVRSTKS and the programs DMPCLLSTK and DMPSVRSTKS. A REXX source file is also restored.
If any errors occur, review QHST and your joblog. Take note of errors for further troubleshooting.
Using DMPCLLSTK and DMPSVRSTKS
The DMPCLLSTK command is invoked by providing the 6 digit Job Number. If your job name were: 123456/QNOTES/SERVER, then doing: DMPCLLSTK JOBNUMB(123456) would dump the call stacks for all the threads running under that job.
If the Domino server were named DOMINO1, you could do: DMPSVRSTKS SERVER(DOMINO1) and this command would figure out which subsystem this Domino server was running in and dump the call stacks for every job running in that subsystem.
A spool file is generated for every job that has it's call stack dumped. If using the DMPCLLSTK command, then one spool file will be created. If using the DMPSVRSTKS command, then a spool file will be created for every job under that associated subsystem.
|