IBM Support

IT36749: In MQ 9.2 .Net client throws System.ArgumentException Exception when using MQGET with waitInterval

Subscribe to this APAR

By subscribing, you receive periodic emails alerting you to the status of the APAR, along with a link to the fix after it becomes available. You can track this item individually or track all items by product.

Notify me when this APAR changes.

Notify me when an APAR for this component changes.

 

APAR status

  • Closed as program error.

Error description

  • When MQGET with waitInterval is called, if the message is large
    enough that the waitInterval passes before the whole message is
    sent to the .Net client then the application has two different
    issues:
    
    
    1. If the queue has more than one message then following
    exception is received by the application :
    
    System.ArgumentException: Offset and length were out of bounds
    for the array or count is greater than the number of elements
    from index to the end of the source collection.
    at System.Buffer.BlockCopy(Array src, Int32 srcOffset, Array
    dst, Int32 dstOffset, Int32 count)
    at IBM.WMQ.Nmqi.MQProxyQueue.AddMessage(MQTSH
    tsh,MQASYNC_MESSAGE async)
    at IBM.WMQ.Nmqi.MQProxyQueueManager.AddMessage(MQTSH tsh)
    at IBM.WMQ.Nmqi.MQEncryptedSocket.Myread(Byte[] buffer, Int32
    offset, Int32 length, Int32 count, MQFAPConnection
    remoteConnection)
    at IBM.WMQ.Nmqi.MQEncryptedSocket.Read(Byte[] buffer, Int32
    offset, Int32 length, MQFAPConnection remoteConnection)
    
    
    2. If the queue has only message then, the application hangs
    forever.
    

Local fix

  • When performing the MQGET use a higher wait interval so that
    delivery of the messages can complete before the next interval.
    

Problem summary

  • ****************************************************************
    USERS AFFECTED:
    Users using managed .Net client application to get message with
    waitInterval set.
    
    
    Platforms affected:
    Linux on x86-64, Windows
    
    ****************************************************************
    PROBLEM DESCRIPTION:
    A coding error in MQ .NET code meant an incorrect byte value
    being sent to server while requesting a message after the wait
    interval is elapsed. This caused the server to skip a
    notification flag causing this issue.
    

Problem conclusion

  • MQ  .NET code has been corrected which now sends correct byte
    value on a request message to server which can deal with lesser
    wait interval for large messages.
    
    ---------------------------------------------------------------
    The fix is targeted for delivery in the following PTFs:
    
    Version    Maintenance Level
    v9.2 LTS   9.2.0.7
    v9.3 LTS   9.3.0.2
    v9.x CD    9.3.2
    
    The latest available maintenance can be obtained from
    'WebSphere MQ Recommended Fixes'
    http://www-1.ibm.com/support/docview.wss?rs=171&uid=swg27006037
    
    If the maintenance level is not yet available information on
    its planned availability can be found in 'WebSphere MQ
    Planned Maintenance Release Dates'
    http://www-1.ibm.com/support/docview.wss?rs=171&uid=swg27006309
    ---------------------------------------------------------------
    

Temporary fix

Comments

APAR Information

  • APAR number

    IT36749

  • Reported component name

    MQ BASE V9.2

  • Reported component ID

    5724H7281

  • Reported release

    921

  • Status

    CLOSED PER

  • PE

    NoPE

  • HIPER

    NoHIPER

  • Special Attention

    NoSpecatt / Xsystem

  • Submitted date

    2021-04-30

  • Closed date

    2022-11-22

  • Last modified date

    2022-12-09

  • 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

    MQ BASE V9.2

  • Fixed component ID

    5724H7281

Applicable component levels

[{"Business Unit":{"code":"BU059","label":"IBM Software w\/o TPS"},"Product":{"code":"SSYHRD","label":"IBM MQ"},"Platform":[{"code":"PF025","label":"Platform Independent"}],"Version":"921","Line of Business":{"code":"LOB45","label":"Automation"}}]

Document Information

Modified date:
09 December 2022