Troubleshooting
Problem
Environment
Resolving The Problem
- What data conversion problem did you observe on the system?
- What is the MQMD.Format of the message and its original MQMD.CodedCharSetId (CCSID)?
- What is the intended MQMD.CodedCharSetId to which the message should be converted?
- Which specific characters in the message are invalid, and which did you expect to see instead?
Step 1: Generate Data
If the data conversion problem is reproducible or is happening right now, generate data to provide more information about the problem:
- Browse the message immediately after it has been put to an MQ queue using a sample program like the amqsbcg. It is important to see the message in hex in order to examine the MQMD header and the byte values of the message data. For example:
Browsing Source.Queue on queue manager QMA
amqsbcg Source.Queue QMA > Source.Queue.browse.txt - Generate a trace of the queue manager while the application is putting the message:
- If the message contents are corrupted while flowing over an MQ channel with CONVERT(YES), generate trace of the queue manager while the message is flowing across the sending channel:
- Browse the message using a sample program like amqsbcg just before it is retrieved by the target application. For example, to browse messages on a queue called 'Target.Queue' on queue manager called 'QMA', enter this command:
amqsbcg Target.Queue QMA > Target.Queue.browse.txt - If the message contents are corrupted when the target application gets the message, generate a trace of the queue manager while the application is getting the message:
Step 2: Collect Data
Collecting Data Automatically
If you are running IBM MQ V9.2, V9.1, V9.0 or V8.0, IBM WebSphere MQ V7.5, V7.1.0.1 or later, or V7.0.1.8 or later collect data automatically with the runmqras command on both sides of the channel . Be sure to collect the runmqras defs and trace sections, and to specify your case number:
runmqras -section defs,cluster,trace -qmlist QMA -caseno TS001234567
Collecting IBM MQ Data Manually
-
If your system has more than one IBM 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
-
Record the IBM MQ version and maintenance level on both sides of the channel. Alternatively, collect the IBM MQ data manually on both sides of the channel.
-
Record the Operating System version and maintenance level on both sides of the channel.
-
Record the IP addresses and hostnames of the systems on both sides of the channel.
-
Save the IBM MQ configuration information, for example, registry keys and .ini files.
-
If your system has more than one IBM MQ installation, record your IBM MQ installation details:
Linux and UNIX
sh> dspmqinst > /tmp/dspmqinst.txt
Windows
C:\>dspmqinst > %TEMP%/dspmqinst.txt
-
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
-
Record the IBM 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
-
On WebSphere MQ V7.1 and later installations, use dmpmqcfg to record the queue manager configuration:
Linux and UNIX
sh> dmpmqcfg -m QMA >/tmp/QMA.config.txt
Windows
C:\> dmpmqcfg -mQMA>%TEMP%\QMA.config.txt
IBM i Qshell
===> /QSYS.LIB/QMQM.LIB/DMPMQCFG.PGM -mQMA > /tmp/QMA.config.txt
-
Otherwise, on IBM WebSphere MQ V7.0 and earlier installations, use runmqsc to record the queue manager configuration . If any command returns 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 IBM MQ server installations, use runmqsc to record status information from the queue manager . If any command returns 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 channel 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)
-
Manually package your files for IBM , including files containing the output from the commands listed in Step 1 and 2.
Step 3: Send Data to IBM
A good description of the problem and the data is the most important information you can provide to IBM. Please do not send data without providing a description!
- See Exchanging information with IBM Software Support for FTP and email instructions.
- Go to the IBM My Support site to open or update a case.
Note: Always update your case to indicate that data was sent
- If you need to speak with IBM Software Support, contact your country representative. If you need to speak with IBM Software Support in the US, you can call 1-800-IBM-SERV.
Product Synonym
IBMMQ WebSphere MQ WMQ
Was this topic helpful?
Document Information
Modified date:
02 April 2021
UID
swg21291333