pmstack

Version 2

    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
      1. Log on as the UNIX user that starts the Informatica process.
      2. Go to the <INFA_HOME>/tools/debugtools/pmstack/ directory.
      3. Execute the utility with one or more of the following options:

     

    Parameter

    Flags

    Required / Optional

    Mode (Core File/Process)

    Description

    Debugger Name-dOptionalCore file mode/Process modeSpecify dbx or gdb as debugger name. Default debugger is gdb.
    Corefile Name-cOptionalCore file modeSpecify the core file name.
    Default file name is core.
    Process ID-pOptionalProcess modeSpecify the hanging/slow process ID to be analyzed.
    Executable name-eOptionalCore file modeOptional 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-iOptionalProcess 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

    1. To analyze a core file called corefile_name with dbx as debugger:
      pmstack -c corefile_name -d dbx

    2. To analyze a process with a process ID pid with gdb as debugger:
      pmstack -p pid

    3. 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:

    1. Go to the <INFA_HOME>/tools/debugtools/pmstack/ directory.
    2. 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:

    1. Log in to the UNIX machine as the owner of the pmdtm process found in step 1.
    2. The owner can be found using the following command:
      ps -ef | grep pid
      Example output:  Here, the owner is etladmin:
    3. Go to the <INFA_HOME>/tools/debugtools/pmstack/ directory.
    4. 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
    • P4 Location : //ssg/supportbin/source/pmstack/

    System Requirement

    • Informatica Server files

    More Info