IBM Support

Collect IBM MQ MustGather data to solve C, C++, COBOL, .NET, pTAL, RPG and Visual Basic client application problems on Linux, UNIX, Windows, IBM i and HP Integrity NonStop Server

Troubleshooting


Problem

An IBM MQ C, C++, COBOL, .NET, pTAL, RPG or Visual Basic client application is experiencing a problem and you need to collect MustGather data to find a solution.

Resolving The Problem

Please answer these questions about the problem and then follow the steps below:

  • What client application problem did you observe on the system?
  • What time did the client application problem start and when did it stop?
  • What is the client application name, and to what queue manager does it connect?
  • Which SVRCONN channel, queues, and other objects does the client application use?

Step 1: Generate Data

If the client problem is reproducible or is happening right now, generate data to provide more information about the problem:


  1. Generate a trace of the client application while the problem is happening.
  2. If the client application is receiving an unexpected error from a remote queue manager, generate a simultaneous MQ trace of that queue manager:

  3. On Linux and UNIX systems, save the output from the mqconfig command. If you are running IBM MQ V9.0 or V8.0, WebSphere MQ V7.5.0.2 or later, or V7.1.0.3 or later, the mqconfig command is already available as part of the MQ server installation.

Step 2: Collect Data

  1. On UNIX and Linux, place the mqconfig data from Step 1 directly in the top-level MQ errors directory. Both the runmqras automation tool and the manual collection steps below collect files found there.
  2. Collect data automatically using the runmqras command on both systems if you are running IBM MQ V9.0 or V8.0, WebSphere MQ V7.5, V7.1.0.1 or later, or V7.0.1.8 or later. Be sure to collect the runmqras trace section and the defs section from queue managers, and to specify your case number:
          Collecting runmqras output from queue manager QMA
    runmqras -section defs,trace -qmlist QMA -caseno 12345,67R,890

           Collecting runmqras usage from a client

    runmqras -section trace -caseno 12345,67R,890 
Alternatively, collect the MQ data manually on both systems.

Collecting MQ data manually


  1. If your system has more than one MQ installation, use the setmqenv command to choose the one with the problem before proceeding:
     

    Linux and UNIX

    sh> . /path/to/mqm/bin/setmqenv -n InstallationX
     

    Windows

    C:\> "C:\Program Files\IBM\MQ\bin\setmqenv" -n InstallationX

  2. Record the MQ version and maintenance level.
  3. Record the operating system version and maintenance level.
  4. Save the MQ configuration information, for example registry keys and ini files.
  5. If your system has more than one MQ installation, record your MQ installation details:
     

    Linux and UNIX

    sh> dspmqinst > /tmp/dspmqinst.txt
     

    Windows

    C:\> dspmqinst > %TEMP%/dspmqinst.txt

  6. On MQ server installations, record the status of your queue managers:
     

    Linux and UNIX

    sh> dspmq -a > /tmp/dspmq.txt
     

    Windows

    C:\> dspmq -a > %TEMP%/dspmq.txt
     

    IBM i Command Line

    ===> WRKMQM
     

    IBM i Qshell

    ===> /QSYS.LIB/QMQM.LIB/DSPMQ.PGM -a > /tmp/dspmq.txt

  7. On MQ server installations, record the MQ processes active on your system:
     

    Linux and UNIX

    sh> ps -ef | grep mq > /tmp/ps.txt
     

    Windows

    C:\> TASKLIST /V > %TEMP%/tasklist.txt
     

    IBM i Command Line

    ===> WRKACTJOB SBS(QMQM)
     

    IBM i Qshell

    ===> ps -ef | grep mq > /tmp/ps.txt
     

    HP Integrity NonStop Server

    osh> ps -ef > /tmp/ps.txt

  8. On MQ server V7.1 and later server installations, use dmpmqcfg to record the queue manager configuration:
     

    Linux and UNIX

    sh> dmpmqcfg -m QMA > /tmp/QMA.config.txt
     

    Windows

    C:\> dmpmqcfg -m QMA > %TEMP%\QMA.config.txt
     

    IBM i Qshell

    ===> /QSYS.LIB/QMQM.LIB/DMPMQCFG.PGM -m QMA > /tmp/QMA.config.txt

  9. Otherwise, on MQ server V7.0 and earlier server installations, use runmqsc to record the queue manager configuration. If any command gives an error, carry on with the others:

    DISPLAY QMGR ALL
    DISPLAY Q(*) ALL
    DISPLAY SUB(*) ALL
    DISPLAY TOPIC(*) ALL
    DISPLAY CHANNEL(*) ALL
    DISPLAY SERVICE(*) ALL
    DISPLAY PROCESS(*) ALL
    DISPLAY LISTENER(*) ALL
    DISPLAY NAMELIST(*) ALL

  10. On all MQ server installations, use runmqsc to record status information from the queue manager. If any command gives an error, carry on with the others:

    DISPLAY PUBSUB ALL
    DISPLAY QMSTATUS ALL
    DISPLAY CHSTATUS(*) ALL
    DISPLAY LSSTATUS(*) ALL
    DISPLAY SVSTATUS(*) ALL
    DISPLAY SBSTATUS(*) ALL
    DISPLAY CONN(*) TYPE(*) ALL
    DISPLAY QSTATUS(*) TYPE(QUEUE) ALL
    DISPLAY QSTATUS(*) TYPE(HANDLE) ALL
    DISPLAY TPSTATUS('#') TYPE(PUB) ALL
    DISPLAY TPSTATUS('#') TYPE(SUB) ALL
    DISPLAY TPSTATUS('#') TYPE(TOPIC) ALL

  11. If your client is having difficulty connecting, use your operating system tools to list network connections on both sides immediately before and after the connection attempt:
     

    Displaying network connections on Linux and UNIX

    sh> netstat -an
     

    Displaying network connections on Windows

    C:\> NETSTAT -AN
     

    Displaying IPv4 and IPv6 network connections at the IBM i Command Line

    ===> NETSTAT OPTION(*CNN)
    ===> NETSTAT OPTION(*CNN6)
     

    Displaying network connections on HP OpenVMS

    $ MCR SYS$SYSTEM:TCPIP$NETSTAT -an

  12. Manually package your files for IBM, including files containing the output from the commands listed in Steps 1 and 2.

Step 3: Send Data to IBM


  1. Send your data to the IBM ECuRep repository by email to websphere_support@ecurep.ibm.com, by standard or secure HTTP or FTP. or by using the IBM Secure Diagnostic Data Upload Utility (SDDUU) Java application.
  2. While the data is transferring, send an email or use the IBM Service Request tool to update your PMR with your description of the problem and of the data you are sending.
  3. Contact your country representative if you need to speak to an IBM technical support representative, or in the US call 1-800-IBM-SERV. Refer to the IBM Software Support Handbook for more information on working with IBM.

[{"Line of Business":{"code":"LOB45","label":"Automation"},"Business Unit":{"code":"BU053","label":"Cloud & Data Platform"},"Product":{"code":"SSYHRD","label":"IBM MQ"},"ARM Category":[{"code":"a8m0z00000008OhAAI","label":"Components and Features->Administration->Tracing"}],"Platform":[{"code":"PF002","label":"AIX"},{"code":"PF010","label":"HP-UX"},{"code":"PF012","label":"IBM i"},{"code":"PF016","label":"Linux"},{"code":"PF027","label":"Solaris"},{"code":"PF033","label":"Windows"}],"Version":"All Version(s)"}]

Product Synonym

IBMMQ WebSphere MQ WMQ

Document Information

Modified date:
02 March 2021

UID

swg21289820