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:
- Generate a trace of the client application while the problem is happening.
- If the client application is receiving an unexpected error from a remote queue manager, generate a simultaneous MQ trace of that queue manager:
- 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 V220.127.116.11 or later, or V18.104.22.168 or later, the mqconfig command is already available as part of the MQ server installation.
Step 2: Collect Data
- 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.
- 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, V22.214.171.124 or later, or V126.96.36.199 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 usage from a client
- If your system has more than one MQ installation, use the setmqenv command to choose the one with the problem before proceeding:
Linux and UNIXsh> . /path/to/mqm/bin/setmqenv -n InstallationX
WindowsC:\> "C:\Program Files\IBM\MQ\bin\setmqenv" -n InstallationX
- Record the MQ version and maintenance level.
- Record the operating system version and maintenance level.
- Save the MQ configuration information, for example registry keys and ini files.
- If your system has more than one MQ installation, record your MQ installation details:
Linux and UNIXsh> dspmqinst > /tmp/dspmqinst.txt
WindowsC:\> dspmqinst > %TEMP%/dspmqinst.txt
- On MQ server installations, record the status of your queue managers:
Linux and UNIXsh> dspmq -a > /tmp/dspmq.txt
WindowsC:\> dspmq -a > %TEMP%/dspmq.txt
IBM i Command Line===> WRKMQM
IBM i Qshell===> /QSYS.LIB/QMQM.LIB/DSPMQ.PGM -a > /tmp/dspmq.txt
- On MQ server installations, record the MQ processes active on your system:
Linux and UNIXsh> ps -ef | grep mq > /tmp/ps.txt
WindowsC:\> 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 Serverosh> ps -ef > /tmp/ps.txt
- On MQ server V7.1 and later server installations, use dmpmqcfg to record the queue manager configuration:
Linux and UNIXsh> dmpmqcfg -m QMA > /tmp/QMA.config.txt
WindowsC:\> dmpmqcfg -m QMA > %TEMP%\QMA.config.txt
IBM i Qshell===> /QSYS.LIB/QMQM.LIB/DMPMQCFG.PGM -m QMA > /tmp/QMA.config.txt
- 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
- 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
- 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 UNIXsh> netstat -an
Displaying network connections on WindowsC:\> 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
- 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
- Send your data to the IBM ECuRep repository by email to firstname.lastname@example.org, by standard or secure HTTP or FTP. or by using the IBM Secure Diagnostic Data Upload Utility (SDDUU) Java application.
- 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.
- 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.
IBMMQ WebSphere MQ WMQ
Was this topic helpful?
02 March 2021