Introduction
- A tool to capture the native thread stacks on dtm/java process or any process running on Linux/AIX/Solaris server.
Usecase / Scenario
- When running an application on UNIX, it may fail with a signal exception and cause a core file, or it may stop responding (hang) and must be killed causing a core file.
The pmstack utility is a UNIX script file that retrieves the stack trace from a core file and creates an output file that can be sent to Informatica support for analysis of the issue.
Features
- The pmstack utility can be used to extract the stack trace from a core file or a hanging/slow Informatica process (pmserver, pmrepserver, pmdtmsvc2, java, etc.) on UNIX.
Usage / Example
- How to launch the tool
- Log on as the UNIX user that starts the Informatica process.
- Go to the <INFA_HOME>/tools/debugtools/pmstack/ directory.
- Execute the utility with one or more of the following options:
Parameter | Flags | Required / Optional | Mode (Core File/Process) | Description |
Debugger Name | -d | Optional | Core file mode/Process mode | Specify dbx or gdb as debugger name. Default debugger is gdb. |
Corefile Name | -c | Optional | Core file mode | Specify the core file name. Default file name is core. |
Process ID | -p | Optional | Process mode | Specify the hanging/slow process ID to be analyzed. |
Executable name | -e | Optional | Core file mode | Optional in corefilemode. Executable name on which the core file was generated. Use this to force the utility to use the executableName for crash report generation. Only executables under INFA_HOME and “JAVA” are supported. |
Ignore Proc Stack | -i | Optional | Process mode AIX ONLY | Ignores procstack utility and uses dbx to collect stack from a hung process on AIX. This option has effect only on AIX and when used in processmode. |
NOTE:
If pmstack fails with unable to find the name of the executable, the -e parameter must be used with the exact path included.
Usage Examples
- To analyze a core file called corefile_name with dbx as debugger:
pmstack -c corefile_name -d dbx - To analyze a process with a process ID pid with gdb as debugger:
pmstack -p pid - To analyze a process with a process ID pid with dbx as debugger:
pmstack -p pid -d dbx
Note
To determine the process ID execute the following command:
ps -ef | grep process_name
Core File
To obtain a stack trace from a core file created by a PowerCenter process using pmstack, do the following:
- Go to the <INFA_HOME>/tools/debugtools/pmstack/ directory.
- Run pmstack on the core file.
Example
./pmstack -c <INFA_HOME>/server/bin/core.12345
For details on options refer to the More Information section.
Send the stack trace output created to Informatica Global Customer Support.
Running Process
To obtain a stack trace from a PowerCenter process (pmdtm, pmserver, pmrepagent,pmdtmsvc2{Informatica Data Quality specific process}) using pmstack, do the following:
- Log in to the UNIX machine as the owner of the pmdtm process found in step 1.
- The owner can be found using the following command:
ps -ef | grep pid
Example output: Here, the owner is etladmin: - Go to the <INFA_HOME>/tools/debugtools/pmstack/ directory.
- Run the pmstack on the process.
Example
./pmstack -p process_id
For details on options, refer to the More Information section.
5. Send the stack trace output created to Informatica Global Customer Support.
Files (Runnable & Source Code)
- Executable Script : pmstack
- Location in Informatica Server : INFA_HOME/tools/debugtools/infaDump/pmstack
System Requirement
- Informatica Server files
Comments