Skip Ribbon Commands
Skip to main content
Navigate Up
Sign In

Quick Launch

Average Rating:

(39 Ratings)
facebook Twitter
Email
Print Bookmark Alert me when this article is updated

Feedback

Utility to retrieve the stack trace from a core file or a hanging Informatica process (pmstack)
Problem Description

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. ​​

Cause
Solution

The pmstack utility can be used to extract the stack trace from a core file or a hanging/slow Informatica process (pmserver, pmrepserver, etc.) on UNIX.

  1. Log on as the UNIX user that starts the Informatica process.

  2. Go to the <INFA_HOME>/tools/debugtools/pmstack/ directory.

  3. Run the following commands: 

  4. Execute the utility with one or more of the following options:

  5. Parameter

    Flags

    Required / Optional

    Mode (Core File/Process)

    Des​​cription

    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 core using gdb as the debugger:

    pmstack

    To analyze a core file called core using dbx as the debugger:

    pmstack -d dbx

    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

    1. To determine the process ID execute the following command:

    ps -ef | grep process_name

    2. Starting from Informatica 10.4.1 version, PMSTACK utility is available in $INFA_HOME/tools/debugtools/infaDump directory.​

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.
  3. Send the stack trace output created to Informatica Global Customer Support.


Running Process

To obtain a stack trace from a PowerCenter process (pmdtmpmserver, pmrepagent,pmdtmsvc2{Informatica Data Quality specific process}) using pmstack, do the following:

  1. Determine the Process ID of the PowerCenter process.

    For further details refer to the following KBs:

    HOW TO: Determine the process ID (PID) of a specific PowerCenter session process (KB 31655)

    HOW TO: Determine the process associated with an Integration Service or Repository Service (KB 21226)

  2. Login 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:

  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.​

More Information
If the core file is called core, pmstack renames it to core_<currentpid>.

Trace file will be called <corefile_name>.trace or pid_<currentpid>.trace.


If your OS is SUSE Linux, then you would not get any stack information (that is, "in ?? ()"). You need to use the flag "-e" (available in pmstack v7) and specify the executable name.

Applies To
Product: PowerCenter; Data Quality; Metadata Manager; PowerExchange
Problem Type: Crash/Hang; Performance; Stability
User Type: Administrator
Project Phase: Optimize
Product Version: Data Explorer; Data Quality; Informatica 9.x; PowerCenter; PowerCenter 8.x; PowerCenter 9.x; Informatica 10.x
Database:
Operating System: Linux; AIX; Solaris; SUSE; HP-UX
Other Software:

Reference
The pmstack utility requires GDB that can be found at GDB: The GNU Project Debugger. It also supports the Solaris MDB debugger.

Attachments
Last Modified Date:8/5/2020 4:26 AMID:13652
People who viewed this also viewed

Feedback

Did this KB document help you?



What can we do to improve this information (2000 or fewer characters)