IBM Support

IV16557: XMS .NET CLIENT V2.0 APPLICATION RECEIVES XMSWMQ0033 AND RC 2019 DURING POISON MESSAGE HANDLING.

Subscribe

You can track all active APARs for this component.

 

APAR status

  • Closed as program error.

Error description

  • Application error:
    Exception in IBM MQ Exception Recd Code:XMSWMQ0033, Msg:
    The backout requeue name for destination {0} cannot be converted
    from the queue manager's coded character set id {1}. XMSWMQ0033.
    explanation Check the backout requeue name and the queue
    manager's coded character set id.
    ...
    Inner Exception :
    Exception Recd Code:XMSWMQ0030, Msg:{0} failed for destination
    {1} when handling a poison message.
    XMSC_DESTINATION_NAMEP595RKXMSC_INSERT_METHODMQINQ
    When requeuing a poison message, {0} failed when called for
    the destination {1}.
    Please see the linked exception for more information on
    the failures and/or warnings.
    ...
    Inner Exception :
    Exception Recd Msg:2019
    Inner Exception :
    Exception Recd Msg:
    Exception of type 'IBM.WMQ.Nmqi.NmqiException'
    was thrown.
    At this point poison messages handled by XMS remain in the
    uncommitted state after been moved to the backout queue
    (BO QUEUE) and put back to the original queue once the
    application ends.
    

Local fix

Problem summary

  • ****************************************************************
    USERS AFFECTED:
    XMS .Net users connecting to WMQ in asynchronous mode and making
    of XMS poison message handling
    
    Platforms affected:
    Windows
    
    ****************************************************************
    PROBLEM SUMMARY:
    When Async Message processing is going on and sametime some
    other
    thread comes and closes the session, while close and message
    processing in progress, Consumer.Close(closes hobj) executes
    first,then Nmqi's dispatcher thread comes with a message into
    XMS,
    which first checks for poisonousness of the message(delCount >
    n),
    during this checking, XMS issues MQINQ using Consumer's hobj
    onto
    destination(Queue) to know the backout attributes like BOTHRESH
    and BO QUEUE, exactly at this point we see a 2019 error, quite
    obvious as the hobj is already closed.
    

Problem conclusion

  • When a Session.Close is issued, we first attempt to stop the
    message delivery - which is by Session.Stop, which issues a
    MQCLT_STOP to stop the asyncConsume.
    Wait for current  dispatcher's job(if at all in OnMessage) to
    complete.
    Issue Consumer.Close now, its safe as the message delivery is
    stopped.
    Issue Session.Close.
    
    The above order should have been followed, the APAR fix has
    corrected the code and the above order is followed strictly.
    

Temporary fix

Comments

APAR Information

  • APAR number

    IV16557

  • Reported component name

    MSG SRVCS CL .N

  • Reported component ID

    5724M2100

  • Reported release

    200

  • Status

    CLOSED PER

  • PE

    NoPE

  • HIPER

    NoHIPER

  • Special Attention

    NoSpecatt

  • Submitted date

    2012-03-01

  • Closed date

    2012-04-27

  • Last modified date

    2012-04-27

  • APAR is sysrouted FROM one or more of the following:

  • APAR is sysrouted TO one or more of the following:

Fix information

  • Fixed component name

    MSG SRVCS CL .N

  • Fixed component ID

    5724M2100

Applicable component levels

  • R200 PSY

       UP

[{"Business Unit":{"code":"BU048","label":"IBM Software"},"Product":{"code":"SSCRTPP","label":"SupportPac"},"Component":"","ARM Category":[],"Platform":[{"code":"PF025","label":"Platform Independent"}],"Version":"2.0","Edition":"","Line of Business":{"code":"","label":""}}]

Document Information

Modified date:
27 April 2012