IBM Support

Collect IBM MQ MustGather data to solve data conversion problems on Linux, UNIX, Windows and IBM i

Troubleshooting


Problem

An IBM MQ queue manager is failing to convert a message properly, and you need to collect the MustGather data to find a solution.

Environment

 These instructions apply only to IBM MQ V9.2, V9.1, V9.0 and V8.0, and IBM WebSphere MQ V7.5, V7.1, V7.0 on AIX, HP-UX, Linux, Solaris, Windows and IBM i. Refer to the IBM MQ Read First page for instructions on other operating systems:

Resolving The Problem

Please answer these questions about the problem and then follow the steps below:
 
  • 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:

  1. 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
  2. Generate a trace of the queue manager while the application is putting the message:
  3. 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:
  4. 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
  5. 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

  1. 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
  2. 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.

  3. Record the Operating System version and maintenance level on both sides of the channel.

  4. Record the IP addresses and hostnames of the systems on both sides of the channel.

  5. Save the IBM  MQ configuration information, for example, registry keys and .ini files.

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

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

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

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

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

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

  12. 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)

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

  1. See Exchanging information with IBM Software Support for FTP and email instructions.
  2. Go to the IBM My Support site to open or update a case.       

    Note: Always update your case to indicate that data was sent

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

[{"Line of Business":{"code":"LOB45","label":"Automation"},"Business Unit":{"code":"BU053","label":"Cloud & Data Platform"},"Product":{"code":"SSFKSJ","label":"WebSphere MQ"},"ARM Category":[{"code":"a8m0z00000008JcAAI","label":"Components and Features->Data Conversion"}],"ARM Case Number":"","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 April 2021

UID

swg21291333